aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/css-tests/css-transforms-1_dev
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/css-tests/css-transforms-1_dev')
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-001.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-js.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/animations-001.htm53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/backface-visibility-hidden-001.htm57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-001.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-002.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-1.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-10.htm235
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-11.htm178
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-12.htm133
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-13.htm14654
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-14.htm57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-15.htm12716
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-16.htm182
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-17.htm51
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-18.htm60
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-19.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-2.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-20.htm93
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm144
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-3.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-4.htm130
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-5.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-6.htm614
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-7.htm1149
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-8.htm1344
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/chapter-9.htm331
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-rotate-2d-3d-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-scale-nested-001.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-001.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-002.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-negative.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-positive.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-negative.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-positive.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-negative.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-positive.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-negative.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-positive.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-negative.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-positive.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-negative.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-positive.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-transform-style.htm58
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-rotate.htm56
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-scale.htm49
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-property-existence.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-001.htm50
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-002.htm47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-style-evaluation-validation.htm82
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-3d-on-anonymous-block-001.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-transformlist.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-perspective.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-rotateY.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale-002.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale.htm40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/iframe-001.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-001.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-002.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-003.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-004.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-005.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-006.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-x.htm48
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-xy.htm47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-0.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-negative.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-positive.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-notref.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-ref.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/animations-001-ref.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/backface-visibility-hidden-ref.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-001-ref.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-002-ref.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-rotate-2d-3d-001-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-scale-nested-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-001-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-002-ref.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateX-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateY-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateZ-ref.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-transform-style-ref.htm40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-3d-anonymous-block-ref.htm15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-transformlist-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-perspective-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-rotateY-ref.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref-002.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/iframe-001-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-origin-reftest.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-reftest.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/ref-filled-green-100px-square.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-001-ref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-008-ref.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-010-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-alt-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-014-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-016-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-017-ref.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-018-ref.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-019-ref.htm54
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-020-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotateY-ref.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_45deg-ref.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_x_45deg-ref.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_y_45deg-ref.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-optional-second-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-zero-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/scalex-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/scaley-ref.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/skew-test1-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-green.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-lime.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-maroon.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-navy.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-red.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-white.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/3d-filler.html47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-gg-rr.pngbin0 -> 224 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-green.pngbin0 -> 218 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-red.pngbin0 -> 217 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/Three.js682
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/a-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/animations.css80
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/b-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.mp4bin0 -> 1795435 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.ogvbin0 -> 2473623 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.webmbin0 -> 3292555 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/c-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/cat.pngbin0 -> 1883 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-gg-gr.pngbin0 -> 148 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rgr-grg.pngbin0 -> 222 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rrg-rgg.pngbin0 -> 231 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-rgr-grg-rgr.pngbin0 -> 223 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-tr.pngbin0 -> 137 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50%.pngbin0 -> 691 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50px.pngbin0 -> 671 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-100px.pngbin0 -> 760 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-50px.pngbin0 -> 757 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-purple.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-teal.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-white.pngbin0 -> 78 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/static-cube.js52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/support/README4
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/svg-external-styles.css19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-blue.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-green.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-lime.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-orange.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-red.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-white.pngbin0 -> 85 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-yellow.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-bl.pngbin0 -> 1368 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-br.pngbin0 -> 1045 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-inner-half-size.pngbin0 -> 180 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-outer.pngbin0 -> 2412 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tl.pngbin0 -> 1025 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tr.pngbin0 -> 1235 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-iframe-001-contents.html22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.pngbin0 -> 480 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-down.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left-small.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-right.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-up.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-document-styles-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-external-styles-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-combination-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ex-unit-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-relative-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-transform-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-250x250-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-inline-styles-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-clipped-rect-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-four-color-ref.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-cm-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-in-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-pt-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-invalid-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-combination-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ex-unit-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-relative-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-3args-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-45-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-90-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-scale-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewx-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewxy-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewy-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-transform-list-separations-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-abs-unit-combinations-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ex-unit-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-relative-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-relative-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ex-unit-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ex-unit-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-3d-rotateY-stair-above-ref-001.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-abspos-ref.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-001-ref.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-002-ref.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-006-notref.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-1.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-2.htm15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-blank-ref.htm10
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-1.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-2.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-ref.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-descendant-ref.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-notref.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-ref.htm17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-fixed-bg-ref.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-notref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-notref.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-ref.htm17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-iframe-ref.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-image-ref.htm10
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-origin-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-notref.htm11
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-ref.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-001-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-002-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-003-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-004-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-005-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-006-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-007-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-008-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-009-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-010-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-011-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-012-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-013-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-014-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-015-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-016-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-017-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-018-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-019-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-lime-square-ref.htm17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-001-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-002-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-003-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-004-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-notref.htm17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-006-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-007-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-notref.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-ref.htm17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-007-ref.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-01-ref.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-notref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-1.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-2.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-3.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-1.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-2.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-001-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-002-ref.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-notref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-ref.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-propagate-inherit-boolean-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-001-ref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-003-ref.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-004-ref.htm14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-notref.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-ref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-notref.htm17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-ref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rounding-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-percent-ref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-test-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scalex-ref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scaley-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-singular-ref.htm7
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-stresstest-ref.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-notref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-002-notref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-notref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-ref.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-005-notref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-notref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-ref.htm15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-010-notref.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-011-notref.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-block-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-table-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-list-item-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-caption-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-cell-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-footer-group-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-header-group-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-group-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-ref.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translate-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatex-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatey-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-001-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-002-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-003-ref.htm12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-004-ref.htm12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-005-ref.htm12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-001-ref.htm14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-009-ref.htm14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-origin-ref.htm15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-001-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-013-ref.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-notref.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-ref.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-ref.htm12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-transformorigin-ref.htm14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatey-ref.htm12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-notref.htm12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-005-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-007-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-sorting-006-ref.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translate3d-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-notref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-ref.htm13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-degree-90-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-translate-scale-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotateY-degree-60-ref.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewX-ref.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewY-ref.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-optional-second-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-ref.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-preserve-3d-1-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateX-3-ref.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateY-1-ref.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-css-3d-polygon-cycle-ref.htm65
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-rotate-ref.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewx-001.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewy-001.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatex-001.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatey-001.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reftest-toc.htm8289
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/reftest.list1034
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-001.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-002.htm43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-003.htm43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-004.htm62
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-005.htm63
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-006.htm52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-007.htm50
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-008.htm74
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-009.htm74
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-010.htm44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-011.htm53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-012.htm45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-013.htm47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-014.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-015.htm40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-016.htm68
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-017.htm57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-018.htm49
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-019.htm60
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-020.htm61
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-021.htm53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-022.htm83
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/rotate-180-degrees-001.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/rotate-270-degrees-001.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/rotate-90-degrees-001.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/rotateY.htm44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/rotate_45deg.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/rotate_x_45deg.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/rotate_y_45deg.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/scale-optional-second-001.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/scale-zero-001.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/scalex.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/scaley.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/skew-test1.htm52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-green.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-lime.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-maroon.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-navy.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-red.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-white.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/3d-filler.html47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-gg-rr.pngbin0 -> 224 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-green.pngbin0 -> 218 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-red.pngbin0 -> 217 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/Three.js682
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/a-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/animations.css80
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/b-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.mp4bin0 -> 1795435 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.ogvbin0 -> 2473623 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.webmbin0 -> 3292555 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/c-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/cat.pngbin0 -> 1883 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/import-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/import-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-gg-gr.pngbin0 -> 148 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rgr-grg.pngbin0 -> 222 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rrg-rgg.pngbin0 -> 231 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-rgr-grg-rgr.pngbin0 -> 223 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-tr.pngbin0 -> 137 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50%.pngbin0 -> 691 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50px.pngbin0 -> 671 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-100px.pngbin0 -> 760 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-50px.pngbin0 -> 757 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/square-purple.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/square-teal.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/square-white.pngbin0 -> 78 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/static-cube.js52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/support/README4
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/svg-external-styles.css19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-blue.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-green.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-lime.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-orange.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-red.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-white.pngbin0 -> 85 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-yellow.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/test-bl.pngbin0 -> 1368 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/test-br.pngbin0 -> 1045 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/test-inner-half-size.pngbin0 -> 180 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/test-outer.pngbin0 -> 2412 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tl.pngbin0 -> 1025 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tr.pngbin0 -> 1235 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-iframe-001-contents.html22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.pngbin0 -> 480 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-down.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left-small.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-right.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-up.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-001.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-002.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-003.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-004.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-005.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-006.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-007.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-008.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-009.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-010.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-011.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-012.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-013.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-014.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-001.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-002.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-003.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-004.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-005.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-006.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-007.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-008.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-009.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-010.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-011.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-012.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-013.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-014.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-001.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-002.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-003.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-004.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-005.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-006.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-007.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-008.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-009.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-010.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-011.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-012.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-013.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-014.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-015.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-016.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-017.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-018.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-019.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-020.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-021.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-022.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-023.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-024.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-025.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-026.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-027.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-028.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-029.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-030.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-031.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-032.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-033.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-034.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-035.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-036.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-037.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-038.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-039.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-040.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-041.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-042.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-043.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-044.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-045.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-046.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-047.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-048.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-049.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-001.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-002.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-003.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-001.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-002.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-003.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-004.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-005.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-006.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-001.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-002.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-003.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-001.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-002.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-003.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-004.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-005.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-006.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-007.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-008.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-009.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-010.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-011.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-012.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-013.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-014.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-001.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-002.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-003.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-004.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-005.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-006.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-007.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-008.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-009.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-010.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-011.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-012.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-013.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-014.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-015.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-016.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-017.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-018.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-019.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-020.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-021.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-022.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-023.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-024.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-025.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-026.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-027.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-028.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-029.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-030.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-031.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-032.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-033.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-034.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-035.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-036.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-037.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-038.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-039.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-040.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-041.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-042.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-043.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-044.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-045.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-046.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-047.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-048.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-049.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-050.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-051.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-052.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-053.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-054.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-055.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-056.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-057.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-058.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-059.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-060.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-061.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-062.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-063.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-064.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-065.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-066.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-067.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-068.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-069.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-001.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-002.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-003.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-004.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-005.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-006.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-007.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-008.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-001.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-002.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-003.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-004.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-005.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-001.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-002.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-003.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-004.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-005.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-001.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-002.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-003.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-004.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-005.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-001.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-002.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-003.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-004.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-005.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-006.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-007.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-008.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-009.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-010.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-011.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-012.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-013.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-014.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-015.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-016.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-017.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-018.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-019.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-020.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-021.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-022.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-023.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-024.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-025.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-026.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-027.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-028.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-029.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-030.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-031.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-032.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-033.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-034.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-035.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-036.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-037.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-038.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-039.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-040.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-041.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-042.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-043.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-044.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-045.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-046.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-001.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-002.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-003.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-004.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-005.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-006.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-007.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-008.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-009.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-010.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-011.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-012.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-001.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-002.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-003.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-004.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-005.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-006.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-007.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-008.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-009.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-010.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-011.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-012.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-013.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-014.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-015.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-016.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-017.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-018.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-019.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-020.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-021.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-022.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-023.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-024.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-025.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-026.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-027.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-028.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-029.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-030.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-031.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-032.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-033.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-034.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-035.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-036.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-037.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-038.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-039.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-040.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-041.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-042.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-043.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-044.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-045.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-046.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-047.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-048.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-049.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-001.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-002.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-003.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-002.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-003.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-004.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-005.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-006.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-002.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-003.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-003.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-004.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-005.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-006.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-007.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-008.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-009.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-010.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-011.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-012.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-013.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-014.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-015.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-016.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-017.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-018.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-019.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-020.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-021.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-022.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-023.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-003.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-004.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-005.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-001.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-002.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-003.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-004.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-005.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-006.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-007.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-008.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-009.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-010.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-011.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-012.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-013.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-014.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-015.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-016.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-017.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-018.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-019.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-020.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-021.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-022.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-023.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-024.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-025.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-001.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-002.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-003.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-004.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-005.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-006.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-007.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-008.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-009.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-010.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-011.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-012.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-013.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-014.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-015.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-016.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-017.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-018.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-019.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-020.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-021.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-022.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-023.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-024.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-025.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-006.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-007.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-008.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-009.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-010.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-011.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-012.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-013.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-014.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-015.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-016.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-017.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-003.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-004.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-004.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-005.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-001.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-003.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-004.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-005.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-006.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-007.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-008.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-009.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-010.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-011.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-012.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-013.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-014.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-015.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-016.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-017.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-018.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-019.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-020.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-021.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-022.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-023.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-024.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-025.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-001.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-002.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-001.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-002.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-003.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-004.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-005.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-006.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-007.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-008.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-009.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-010.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-011.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-012.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-013.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-014.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-015.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-016.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-017.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-018.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-019.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-020.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-021.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-022.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-023.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-024.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-025.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-006.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-007.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-008.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-009.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-010.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-011.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-001.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-002.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-003.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-004.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-005.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-006.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-007.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-008.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-009.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-010.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-011.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-006.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-007.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-008.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-009.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-010.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-011.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-012.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-013.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-014.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-015.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-016.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-017.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-018.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-019.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-020.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-021.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-022.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-023.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-024.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-025.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-026.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-027.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-028.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-029.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-001.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-006.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-007.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-008.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-009.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-010.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-011.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-012.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-013.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-014.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-015.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-016.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-017.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-018.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-019.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-020.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-021.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-022.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-023.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-024.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-025.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-026.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-027.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-028.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-029.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-030.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-031.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-032.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-033.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-034.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-035.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-036.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-037.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-038.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-039.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-040.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-041.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-042.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-043.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-044.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-045.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-046.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-047.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-048.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-049.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-050.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-051.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-052.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-053.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-054.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-055.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-001.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-002.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-006.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-001.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-002.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-003.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-004.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-005.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-006.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-005.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-006.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-007.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-008.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-006.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-007.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-008.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-009.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-010.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-011.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-012.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-013.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-014.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-015.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-016.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-017.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-018.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-019.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-020.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-021.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-022.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-023.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-024.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-025.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-026.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-027.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-028.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-029.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-030.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-031.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-032.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-033.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-034.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-035.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-036.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-037.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-038.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-039.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-040.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-041.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-042.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-043.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-044.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-045.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-046.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-047.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-048.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-001.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-002.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-003.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-004.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-005.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-006.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-001.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-006.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-007.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-008.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-009.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-010.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-011.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-012.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-013.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-014.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-015.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-016.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-017.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-018.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-019.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-020.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-021.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-022.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-023.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-024.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-025.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-026.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-027.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-028.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-029.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-030.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-031.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-032.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-033.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-034.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-035.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-036.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-037.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-038.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-039.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-040.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-041.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-042.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-043.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-044.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-045.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-046.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-047.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-048.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-001.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-002.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-003.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-004.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-005.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-006.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/toc.htm129
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-2d-getComputedStyle-001.htm117
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-above-001.htm70
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-below-001.htm70
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-001.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-002.htm40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-003.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-004.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-005.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-006.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-007.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-001.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-002.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-003.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-004.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-005.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-006.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-007.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-008.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-compound-001.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-descendant-001.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-001.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-002.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-003.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-004.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-001.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-002.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-003.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-004.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-005.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-006.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-007.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-iframe-001.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-image-001.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-001.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-002.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-001.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-002.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-inline-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-001.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-002.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-003.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-004.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-005.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-006.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-007.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-008.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-009.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-010.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-011.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-012.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-013.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-014.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-015.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-016.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-017.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-018.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-019.htm46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-003.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-004.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-005.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-006.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-007.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-008.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-001.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-002.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-003.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-004.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-005.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-006.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-007.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-008.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-009.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-01.htm56
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-010.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-011.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-012.htm41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-001.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-006.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-007.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin.htm43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-001.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-002.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-001.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-002.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-003.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-004.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-005.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-006.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-007.htm29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-008.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-propagate-inherit-boolean-001.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-001.htm31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-002.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-003.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-004.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-001.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-002.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-003.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-004.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-005.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-006.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-007.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-rounding-001.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-percent-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-test.htm32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-scalex-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-scaley-001.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-singular-001.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-001.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-002.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-003.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-004.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-stresstest-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-001.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-002.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-003.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-004.htm27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-005.htm28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-006.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-007.htm38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-008.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-009.htm39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-010.htm47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-011.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-block.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-table.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-list-item.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-caption.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-cell.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-footer-group.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-header-group.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row-group.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-001.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-002.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-003.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-004.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-005.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-001.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-002.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-003.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-004.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-005.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-006.htm47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-001.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-002.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-003.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-004.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-005.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-001.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-002.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-003.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-004.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-005.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-006.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-007.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-001.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-002.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-001.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-002.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-003.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-004.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-005.htm16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-001.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-002.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-003.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-004.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-005.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-006.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-007.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-008.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-009.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-origin-001.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-001.htm23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-002.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-003.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-004.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-005.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-006.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-007.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-008.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-009.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-010.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-011.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-012.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-013.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-001.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-002.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-001.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-001.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-002.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-003.htm40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-transformorigin-001.htm25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatey-001.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-001.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-002.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-003.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-004.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-005.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-006.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-007.htm18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-001.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-002.htm24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-003.htm19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-004.htm26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-005.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-006.htm20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translate3d-001.htm22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translatez-001.htm21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_invalid_prefixed.htm44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_max_prefixed.htm44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_min_prefixed.htm44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_neg_prefixed.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_prefixed.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_second_omited_prefixed.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_zero_prefixed.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-degree-90.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-translate-scale.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotateY-degree-60.htm34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewX.htm37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewY.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/translate-optional-second-001.htm35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/translate.htm54
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-preserve-3d-1.htm42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateX-3.htm33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateY-1.htm30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle-mismatch.htm65
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle.htm48
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-reftest-rotate.htm52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewx-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewy-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatex-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatey-001.htm36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/html/video-001.htm43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/implementation-report-TEMPLATE.data2103
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/index.htm177
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/index.xht177
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/indices.css96
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/testinfo.data1050
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-001.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-js.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/animations-001.xht53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/backface-visibility-hidden-001.xht57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-001.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-002.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-1.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-10.xht235
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-11.xht178
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-12.xht133
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-13.xht14654
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-14.xht57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-15.xht12716
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-16.xht182
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-17.xht51
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-18.xht60
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-19.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-2.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-20.xht93
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht144
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-3.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-4.xht130
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-5.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-6.xht614
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-7.xht1149
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-8.xht1344
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-9.xht331
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-rotate-2d-3d-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-scale-nested-001.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-002.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-negative.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-positive.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-negative.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-positive.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-transform-style.xht58
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-rotate.xht56
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-scale.xht49
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-property-existence.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-001.xht50
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-002.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-style-evaluation-validation.xht82
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-3d-on-anonymous-block-001.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-transformlist.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-perspective.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-rotateY.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale-002.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/iframe-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-001.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-002.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-003.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-004.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-005.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-006.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-x.xht48
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-xy.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-0.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-negative.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-positive.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-notref.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-ref.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/animations-001-ref.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/backface-visibility-hidden-ref.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-001-ref.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-002-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-rotate-2d-3d-001-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-scale-nested-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-001-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-002-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateX-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateY-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateZ-ref.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-transform-style-ref.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-3d-anonymous-block-ref.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-transformlist-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-perspective-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-rotateY-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref-002.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/iframe-001-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-origin-reftest.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-reftest.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ref-filled-green-100px-square.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-001-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-008-ref.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-010-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-alt-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-014-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-016-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-017-ref.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-018-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-019-ref.xht54
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-020-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotateY-ref.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_45deg-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_x_45deg-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_y_45deg-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-optional-second-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-zero-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scalex-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scaley-ref.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/skew-test1-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-green.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-lime.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-maroon.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-navy.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-red.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-white.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/3d-filler.html47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-gg-rr.pngbin0 -> 224 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-green.pngbin0 -> 218 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-red.pngbin0 -> 217 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/Three.js682
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/a-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/animations.css80
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/b-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.mp4bin0 -> 1795435 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.ogvbin0 -> 2473623 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.webmbin0 -> 3292555 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/c-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/cat.pngbin0 -> 1883 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-gg-gr.pngbin0 -> 148 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rgr-grg.pngbin0 -> 222 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rrg-rgg.pngbin0 -> 231 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-rgr-grg-rgr.pngbin0 -> 223 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-tr.pngbin0 -> 137 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50%.pngbin0 -> 691 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50px.pngbin0 -> 671 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-100px.pngbin0 -> 760 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-50px.pngbin0 -> 757 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-purple.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-teal.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-white.pngbin0 -> 78 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/static-cube.js52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/support/README4
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/svg-external-styles.css19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-blue.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-green.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-lime.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-orange.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-red.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-white.pngbin0 -> 85 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-yellow.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-bl.pngbin0 -> 1368 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-br.pngbin0 -> 1045 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-inner-half-size.pngbin0 -> 180 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-outer.pngbin0 -> 2412 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tl.pngbin0 -> 1025 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tr.pngbin0 -> 1235 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-iframe-001-contents.html22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.pngbin0 -> 480 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-down.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left-small.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-right.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-up.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-document-styles-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-external-styles-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-combination-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ex-unit-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-relative-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-transform-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-250x250-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-inline-styles-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-clipped-rect-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-four-color-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-cm-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-in-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-pt-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-invalid-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-combination-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ex-unit-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-relative-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-3args-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-45-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-90-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-scale-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewx-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewxy-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewy-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-transform-list-separations-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-abs-unit-combinations-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ex-unit-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-relative-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-relative-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ex-unit-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ex-unit-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-3d-rotateY-stair-above-ref-001.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-abspos-ref.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-001-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-002-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-006-notref.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-1.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-2.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-blank-ref.xht10
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-1.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-2.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-ref.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-descendant-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-notref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-fixed-bg-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-notref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-notref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-iframe-ref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-image-ref.xht10
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-origin-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-notref.xht11
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-ref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-001-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-002-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-003-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-004-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-005-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-006-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-007-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-008-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-009-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-010-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-011-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-012-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-013-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-014-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-015-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-016-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-017-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-018-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-019-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-lime-square-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-001-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-002-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-003-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-004-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-notref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-006-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-007-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-notref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-007-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-01-ref.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-notref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-1.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-2.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-3.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-1.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-2.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-001-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-002-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-notref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-propagate-inherit-boolean-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-001-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-003-ref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-004-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-notref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-notref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rounding-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-percent-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-test-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scalex-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scaley-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-singular-ref.xht7
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-stresstest-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-notref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-002-notref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-notref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-ref.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-005-notref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-notref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-ref.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-010-notref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-011-notref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-block-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-table-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-list-item-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-caption-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-cell-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-footer-group-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-header-group-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-group-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translate-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatex-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatey-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-001-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-002-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-003-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-004-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-005-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-001-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-009-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-origin-ref.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-001-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-013-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-notref.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-ref.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-transformorigin-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatey-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-notref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-005-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-007-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-sorting-006-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translate3d-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-notref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-degree-90-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-translate-scale-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotateY-degree-60-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewX-ref.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewY-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-optional-second-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-ref.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-preserve-3d-1-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateX-3-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateY-1-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-css-3d-polygon-cycle-ref.xht65
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-rotate-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewx-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewy-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatex-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatey-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest-toc.xht8289
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest.list1034
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-001.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-002.xht43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-003.xht43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-004.xht62
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-005.xht63
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-006.xht52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-007.xht50
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-008.xht74
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-009.xht74
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-010.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-011.xht53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-012.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-013.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-014.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-015.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-016.xht68
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-017.xht57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-018.xht49
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-019.xht60
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-020.xht61
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-021.xht53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-022.xht83
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-180-degrees-001.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-270-degrees-001.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-90-degrees-001.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotateY.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_45deg.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_x_45deg.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_y_45deg.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-optional-second-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-zero-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scalex.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scaley.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/skew-test1.xht52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-green.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-lime.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-maroon.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-navy.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-red.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-white.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/3d-filler.html47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-gg-rr.pngbin0 -> 224 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-green.pngbin0 -> 218 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-red.pngbin0 -> 217 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/Three.js682
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/a-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/animations.css80
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/b-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.mp4bin0 -> 1795435 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.ogvbin0 -> 2473623 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.webmbin0 -> 3292555 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/c-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/cat.pngbin0 -> 1883 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-gg-gr.pngbin0 -> 148 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rgr-grg.pngbin0 -> 222 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rrg-rgg.pngbin0 -> 231 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-rgr-grg-rgr.pngbin0 -> 223 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-tr.pngbin0 -> 137 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50%.pngbin0 -> 691 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50px.pngbin0 -> 671 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-100px.pngbin0 -> 760 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-50px.pngbin0 -> 757 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-purple.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-teal.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-white.pngbin0 -> 78 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/static-cube.js52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/support/README4
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/svg-external-styles.css19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-blue.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-green.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-lime.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-orange.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-red.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-white.pngbin0 -> 85 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-yellow.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-bl.pngbin0 -> 1368 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-br.pngbin0 -> 1045 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-inner-half-size.pngbin0 -> 180 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-outer.pngbin0 -> 2412 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tl.pngbin0 -> 1025 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tr.pngbin0 -> 1235 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-iframe-001-contents.html22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.pngbin0 -> 480 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-down.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left-small.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-right.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-up.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-002.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-003.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-004.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-005.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-006.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-007.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-008.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-009.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-010.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-011.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-012.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-013.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-014.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-001.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-002.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-003.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-004.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-005.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-006.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-007.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-008.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-009.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-010.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-012.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-013.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-014.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-002.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-003.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-004.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-005.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-006.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-007.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-008.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-009.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-010.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-011.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-013.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-014.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-015.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-016.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-017.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-018.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-019.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-020.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-021.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-022.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-023.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-024.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-025.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-026.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-027.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-028.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-029.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-030.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-031.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-032.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-033.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-034.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-035.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-036.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-037.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-038.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-039.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-040.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-041.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-042.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-043.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-044.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-045.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-046.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-047.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-048.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-049.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-002.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-003.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-004.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-005.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-002.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-003.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-004.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-009.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-010.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-011.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-013.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-014.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-001.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-004.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-005.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-008.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-009.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-010.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-011.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-012.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-013.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-014.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-015.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-016.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-017.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-018.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-019.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-020.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-021.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-022.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-023.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-024.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-025.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-026.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-027.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-028.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-029.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-030.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-031.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-032.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-033.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-034.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-035.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-036.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-037.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-038.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-039.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-040.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-041.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-042.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-043.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-044.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-045.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-046.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-047.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-048.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-049.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-050.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-051.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-052.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-053.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-054.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-055.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-056.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-057.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-058.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-059.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-060.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-061.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-062.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-063.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-064.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-065.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-066.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-067.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-068.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-069.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-006.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-007.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-008.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-003.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-006.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-007.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-009.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-010.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-011.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-013.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-014.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-015.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-016.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-017.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-018.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-019.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-020.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-021.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-022.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-023.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-024.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-025.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-026.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-027.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-028.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-029.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-030.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-031.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-032.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-033.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-034.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-035.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-036.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-037.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-038.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-039.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-040.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-041.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-042.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-043.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-044.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-045.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-046.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-003.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-006.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-007.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-009.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-010.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-011.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-004.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-005.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-008.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-009.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-010.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-012.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-013.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-014.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-015.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-016.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-017.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-018.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-019.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-020.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-021.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-022.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-023.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-024.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-025.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-026.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-027.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-028.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-029.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-030.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-031.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-032.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-033.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-034.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-035.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-036.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-037.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-038.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-039.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-040.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-041.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-042.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-043.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-044.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-045.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-046.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-047.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-048.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-049.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-001.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-002.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-003.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-004.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-005.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-006.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-002.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-003.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-005.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-006.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-007.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-008.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-009.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-010.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-011.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-012.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-013.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-014.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-015.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-016.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-017.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-018.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-019.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-020.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-021.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-022.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-023.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-005.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-001.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-002.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-003.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-005.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-007.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-010.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-011.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-012.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-013.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-014.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-015.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-016.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-017.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-018.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-019.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-020.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-021.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-022.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-023.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-025.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-006.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-011.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-018.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-019.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-020.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-021.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-022.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-023.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-024.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-025.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-007.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-010.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-011.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-012.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-013.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-014.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-015.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-016.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-017.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-003.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-005.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-006.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-011.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-017.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-018.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-019.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-020.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-021.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-022.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-023.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-024.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-025.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-006.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-011.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-017.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-018.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-019.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-020.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-021.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-022.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-023.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-024.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-025.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-010.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-001.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-002.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-003.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-004.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-005.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-006.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-007.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-008.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-009.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-010.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-010.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-011.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-012.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-015.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-016.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-017.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-020.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-024.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-026.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-027.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-028.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-020.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-026.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-027.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-028.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-030.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-031.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-032.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-033.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-034.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-035.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-036.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-037.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-038.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-039.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-040.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-041.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-042.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-043.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-044.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-045.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-046.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-047.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-048.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-049.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-050.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-051.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-052.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-053.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-054.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-055.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-003.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-006.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-008.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-020.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-026.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-027.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-028.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-030.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-031.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-032.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-033.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-034.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-035.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-036.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-037.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-038.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-039.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-040.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-041.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-042.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-043.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-044.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-045.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-046.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-047.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-048.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-003.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-020.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-026.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-027.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-028.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-030.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-031.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-032.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-033.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-034.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-035.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-036.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-037.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-038.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-039.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-040.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-041.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-042.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-043.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-044.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-045.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-046.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-047.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-048.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-003.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/toc.xht129
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-2d-getComputedStyle-001.xht117
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-above-001.xht70
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-below-001.xht70
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-001.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-002.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-003.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-004.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-005.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-006.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-007.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-001.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-002.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-005.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-007.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-008.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-compound-001.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-descendant-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-002.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-003.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-006.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-iframe-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-image-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-001.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-002.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-001.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-002.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inline-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-001.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-002.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-003.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-004.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-005.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-006.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-007.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-008.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-009.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-010.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-011.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-012.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-013.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-014.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-015.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-016.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-017.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-018.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-019.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-005.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-007.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-008.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-003.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-006.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-007.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-008.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-009.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-01.xht56
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-010.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-011.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-012.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin.xht43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-001.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-003.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-004.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-007.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-propagate-inherit-boolean-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-002.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-003.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-004.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-002.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-007.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rounding-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-percent-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-test.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scalex-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scaley-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-singular-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-001.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-002.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-003.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-004.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stresstest-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-005.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-006.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-007.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-008.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-009.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-010.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-block.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-table.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-list-item.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-caption.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-cell.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-footer-group.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-header-group.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row-group.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-005.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-005.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-006.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-005.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-001.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-002.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-003.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-005.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-006.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-007.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-001.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-002.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-001.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-002.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-003.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-004.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-005.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-001.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-002.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-003.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-004.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-005.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-006.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-007.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-008.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-009.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-origin-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-004.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-005.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-006.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-007.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-008.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-009.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-010.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-011.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-012.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-013.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-001.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-002.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-001.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-001.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-003.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-transformorigin-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatey-001.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-001.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-002.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-003.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-004.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-005.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-006.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-007.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-003.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-005.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-006.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translate3d-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translatez-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_invalid_prefixed.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_max_prefixed.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_min_prefixed.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_neg_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_second_omited_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_zero_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-degree-90.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-translate-scale.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotateY-degree-60.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewX.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewY.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate-optional-second-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate.xht54
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-preserve-3d-1.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateX-3.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateY-1.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle-mismatch.xht65
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle.xht48
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-reftest-rotate.xht52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewx-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewy-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatex-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatey-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1/video-001.xht43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-001.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-js.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/animations-001.xht53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/backface-visibility-hidden-001.xht57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-001.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-002.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-1.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-10.xht235
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-11.xht178
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-12.xht133
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-13.xht14654
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-14.xht57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-15.xht12716
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-16.xht182
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-17.xht51
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-18.xht60
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-19.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-2.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-20.xht93
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht144
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-3.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-4.xht130
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-5.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-6.xht614
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-7.xht1149
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-8.xht1344
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-9.xht331
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-rotate-2d-3d-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-scale-nested-001.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-002.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-negative.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-positive.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-negative.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-positive.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-negative.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-positive.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-transform-style.xht58
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-rotate.xht56
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-scale.xht49
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-property-existence.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-001.xht50
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-002.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-style-evaluation-validation.xht82
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-3d-on-anonymous-block-001.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-transformlist.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-perspective.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-rotateY.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale-002.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/iframe-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-001.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-002.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-003.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-004.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-005.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-006.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-x.xht48
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-xy.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-0.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-negative.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-positive.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-notref.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-ref.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/animations-001-ref.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/backface-visibility-hidden-ref.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-001-ref.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-002-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-rotate-2d-3d-001-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-scale-nested-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-001-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-002-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateX-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateY-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateZ-ref.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-transform-style-ref.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-3d-anonymous-block-ref.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-transformlist-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-perspective-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-rotateY-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref-002.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/iframe-001-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-origin-reftest.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-reftest.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ref-filled-green-100px-square.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-001-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-008-ref.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-010-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-alt-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-014-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-016-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-017-ref.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-018-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-019-ref.xht54
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-020-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotateY-ref.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_45deg-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_x_45deg-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_y_45deg-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-optional-second-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-zero-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scalex-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scaley-ref.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/skew-test1-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-green.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-lime.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-maroon.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-navy.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-red.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-white.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/3d-filler.html47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-gg-rr.pngbin0 -> 224 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-green.pngbin0 -> 218 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-red.pngbin0 -> 217 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/Three.js682
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/a-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/animations.css80
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/b-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.mp4bin0 -> 1795435 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.ogvbin0 -> 2473623 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.webmbin0 -> 3292555 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/c-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/cat.pngbin0 -> 1883 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-gg-gr.pngbin0 -> 148 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rgr-grg.pngbin0 -> 222 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rrg-rgg.pngbin0 -> 231 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-rgr-grg-rgr.pngbin0 -> 223 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-tr.pngbin0 -> 137 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50%.pngbin0 -> 691 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50px.pngbin0 -> 671 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-100px.pngbin0 -> 760 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-50px.pngbin0 -> 757 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-purple.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-teal.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-white.pngbin0 -> 78 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/static-cube.js52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/support/README4
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/svg-external-styles.css19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-blue.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-green.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-lime.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-orange.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-red.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-white.pngbin0 -> 85 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-yellow.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-bl.pngbin0 -> 1368 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-br.pngbin0 -> 1045 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-inner-half-size.pngbin0 -> 180 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-outer.pngbin0 -> 2412 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tl.pngbin0 -> 1025 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tr.pngbin0 -> 1235 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-iframe-001-contents.html22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.pngbin0 -> 480 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-down.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left-small.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-right.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-up.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-document-styles-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-external-styles-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-combination-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ex-unit-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-relative-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-transform-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-250x250-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-inline-styles-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-clipped-rect-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-four-color-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-cm-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-in-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-pt-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-invalid-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-combination-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ex-unit-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-relative-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-3args-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-45-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-90-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-scale-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewx-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewxy-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewy-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-transform-list-separations-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-abs-unit-combinations-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ex-unit-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-relative-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-relative-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ex-unit-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ex-unit-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-3d-rotateY-stair-above-ref-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-abspos-ref.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-001-ref.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-002-ref.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-006-notref.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-1.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-2.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-blank-ref.xht10
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-1.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-2.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-ref.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-descendant-ref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-notref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-fixed-bg-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-notref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-notref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-iframe-ref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-image-ref.xht10
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-origin-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-notref.xht11
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-ref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-001-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-002-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-003-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-004-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-005-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-006-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-007-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-008-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-009-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-010-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-011-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-012-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-013-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-014-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-015-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-016-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-017-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-018-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-019-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-lime-square-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-001-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-002-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-003-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-004-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-notref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-006-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-007-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-notref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-ref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-007-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-01-ref.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-notref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-1.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-2.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-3.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-1.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-2.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-001-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-002-ref.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-notref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-ref.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-propagate-inherit-boolean-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-001-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-003-ref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-004-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-notref.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-notref.xht17
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rounding-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-percent-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-test-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scalex-ref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scaley-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-singular-ref.xht7
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-stresstest-ref.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-notref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-002-notref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-notref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-ref.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-005-notref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-notref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-ref.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-010-notref.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-011-notref.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-block-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-table-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-list-item-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-caption-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-cell-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-footer-group-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-header-group-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-group-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-ref.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translate-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatex-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatey-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-001-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-002-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-003-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-004-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-005-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-001-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-009-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-origin-ref.xht15
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-001-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-013-ref.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-notref.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-ref.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-transformorigin-ref.xht14
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatey-ref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-notref.xht12
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-005-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-007-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-sorting-006-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translate3d-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-notref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-ref.xht13
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-degree-90-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-translate-scale-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotateY-degree-60-ref.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewX-ref.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewY-ref.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-optional-second-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-ref.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-preserve-3d-1-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateX-3-ref.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateY-1-ref.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-css-3d-polygon-cycle-ref.xht65
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-rotate-ref.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewx-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewy-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatex-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatey-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest-toc.xht8289
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest.list1034
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-001.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-002.xht43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-003.xht43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-004.xht62
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-005.xht63
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-006.xht52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-007.xht50
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-008.xht74
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-009.xht74
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-010.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-011.xht53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-012.xht45
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-013.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-014.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-015.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-016.xht68
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-017.xht57
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-018.xht49
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-019.xht60
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-020.xht61
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-021.xht53
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-022.xht83
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-180-degrees-001.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-270-degrees-001.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-90-degrees-001.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotateY.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_45deg.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_x_45deg.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_y_45deg.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-optional-second-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-zero-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scalex.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scaley.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/skew-test1.xht52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-green.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-lime.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-maroon.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-navy.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-red.pngbin0 -> 135 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-white.pngbin0 -> 109 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/3d-filler.html47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-gg-rr.pngbin0 -> 224 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-green.pngbin0 -> 218 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-red.pngbin0 -> 217 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/Three.js682
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/a-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/animations.css80
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/b-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.mp4bin0 -> 1795435 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.ogvbin0 -> 2473623 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.webmbin0 -> 3292555 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/c-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/cat.pngbin0 -> 1883 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-green.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-red.css1
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-gg-gr.pngbin0 -> 148 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rgr-grg.pngbin0 -> 222 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rrg-rgg.pngbin0 -> 231 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-rgr-grg-rgr.pngbin0 -> 223 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-tr.pngbin0 -> 137 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50%.pngbin0 -> 691 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50px.pngbin0 -> 671 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-100px.pngbin0 -> 760 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-50px.pngbin0 -> 757 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-purple.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-teal.pngbin0 -> 92 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-white.pngbin0 -> 78 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/static-cube.js52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/support/README4
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/svg-external-styles.css19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-blue.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-green.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-lime.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-orange.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-red.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-white.pngbin0 -> 85 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-yellow.pngbin0 -> 84 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-bl.pngbin0 -> 1368 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-br.pngbin0 -> 1045 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-inner-half-size.pngbin0 -> 180 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-outer.pngbin0 -> 2412 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tl.pngbin0 -> 1025 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tr.pngbin0 -> 1235 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-iframe-001-contents.html22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.pngbin0 -> 480 bytes
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-down.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left-small.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-right.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-up.svg3
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-002.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-003.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-004.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-005.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-006.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-007.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-008.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-009.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-010.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-011.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-012.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-013.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-014.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-001.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-002.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-003.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-004.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-005.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-006.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-007.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-008.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-009.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-010.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-012.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-013.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-014.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-002.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-003.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-004.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-005.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-006.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-007.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-008.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-009.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-010.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-011.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-013.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-014.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-015.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-016.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-017.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-018.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-019.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-020.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-021.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-022.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-023.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-024.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-025.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-026.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-027.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-028.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-029.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-030.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-031.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-032.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-033.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-034.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-035.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-036.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-037.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-038.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-039.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-040.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-041.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-042.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-043.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-044.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-045.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-046.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-047.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-048.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-049.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-002.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-003.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-004.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-005.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-002.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-003.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-004.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-009.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-010.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-011.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-013.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-014.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-001.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-004.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-005.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-008.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-009.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-010.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-011.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-012.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-013.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-014.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-015.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-016.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-017.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-018.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-019.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-020.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-021.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-022.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-023.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-024.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-025.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-026.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-027.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-028.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-029.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-030.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-031.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-032.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-033.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-034.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-035.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-036.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-037.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-038.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-039.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-040.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-041.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-042.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-043.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-044.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-045.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-046.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-047.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-048.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-049.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-050.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-051.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-052.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-053.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-054.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-055.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-056.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-057.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-058.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-059.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-060.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-061.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-062.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-063.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-064.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-065.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-066.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-067.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-068.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-069.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-006.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-007.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-008.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-002.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-005.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-003.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-006.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-007.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-009.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-010.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-011.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-013.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-014.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-015.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-016.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-017.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-018.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-019.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-020.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-021.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-022.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-023.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-024.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-025.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-026.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-027.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-028.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-029.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-030.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-031.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-032.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-033.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-034.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-035.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-036.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-037.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-038.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-039.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-040.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-041.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-042.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-043.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-044.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-045.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-046.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-003.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-006.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-007.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-009.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-010.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-011.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-012.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-004.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-005.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-006.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-008.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-009.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-010.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-012.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-013.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-014.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-015.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-016.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-017.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-018.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-019.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-020.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-021.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-022.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-023.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-024.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-025.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-026.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-027.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-028.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-029.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-030.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-031.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-032.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-033.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-034.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-035.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-036.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-037.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-038.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-039.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-040.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-041.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-042.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-043.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-044.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-045.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-046.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-047.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-048.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-049.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-001.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-002.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-003.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-002.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-003.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-004.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-005.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-006.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-002.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-003.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-005.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-006.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-007.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-008.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-009.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-010.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-011.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-012.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-013.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-014.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-015.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-016.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-017.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-018.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-019.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-020.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-021.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-022.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-023.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-005.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-001.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-002.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-003.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-005.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-007.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-010.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-011.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-012.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-013.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-014.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-015.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-016.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-017.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-018.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-019.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-020.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-021.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-022.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-023.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-025.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-006.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-011.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-018.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-019.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-020.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-021.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-022.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-023.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-024.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-025.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-007.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-010.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-011.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-012.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-013.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-014.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-015.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-016.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-017.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-003.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-005.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-006.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-011.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-017.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-018.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-019.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-020.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-021.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-022.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-023.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-024.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-025.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-006.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-011.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-017.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-018.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-019.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-020.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-021.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-022.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-023.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-024.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-025.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-010.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-001.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-002.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-003.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-004.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-005.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-006.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-007.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-008.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-009.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-010.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-008.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-009.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-010.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-011.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-012.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-015.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-016.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-017.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-020.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-024.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-026.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-027.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-028.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-020.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-026.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-027.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-028.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-030.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-031.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-032.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-033.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-034.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-035.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-036.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-037.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-038.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-039.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-040.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-041.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-042.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-043.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-044.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-045.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-046.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-047.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-048.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-049.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-050.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-051.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-052.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-053.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-054.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-055.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-003.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-005.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-006.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-007.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-008.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-020.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-026.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-027.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-028.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-030.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-031.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-032.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-033.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-034.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-035.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-036.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-037.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-038.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-039.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-040.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-041.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-042.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-043.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-044.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-045.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-046.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-047.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-048.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-003.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-008.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-009.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-010.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-011.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-012.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-013.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-014.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-015.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-016.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-017.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-018.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-019.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-020.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-021.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-022.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-023.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-024.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-025.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-026.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-027.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-028.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-029.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-030.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-031.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-032.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-033.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-034.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-035.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-036.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-037.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-038.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-039.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-040.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-041.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-042.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-043.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-044.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-045.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-046.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-047.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-048.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-003.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-004.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/toc.xht129
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-2d-getComputedStyle-001.xht117
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-above-001.xht79
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-below-001.xht79
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-001.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-002.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-003.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-004.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-005.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-006.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-007.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-001.xht51
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-002.xht50
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-005.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-007.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-008.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-compound-001.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-descendant-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-002.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-003.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-003.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-004.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-006.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-007.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-iframe-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-image-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-001.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-002.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-001.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-002.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inline-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-001.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-002.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-003.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-004.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-005.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-006.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-007.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-008.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-009.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-010.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-011.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-012.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-013.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-014.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-015.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-016.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-017.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-018.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-019.xht46
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-003.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-005.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-007.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-008.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-001.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-002.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-003.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-004.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-005.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-006.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-007.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-008.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-009.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-01.xht56
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-010.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-011.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-012.xht41
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-001.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-006.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-007.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin.xht43
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-001.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-002.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-001.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-002.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-003.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-004.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-005.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-006.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-007.xht29
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-008.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-propagate-inherit-boolean-001.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-001.xht31
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-002.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-003.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-004.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-002.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-003.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-005.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-006.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-007.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rounding-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-percent-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-test.xht32
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scalex-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scaley-001.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-singular-001.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-001.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-002.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-003.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-004.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stresstest-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-002.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-003.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-004.xht27
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-005.xht28
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-006.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-007.xht38
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-008.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-009.xht39
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-010.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-011.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-block.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-table.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-list-item.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-caption.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-cell.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-footer-group.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-header-group.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row-group.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-004.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-005.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-005.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-006.xht47
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-005.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-001.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-002.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-003.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-004.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-005.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-006.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-007.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-001.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-002.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-001.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-002.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-003.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-004.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-005.xht16
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-001.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-002.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-003.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-004.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-005.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-006.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-007.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-008.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-009.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-origin-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-001.xht23
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-003.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-004.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-005.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-006.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-007.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-008.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-009.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-010.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-011.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-012.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-013.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-001.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-002.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-001.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-001.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-002.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-003.xht40
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-transformorigin-001.xht25
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatey-001.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-001.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-002.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-003.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-004.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-005.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-006.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-007.xht18
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-002.xht24
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-003.xht19
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-004.xht26
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-005.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-006.xht20
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translate3d-001.xht22
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translatez-001.xht21
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_invalid_prefixed.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_max_prefixed.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_min_prefixed.xht44
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_neg_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_second_omited_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_zero_prefixed.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-degree-90.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-translate-scale.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotateY-degree-60.xht34
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewX.xht37
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewY.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate-optional-second-001.xht35
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate.xht54
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-preserve-3d-1.xht42
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateX-3.xht33
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateY-1.xht30
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle-mismatch.xht65
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle.xht48
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-reftest-rotate.xht52
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewx-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewy-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatex-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatey-001.xht36
-rw-r--r--tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/video-001.xht43
4262 files changed, 248712 insertions, 0 deletions
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-001.htm
new file mode 100644
index 00000000000..1a38bf1540c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-001.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/2d-rotate-ref.htm" rel="match">
+ <meta content="css3, rotate, svg" name="flags">
+ <meta content="asserting that you can rotate an element with CSS" name="assert">
+ <style type="text/css">
+ article, svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ article{
+ border: 10px solid green;
+ display: block;
+ height: 100px;
+ width: 100px;
+ z-index: 2;
+ }
+ section article{
+ transform: rotate(30deg);
+ transform-origin: 19% 197%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <article></article>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: red;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="rotate(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-js.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-js.htm
new file mode 100644
index 00000000000..fd2e15d12f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/2d-rotate-js.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>JS test: Rotate via javascript must show the correct computed rotation</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="css3, rotate, svg" name="flags">
+ <meta content="Asserting that you can rotate an element with JS and it show up in CSS computed values not as a matrix but as the rotation" name="assert">
+ <style>
+ #box{
+ margin-top:30px;
+ display: block;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <h1>Rotate via JS</h1>
+ <div id="log"></div>
+ <div id="box"></div>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ (function(){
+ var box = document.getElementById("box"),
+ assertion = "",
+ expectation = "rotate(30deg)",
+ should_string = "this should make a small green square rotated 30 degrees, and the browser should return the rotation as 30 degrees as the computed value NOT a matrix",
+ extra_properties = null,
+ computed_angle = 0,
+ a_1 = "";
+ a_2 = "",
+ my_value = "",
+ test_function = {};
+ box.style.Transform = "rotate(30deg)";
+ assertion = window.getComputedStyle(box).getPropertyValue("transform");
+ test_function = function(){
+ assert_equals(assertion, expectation);
+ }
+ test(test_function, should_string);
+ })();
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/animations-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/animations-001.htm
new file mode 100644
index 00000000000..39cb31c68db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/animations-001.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: animating content flowed into a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css3-animations/#animations" rel="help">
+ <meta content="Test checks that content that has an animated 3D transform renders and animates when flowed in a region." name="assert">
+ <meta content="ahem animated" name="flags">
+ <!-- TODO Determine if it's OK for this test to be a ref-test or it should only be a manual one. -->
+ <link href="reference/animations-001-ref.htm" rel="match">
+ <link href="support/animations.css" rel="stylesheet">
+ <style>
+ .transformed {
+ transform: rotateZ(45deg);
+ }
+ .flow {
+ flow-into: f;
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+
+ .region {
+ flow-from: f;
+ width: 100px;
+ height: 100px;
+ background-color: lightblue;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green square rotating once on top of a static blue square and no red.</p>
+
+ <div class="region">
+ <p>&nbsp;</p>
+ </div>
+
+ <div class="transformed flow rotate once">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/backface-visibility-hidden-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/backface-visibility-hidden-001.htm
new file mode 100644
index 00000000000..0003a54c8cb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/backface-visibility-hidden-001.htm
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with backface visibility = hidden</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <link href="reference/backface-visibility-hidden-ref.htm" rel="match">
+ <meta content="When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ z-index: 2;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ z-index: 1;
+ transform: rotateY(180deg);
+ }
+
+ .face {
+ backface-visibility: hidden;
+ }
+
+ .card {
+ transform-style: preserve-3d;
+ }
+
+ .container {
+ width: 200px;
+ height: 200px;
+ perspective: 1000;
+ transform: rotateY(45deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green retangle and no red.</p>
+ <div class="container">
+ <div class="card">
+ <div class="redSquare face"></div>
+ <div class="greenSquare face"></div>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-001.htm
new file mode 100644
index 00000000000..cc05fd0815f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-001.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: rendering 3D canvas elements inside regions</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help">
+ <meta content="Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region." name="assert">
+ <meta content="dom" name="flags">
+ <link href="reference/canvas3d-001-ref.htm" rel="match">
+ <script src="support/Three.js" type="text/javascript"></script>
+ <script src="support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow {
+ flow-into: f;
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ border: 2px solid black;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
+
+ <div class="flow" id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ <p>&nbsp;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-002.htm
new file mode 100644
index 00000000000..c0acecca4e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/canvas3d-002.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: rendering text flowed in a region on top of 3D content</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help">
+ <meta content="Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly." name="assert">
+ <meta content="dom" name="flags">
+ <link href="reference/canvas3d-002-ref.htm" rel="match">
+ <script src="support/Three.js" type="text/javascript"></script>
+ <script src="support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ #container {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ flow-from: f;
+ width: 200px;
+ height: 300px;
+ margin: -250px 100px 0px 100px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
+
+ <div class="flow">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.</div>
+ <div id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ <p>&nbsp;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-1.htm
new file mode 100644
index 00000000000..8adb3a031d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-1.htm
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Introduction - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Introduction (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#intro">1 Introduction</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-10.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-10.htm
new file mode 100644
index 00000000000..e47e23b83f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-10.htm
@@ -0,0 +1,235 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The perspective Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The perspective Property (17 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s10">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s10">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#perspective-property">10 The perspective Property</a></th></tr>
+ <!-- 16 tests -->
+ <tr id="perspective-origin-x-10" class="">
+ <td>
+ <a href="perspective-origin-x.htm">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-0-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-0.htm">perspective-translatez-0</a></strong></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that points on the z=0 plane are unchanged</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-negative-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-negative.htm">perspective-translatez-negative</a></strong></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a negative Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-positive-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-positive.htm">perspective-translatez-positive</a></strong></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a positive Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-005-10" class="ahem">
+ <td>
+ <a href="regions-transforms-005.htm">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region
+ <ul class="assert">
+ <li>Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-019-10" class="ahem">
+ <td>
+ <a href="regions-transforms-019.htm">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-001-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-001.htm">transform3d-perspective-001</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective()
+ <ul class="assert">
+ <li>This tests that the perspective() transform works the same as an equivalent 'perspective' property.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-002-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-002.htm">transform3d-perspective-002</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Inherited Perspective
+ <ul class="assert">
+ <li>This tests that 'perspective: inherit' works the same as specifying that perspective to start with.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-003-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-003.htm">transform3d-perspective-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Perspective on Grandparent
+ <ul class="assert">
+ <li>This tests that 'perspective' affects only the element's children, not its grandchildren.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-004-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-004.htm">transform3d-perspective-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>'perspective: 1000px' on Grandparent and 'perspective: none' on Parent
+ <ul class="assert">
+ <li>This tests that 'perspective: none' actually results in no perspective being applied to children, even if the grandparent has perspective.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-005-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-005.htm">transform3d-perspective-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent
+ <ul class="assert">
+ <li>This tests that 'perspective: 0px' behaves the same as no perspective being specified at all (it's a parse error).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-006-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-006.htm">transform3d-perspective-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Perspective
+ <ul class="assert">
+ <li>This tests the 'perspective' property in a very simple case, such that the reference can be constructed without using CSS transforms.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-007-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-007.htm">transform3d-perspective-007</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Perspective on Table Parent
+ <ul class="assert">
+ <li>This tests that tables are correctly affected by perspective on their parent. It's motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-008-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-008.htm">transform3d-perspective-008</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Perspective on Table
+ <ul class="assert">
+ <li>This tests that perspective on a table only affects its children, not the table itself. It's motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-10" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-002.htm">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-003-10" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-003.htm">transform3d-rotatex-perspective-003</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-perspective-ref.htm">=</a> <a href="reference/transform3d-rotatex-perspective-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>'perspective' and 'opacity'
+ <ul class="assert">
+ <li>This tests for a real-world implementation bug: see &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=707563&gt;. The only difference between the test and reference is 'opacity: 0.9999', which should not affect anything in the test.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s10.#issue-8678c096">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s10.#none">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s10.#propdef-perspective">
+ <!-- 1 tests -->
+ <tr id="css3-transform-perspective-10.#propdef-perspective" class="primary">
+ <td><strong>
+ <a href="css3-transform-perspective.htm">css3-transform-perspective</a></strong></td>
+ <td><a href="reference/css3-transform-perspective-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX 90 degrees with perspective make it invisible
+ <ul class="assert">
+ <li>Test passes if rotateX 90 degrees with perspective make it invisible</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-11.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-11.htm
new file mode 100644
index 00000000000..65013c05794
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-11.htm
@@ -0,0 +1,178 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The perspective-origin Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The perspective-origin Property (11 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s11">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s11">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#perspective-origin-property">11 The perspective-origin Property</a></th></tr>
+ <!-- 1 tests -->
+ <tr id="regions-transforms-019-11" class="ahem">
+ <td>
+ <a href="regions-transforms-019.htm">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s11.#propdef-perspective-origin">
+ <!-- 10 tests -->
+ <tr id="perspective-origin-001-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-001.htm">perspective-origin-001</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 0px center('center' computes to '50%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'center' computes to 50% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-002-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-002.htm">perspective-origin-002</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td></td>
+ <td>perspective-origin - center 0px('center' computes to '50%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'center' computes to 50% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-003-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-003.htm">perspective-origin-003</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-004-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-004.htm">perspective-origin-004</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 50% top('top' computes to '0%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'top' computes to 0% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-005-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-005.htm">perspective-origin-005</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td></td>
+ <td>perspective-origin - left 50%('left' computes to '0%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'left' computes to 0% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-006-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-006.htm">perspective-origin-006</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td></td>
+ <td>perspective-origin - right 50%('right' computes to '100%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'right' computes to 100% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-x-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-x.htm">perspective-origin-x</a></strong></td>
+ <td><a href="reference/perspective-origin-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-xy-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-xy.htm">perspective-origin-xy</a></strong></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin '&lt;x,y&gt;' visually moves the objects '&lt;-x,-y&gt;*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-009-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-009.htm">transform3d-perspective-009</a></strong></td>
+ <td><a href="reference/transform3d-perspective-009-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>'perspective-origin' and translate()
+ <ul class="assert">
+ <li>This tests that 'perspective' and 'perspective-origin' have the same effect as an appropriately calculated sequence of translate() and perspective(). The reference file's body has a width of 400px and a height of 100px, so the perspective-origin should be (200, 50). The transform-origin is 'top', which works out to (50, 0). Thus we translate by (150, 50) to get the right origin.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-origin-001-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-origin-001.htm">transform3d-perspective-origin-001</a></strong></td>
+ <td><a href="reference/transform3d-perspective-origin-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="transform3d-rotatex-perspective-001.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective-origin
+ <ul class="assert">
+ <li>This tests that 'perspective-origin: 0 0' is the same as 'perspective-origin: top left', different from no 'perspective-origin', and different from no perspective or no transform.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s11.#valuedef-bottom">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-center">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-left">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-right">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-top">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-12.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-12.htm
new file mode 100644
index 00000000000..302692b9b8a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-12.htm
@@ -0,0 +1,133 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The backface-visibility Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The backface-visibility Property (8 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s12">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s12">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#backface-visibility-property">12 The backface-visibility Property</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s12.#issue-5f192247">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s12.#propdef-backface-visibility">
+ <!-- 8 tests -->
+ <tr id="backface-visibility-hidden-001-12.#propdef-backface-visibility" class="">
+ <td>
+ <a href="backface-visibility-hidden-001.htm">backface-visibility-hidden-001</a></td>
+ <td><a href="reference/backface-visibility-hidden-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with backface visibility = hidden
+ <ul class="assert">
+ <li>When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-001-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-001.htm">transform3d-backface-visibility-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, rotatex(180deg)
+ <ul class="assert">
+ <li>This tests that a very simple case of backface-visibility causes the element to disappear: rotateX(180deg) is specified on the same element that has backface-visibility: hidden.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-002-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-002.htm">transform3d-backface-visibility-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent and Child in Different Rendering Contexts
+ <ul class="assert">
+ <li>This tests that if an element has 'backface-visibility: hidden' and is rotated 180deg, so it would normally disappear, it doesn't reappear just because its parent also has a 180deg rotation. The rotations don't cancel, since the parent doesn't have 'transform-style: preserve-3d' and is in a different rendering context.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-003-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-003.htm">transform3d-backface-visibility-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, rotatex(180deg) on Table
+ <ul class="assert">
+ <li>This is identical to transform3d-backface-visibility-001.html, except that display: table is specified too. This is motivated by a real-world UA bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=724750&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-004-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-004.htm">transform3d-backface-visibility-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Same Rendering Context, Split Transform
+ <ul class="assert">
+ <li>This tests that if a parent and child are in the same 3D rendering context, and a 60deg rotation on the parent combines with a 60deg rotation on the child to make a 120deg rotation, the child will disappear if 'backface-visibility: hidden' is specified, just like if the 120deg rotation were specified on the child to start with.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-005-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-005.htm">transform3d-backface-visibility-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Different Rendering Context
+ <ul class="assert">
+ <li>This tests that if an element is not transformed, but its parent is rotated 180deg in a different rendering context, the child's 'backface-visibility: hidden' does not make it disappear. Only transforms that affect the child itself are relevant to 'backface-visibility'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-006-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-006.htm">transform3d-backface-visibility-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Same Rendering Context
+ <ul class="assert">
+ <li>This is the same as transform3d-backface-visibility-005.html, except that the parent has 'transform-style: preserve-3d'. Thus the child is affected by the parent's transform and should not be visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-007-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-007.htm">transform3d-backface-visibility-007</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, scalez(-1)
+ <ul class="assert">
+ <li>This is the same as transform3d-backface-visibility-001.html, except it uses scalez(-1) instead of rotatex(180deg). scalez(-1) has no visible effect when applied by itself to a box, since the box's Z-coordinates are all 0, but it still causes it to be affected by 'backface-visibility'.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-13.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-13.htm
new file mode 100644
index 00000000000..897fd4505cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-13.htm
@@ -0,0 +1,14654 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The SVG transform Attribute - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The SVG transform Attribute (703 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s13">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform">13 The SVG transform Attribute</a></th></tr>
+ <!-- 699 tests -->
+ <tr id="skew-test1-13" class="primary svg">
+ <td><strong>
+ <a href="skew-test1.htm">skew-test1</a></strong></td>
+ <td><a href="reference/skew-test1-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Testing 1 - skew()
+ <ul class="assert">
+ <li>The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-001.htm">svg-document-styles-001</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-002.htm">svg-document-styles-002</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-003.htm">svg-document-styles-003</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-004.htm">svg-document-styles-004</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-005.htm">svg-document-styles-005</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid document transform style
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-006.htm">svg-document-styles-006</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-007.htm">svg-document-styles-007</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-008.htm">svg-document-styles-008</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-009.htm">svg-document-styles-009</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-010.htm">svg-document-styles-010</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-011.htm">svg-document-styles-011</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-012.htm">svg-document-styles-012</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-013.htm">svg-document-styles-013</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-014.htm">svg-document-styles-014</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-001.htm">svg-external-styles-001</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-002.htm">svg-external-styles-002</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-003.htm">svg-external-styles-003</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-004.htm">svg-external-styles-004</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-005.htm">svg-external-styles-005</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid external transform style
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-006.htm">svg-external-styles-006</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-007.htm">svg-external-styles-007</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-008.htm">svg-external-styles-008</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-009.htm">svg-external-styles-009</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-010.htm">svg-external-styles-010</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-011.htm">svg-external-styles-011</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-012.htm">svg-external-styles-012</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-013.htm">svg-external-styles-013</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-014.htm">svg-external-styles-014</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-001.htm">svg-gradienttransform-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-002.htm">svg-gradienttransform-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-003.htm">svg-gradienttransform-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-004.htm">svg-gradienttransform-004</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-005.htm">svg-gradienttransform-005</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-006.htm">svg-gradienttransform-006</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-007.htm">svg-gradienttransform-007</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-008.htm">svg-gradienttransform-008</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-009.htm">svg-gradienttransform-009</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-010.htm">svg-gradienttransform-010</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-011.htm">svg-gradienttransform-011</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-012.htm">svg-gradienttransform-012</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-013.htm">svg-gradienttransform-013</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-014.htm">svg-gradienttransform-014</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-015.htm">svg-gradienttransform-015</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-016.htm">svg-gradienttransform-016</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-017.htm">svg-gradienttransform-017</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-018.htm">svg-gradienttransform-018</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-019.htm">svg-gradienttransform-019</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-020.htm">svg-gradienttransform-020</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-021.htm">svg-gradienttransform-021</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-022.htm">svg-gradienttransform-022</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-023.htm">svg-gradienttransform-023</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-024.htm">svg-gradienttransform-024</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-025.htm">svg-gradienttransform-025</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-026.htm">svg-gradienttransform-026</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-027.htm">svg-gradienttransform-027</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-028.htm">svg-gradienttransform-028</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-029.htm">svg-gradienttransform-029</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-030.htm">svg-gradienttransform-030</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-031.htm">svg-gradienttransform-031</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-032.htm">svg-gradienttransform-032</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-033.htm">svg-gradienttransform-033</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-034.htm">svg-gradienttransform-034</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-035.htm">svg-gradienttransform-035</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-036.htm">svg-gradienttransform-036</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-037.htm">svg-gradienttransform-037</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-038.htm">svg-gradienttransform-038</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-039.htm">svg-gradienttransform-039</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-040.htm">svg-gradienttransform-040</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-041.htm">svg-gradienttransform-041</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-042.htm">svg-gradienttransform-042</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-043.htm">svg-gradienttransform-043</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-044.htm">svg-gradienttransform-044</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-045.htm">svg-gradienttransform-045</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-046.htm">svg-gradienttransform-046</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-047.htm">svg-gradienttransform-047</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-048.htm">svg-gradienttransform-048</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-049.htm">svg-gradienttransform-049</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-001.htm">svg-gradienttransform-combination-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-002.htm">svg-gradienttransform-combination-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-003.htm">svg-gradienttransform-combination-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-001.htm">svg-gradienttransform-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-002.htm">svg-gradienttransform-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-003.htm">svg-gradienttransform-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-004.htm">svg-gradienttransform-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-005.htm">svg-gradienttransform-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-006.htm">svg-gradienttransform-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-001.htm">svg-gradienttransform-relative-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-002.htm">svg-gradienttransform-relative-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-003.htm">svg-gradienttransform-relative-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-001.htm">svg-inline-styles-001</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-002.htm">svg-inline-styles-002</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-003.htm">svg-inline-styles-003</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-004.htm">svg-inline-styles-004</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-005.htm">svg-inline-styles-005</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid inline transform style
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-006.htm">svg-inline-styles-006</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-007.htm">svg-inline-styles-007</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-008.htm">svg-inline-styles-008</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-009.htm">svg-inline-styles-009</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-010.htm">svg-inline-styles-010</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-011.htm">svg-inline-styles-011</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-012.htm">svg-inline-styles-012</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-013.htm">svg-inline-styles-013</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-014.htm">svg-inline-styles-014</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-001.htm">svg-matrix-001</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-002.htm">svg-matrix-002</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-003.htm">svg-matrix-003</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-004.htm">svg-matrix-004</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-005.htm">svg-matrix-005</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-006.htm">svg-matrix-006</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-007.htm">svg-matrix-007</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-008.htm">svg-matrix-008</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-009.htm">svg-matrix-009</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-010.htm">svg-matrix-010</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-011.htm">svg-matrix-011</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-012.htm">svg-matrix-012</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-013.htm">svg-matrix-013</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-014.htm">svg-matrix-014</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-015.htm">svg-matrix-015</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-016.htm">svg-matrix-016</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-017.htm">svg-matrix-017</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-018.htm">svg-matrix-018</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-019.htm">svg-matrix-019</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-020.htm">svg-matrix-020</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-021.htm">svg-matrix-021</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-022.htm">svg-matrix-022</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-023.htm">svg-matrix-023</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-024.htm">svg-matrix-024</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-025.htm">svg-matrix-025</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-026.htm">svg-matrix-026</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-027.htm">svg-matrix-027</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-028.htm">svg-matrix-028</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-029.htm">svg-matrix-029</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-030.htm">svg-matrix-030</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-031.htm">svg-matrix-031</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-032.htm">svg-matrix-032</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-033.htm">svg-matrix-033</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-034.htm">svg-matrix-034</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-035.htm">svg-matrix-035</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-036.htm">svg-matrix-036</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-037.htm">svg-matrix-037</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-038.htm">svg-matrix-038</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-039.htm">svg-matrix-039</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-040.htm">svg-matrix-040</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-041.htm">svg-matrix-041</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-042.htm">svg-matrix-042</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-043.htm">svg-matrix-043</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-044.htm">svg-matrix-044</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-045.htm">svg-matrix-045</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-046.htm">svg-matrix-046</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-047.htm">svg-matrix-047</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-048.htm">svg-matrix-048</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-049.htm">svg-matrix-049</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-050.htm">svg-matrix-050</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-051.htm">svg-matrix-051</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-052.htm">svg-matrix-052</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-053.htm">svg-matrix-053</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-054.htm">svg-matrix-054</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-055.htm">svg-matrix-055</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-056.htm">svg-matrix-056</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-057.htm">svg-matrix-057</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-058.htm">svg-matrix-058</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-059.htm">svg-matrix-059</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-060.htm">svg-matrix-060</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-061.htm">svg-matrix-061</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-062.htm">svg-matrix-062</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-063.htm">svg-matrix-063</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-064.htm">svg-matrix-064</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-065.htm">svg-matrix-065</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-066.htm">svg-matrix-066</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-067.htm">svg-matrix-067</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-068.htm">svg-matrix-068</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-069.htm">svg-matrix-069</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-001-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-001.htm">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-002.htm">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-003.htm">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-004.htm">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-005.htm">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-006.htm">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-007.htm">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-008.htm">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-009.htm">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-010.htm">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-011.htm">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-012.htm">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-013.htm">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-014.htm">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-015.htm">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-016.htm">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-017.htm">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-018.htm">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-019.htm">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-020.htm">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-021.htm">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-022.htm">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-023.htm">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-024.htm">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-025.htm">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-026.htm">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-027.htm">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-028.htm">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-029.htm">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-030.htm">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-031.htm">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-032.htm">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-033.htm">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-034.htm">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-035.htm">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-036.htm">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-037.htm">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-038.htm">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-039.htm">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-040.htm">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-041.htm">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-042.htm">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-043.htm">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-044.htm">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-045.htm">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-046.htm">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-001.htm">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-002.htm">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-003.htm">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-004.htm">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-005.htm">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-006.htm">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-007.htm">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-008.htm">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-009.htm">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-010.htm">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-011.htm">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-012.htm">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-001.htm">svg-patterntransform-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-002.htm">svg-patterntransform-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-003.htm">svg-patterntransform-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-004.htm">svg-patterntransform-004</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-005.htm">svg-patterntransform-005</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-006.htm">svg-patterntransform-006</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-007.htm">svg-patterntransform-007</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-008.htm">svg-patterntransform-008</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-009.htm">svg-patterntransform-009</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-010.htm">svg-patterntransform-010</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-011.htm">svg-patterntransform-011</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-012.htm">svg-patterntransform-012</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-013.htm">svg-patterntransform-013</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-014.htm">svg-patterntransform-014</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-015.htm">svg-patterntransform-015</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-016.htm">svg-patterntransform-016</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-017.htm">svg-patterntransform-017</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-018.htm">svg-patterntransform-018</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-019.htm">svg-patterntransform-019</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-020.htm">svg-patterntransform-020</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-021.htm">svg-patterntransform-021</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-022.htm">svg-patterntransform-022</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-023.htm">svg-patterntransform-023</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-024.htm">svg-patterntransform-024</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-025.htm">svg-patterntransform-025</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-026.htm">svg-patterntransform-026</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-027.htm">svg-patterntransform-027</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-028.htm">svg-patterntransform-028</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-029.htm">svg-patterntransform-029</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-030.htm">svg-patterntransform-030</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-031.htm">svg-patterntransform-031</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-032.htm">svg-patterntransform-032</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-033.htm">svg-patterntransform-033</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-034.htm">svg-patterntransform-034</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-035.htm">svg-patterntransform-035</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-036.htm">svg-patterntransform-036</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-037.htm">svg-patterntransform-037</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-038.htm">svg-patterntransform-038</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-039.htm">svg-patterntransform-039</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-040.htm">svg-patterntransform-040</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-041.htm">svg-patterntransform-041</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-042.htm">svg-patterntransform-042</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-043.htm">svg-patterntransform-043</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-044.htm">svg-patterntransform-044</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-045.htm">svg-patterntransform-045</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-046.htm">svg-patterntransform-046</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-047.htm">svg-patterntransform-047</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-048.htm">svg-patterntransform-048</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-049.htm">svg-patterntransform-049</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-001.htm">svg-patterntransform-combination-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-002.htm">svg-patterntransform-combination-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-003.htm">svg-patterntransform-combination-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-001.htm">svg-patterntransform-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-002.htm">svg-patterntransform-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-003.htm">svg-patterntransform-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-004.htm">svg-patterntransform-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-005.htm">svg-patterntransform-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-006.htm">svg-patterntransform-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-001.htm">svg-patterntransform-relative-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-002.htm">svg-patterntransform-relative-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-003.htm">svg-patterntransform-relative-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-001.htm">svg-rotate-3args-001</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and pixel on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-002.htm">svg-rotate-3args-002</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments without units on rotate or translate values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-003.htm">svg-rotate-3args-003</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with grad on rotate and pt on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-004.htm">svg-rotate-3args-004</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with turn on rotate and pc on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-005.htm">svg-rotate-3args-005</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with rad on rotate and mm on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-006.htm">svg-rotate-3args-006</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative rotate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-007.htm">svg-rotate-3args-007</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateX
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-008.htm">svg-rotate-3args-008</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateY
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-009.htm">svg-rotate-3args-009</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-010.htm">svg-rotate-3args-010</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-011.htm">svg-rotate-3args-011</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-012.htm">svg-rotate-3args-012</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and negative percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-013.htm">svg-rotate-3args-013</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-014.htm">svg-rotate-3args-014</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-015.htm">svg-rotate-3args-015</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-016.htm">svg-rotate-3args-016</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-017.htm">svg-rotate-3args-017</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-018.htm">svg-rotate-3args-018</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-019.htm">svg-rotate-3args-019</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-020.htm">svg-rotate-3args-020</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-021.htm">svg-rotate-3args-021</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-022.htm">svg-rotate-3args-022</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-023.htm">svg-rotate-3args-023</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-001.htm">svg-rotate-3args-invalid-001</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-002.htm">svg-rotate-3args-invalid-002</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with no translation-value arguments and a comma
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-003.htm">svg-rotate-3args-invalid-003</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-004.htm">svg-rotate-3args-invalid-004</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-005.htm">svg-rotate-3args-invalid-005</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-001.htm">svg-rotate-angle-45-001</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-002.htm">svg-rotate-angle-45-002</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-003.htm">svg-rotate-angle-45-003</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-004.htm">svg-rotate-angle-45-004</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-005.htm">svg-rotate-angle-45-005</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-006.htm">svg-rotate-angle-45-006</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-007.htm">svg-rotate-angle-45-007</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-008.htm">svg-rotate-angle-45-008</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-009.htm">svg-rotate-angle-45-009</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-010.htm">svg-rotate-angle-45-010</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-011.htm">svg-rotate-angle-45-011</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-012.htm">svg-rotate-angle-45-012</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-013.htm">svg-rotate-angle-45-013</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-014.htm">svg-rotate-angle-45-014</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-015.htm">svg-rotate-angle-45-015</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-016.htm">svg-rotate-angle-45-016</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-017.htm">svg-rotate-angle-45-017</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-018.htm">svg-rotate-angle-45-018</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-019.htm">svg-rotate-angle-45-019</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-020.htm">svg-rotate-angle-45-020</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-021.htm">svg-rotate-angle-45-021</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-022.htm">svg-rotate-angle-45-022</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-023.htm">svg-rotate-angle-45-023</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-024.htm">svg-rotate-angle-45-024</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-025.htm">svg-rotate-angle-45-025</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-001.htm">svg-rotate-angle-90-001</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-002.htm">svg-rotate-angle-90-002</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-003.htm">svg-rotate-angle-90-003</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-004.htm">svg-rotate-angle-90-004</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-005.htm">svg-rotate-angle-90-005</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-006.htm">svg-rotate-angle-90-006</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-007.htm">svg-rotate-angle-90-007</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-008.htm">svg-rotate-angle-90-008</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-009.htm">svg-rotate-angle-90-009</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-010.htm">svg-rotate-angle-90-010</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-011.htm">svg-rotate-angle-90-011</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-012.htm">svg-rotate-angle-90-012</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-013.htm">svg-rotate-angle-90-013</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-014.htm">svg-rotate-angle-90-014</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-015.htm">svg-rotate-angle-90-015</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-016.htm">svg-rotate-angle-90-016</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-017.htm">svg-rotate-angle-90-017</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-018.htm">svg-rotate-angle-90-018</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-019.htm">svg-rotate-angle-90-019</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-020.htm">svg-rotate-angle-90-020</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-021.htm">svg-rotate-angle-90-021</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-022.htm">svg-rotate-angle-90-022</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-023.htm">svg-rotate-angle-90-023</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-024.htm">svg-rotate-angle-90-024</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-025.htm">svg-rotate-angle-90-025</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-001.htm">svg-scale-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-002.htm">svg-scale-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-003.htm">svg-scale-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-004.htm">svg-scale-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-005.htm">svg-scale-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-006.htm">svg-scale-006</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-007.htm">svg-scale-007</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-008.htm">svg-scale-008</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-009.htm">svg-scale-009</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-010.htm">svg-scale-010</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-011.htm">svg-scale-011</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-012.htm">svg-scale-012</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-013.htm">svg-scale-013</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-014.htm">svg-scale-014</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-015.htm">svg-scale-015</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-016.htm">svg-scale-016</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-017.htm">svg-scale-017</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-001.htm">svg-scalex-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-002.htm">svg-scalex-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-003.htm">svg-scalex-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-004.htm">svg-scalex-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-005.htm">svg-scalex-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-001.htm">svg-scaley-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-002.htm">svg-scaley-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-003.htm">svg-scaley-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-004.htm">svg-scaley-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-005.htm">svg-scaley-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-001.htm">svg-skewx-001</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-002.htm">svg-skewx-002</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-003.htm">svg-skewx-003</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-004.htm">svg-skewx-004</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-005.htm">svg-skewx-005</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-006.htm">svg-skewx-006</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-007.htm">svg-skewx-007</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-008.htm">svg-skewx-008</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-009.htm">svg-skewx-009</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-010.htm">svg-skewx-010</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-011.htm">svg-skewx-011</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-012.htm">svg-skewx-012</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-013.htm">svg-skewx-013</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-014.htm">svg-skewx-014</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-015.htm">svg-skewx-015</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-016.htm">svg-skewx-016</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-017.htm">svg-skewx-017</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-018.htm">svg-skewx-018</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-019.htm">svg-skewx-019</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-020.htm">svg-skewx-020</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-021.htm">svg-skewx-021</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-022.htm">svg-skewx-022</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-023.htm">svg-skewx-023</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-024.htm">svg-skewx-024</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-025.htm">svg-skewx-025</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewxy-001.htm">svg-skewxy-001</a></strong></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewxy-002.htm">svg-skewxy-002</a></strong></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-001.htm">svg-skewy-001</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-002.htm">svg-skewy-002</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-003.htm">svg-skewy-003</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-004.htm">svg-skewy-004</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-005.htm">svg-skewy-005</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-006.htm">svg-skewy-006</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-007.htm">svg-skewy-007</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-008.htm">svg-skewy-008</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-009.htm">svg-skewy-009</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-010.htm">svg-skewy-010</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-011.htm">svg-skewy-011</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-012.htm">svg-skewy-012</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-013.htm">svg-skewy-013</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-014.htm">svg-skewy-014</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-015.htm">svg-skewy-015</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-016.htm">svg-skewy-016</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-017.htm">svg-skewy-017</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-018.htm">svg-skewy-018</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-019.htm">svg-skewy-019</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-020.htm">svg-skewy-020</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-021.htm">svg-skewy-021</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-022.htm">svg-skewy-022</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-023.htm">svg-skewy-023</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-024.htm">svg-skewy-024</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-025.htm">svg-skewy-025</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-001.htm">svg-transform-group-001</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-002.htm">svg-transform-group-002</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-003.htm">svg-transform-group-003</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-004.htm">svg-transform-group-004</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-005.htm">svg-transform-group-005</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-006.htm">svg-transform-group-006</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-007.htm">svg-transform-group-007</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-008.htm">svg-transform-group-008</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-009.htm">svg-transform-group-009</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-010.htm">svg-transform-group-010</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-011.htm">svg-transform-group-011</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-001.htm">svg-transform-list-separations-001</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-002.htm">svg-transform-list-separations-002</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-003.htm">svg-transform-list-separations-003</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-004.htm">svg-transform-list-separations-004</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-005.htm">svg-transform-list-separations-005</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-006.htm">svg-transform-list-separations-006</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-007.htm">svg-transform-list-separations-007</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-008.htm">svg-transform-list-separations-008</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-009.htm">svg-transform-list-separations-009</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-010.htm">svg-transform-list-separations-010</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-011.htm">svg-transform-list-separations-011</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-001.htm">svg-transform-nested-001</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-002.htm">svg-transform-nested-002</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-003.htm">svg-transform-nested-003</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-004.htm">svg-transform-nested-004</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-005.htm">svg-transform-nested-005</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-006.htm">svg-transform-nested-006</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-007.htm">svg-transform-nested-007</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-008.htm">svg-transform-nested-008</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-009.htm">svg-transform-nested-009</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-010.htm">svg-transform-nested-010</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, matrix on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-011.htm">svg-transform-nested-011</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-012.htm">svg-transform-nested-012</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-013.htm">svg-transform-nested-013</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-014.htm">svg-transform-nested-014</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-015.htm">svg-transform-nested-015</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-016.htm">svg-transform-nested-016</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-017.htm">svg-transform-nested-017</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-018.htm">svg-transform-nested-018</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-019.htm">svg-transform-nested-019</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-020.htm">svg-transform-nested-020</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-021.htm">svg-transform-nested-021</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scaleY on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-022.htm">svg-transform-nested-022</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-023.htm">svg-transform-nested-023</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translate on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-024.htm">svg-transform-nested-024</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, translateX on child1, scaleX on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-025.htm">svg-transform-nested-025</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, translateY on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-026.htm">svg-transform-nested-026</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translate on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-027.htm">svg-transform-nested-027</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-028.htm">svg-transform-nested-028</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-029.htm">svg-transform-nested-029</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate with three arguments on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-001.htm">svg-translate-001</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-002.htm">svg-translate-002</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-003.htm">svg-translate-003</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-004.htm">svg-translate-004</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-005.htm">svg-translate-005</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-006.htm">svg-translate-006</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-007.htm">svg-translate-007</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-008.htm">svg-translate-008</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-009.htm">svg-translate-009</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-010.htm">svg-translate-010</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-011.htm">svg-translate-011</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-012.htm">svg-translate-012</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-013.htm">svg-translate-013</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-014.htm">svg-translate-014</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-015.htm">svg-translate-015</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-016.htm">svg-translate-016</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-017.htm">svg-translate-017</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-018.htm">svg-translate-018</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-019.htm">svg-translate-019</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-020.htm">svg-translate-020</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-021.htm">svg-translate-021</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-022.htm">svg-translate-022</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-023.htm">svg-translate-023</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-024.htm">svg-translate-024</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-025.htm">svg-translate-025</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-026.htm">svg-translate-026</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-027.htm">svg-translate-027</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-028.htm">svg-translate-028</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-029.htm">svg-translate-029</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-030.htm">svg-translate-030</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-031.htm">svg-translate-031</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-032.htm">svg-translate-032</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-033.htm">svg-translate-033</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-034.htm">svg-translate-034</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-035.htm">svg-translate-035</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-036.htm">svg-translate-036</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-037.htm">svg-translate-037</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-038.htm">svg-translate-038</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-039.htm">svg-translate-039</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-040.htm">svg-translate-040</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-041.htm">svg-translate-041</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-042.htm">svg-translate-042</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-043.htm">svg-translate-043</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-044.htm">svg-translate-044</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-045.htm">svg-translate-045</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-046.htm">svg-translate-046</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-047.htm">svg-translate-047</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-048.htm">svg-translate-048</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-049.htm">svg-translate-049</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-050.htm">svg-translate-050</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-051.htm">svg-translate-051</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-052.htm">svg-translate-052</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-053.htm">svg-translate-053</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-054.htm">svg-translate-054</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-055.htm">svg-translate-055</a></strong></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-001.htm">svg-translate-abs-unit-combinations-001</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-002.htm">svg-translate-abs-unit-combinations-002</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-003.htm">svg-translate-abs-unit-combinations-003</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-004.htm">svg-translate-abs-unit-combinations-004</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-005.htm">svg-translate-abs-unit-combinations-005</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-006.htm">svg-translate-abs-unit-combinations-006</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-001.htm">svg-translate-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-002.htm">svg-translate-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-003.htm">svg-translate-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-004.htm">svg-translate-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-005.htm">svg-translate-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-006.htm">svg-translate-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-001.htm">svg-translate-multiple-001</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-002.htm">svg-translate-multiple-002</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-relative-001.htm">svg-translate-multiple-relative-001</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-relative-002.htm">svg-translate-multiple-relative-002</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-001.htm">svg-translate-relative-001</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-002.htm">svg-translate-relative-002</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-003.htm">svg-translate-relative-003</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-004.htm">svg-translate-relative-004</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-005.htm">svg-translate-relative-005</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-006.htm">svg-translate-relative-006</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-007.htm">svg-translate-relative-007</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-008.htm">svg-translate-relative-008</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-001.htm">svg-translatex-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-002.htm">svg-translatex-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-003.htm">svg-translatex-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-004.htm">svg-translatex-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-005.htm">svg-translatex-005</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-006.htm">svg-translatex-006</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-007.htm">svg-translatex-007</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-008.htm">svg-translatex-008</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-009.htm">svg-translatex-009</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-010.htm">svg-translatex-010</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-011.htm">svg-translatex-011</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-012.htm">svg-translatex-012</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-013.htm">svg-translatex-013</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-014.htm">svg-translatex-014</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-015.htm">svg-translatex-015</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-016.htm">svg-translatex-016</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-017.htm">svg-translatex-017</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-018.htm">svg-translatex-018</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-019.htm">svg-translatex-019</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-020.htm">svg-translatex-020</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-021.htm">svg-translatex-021</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-022.htm">svg-translatex-022</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-023.htm">svg-translatex-023</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-024.htm">svg-translatex-024</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-025.htm">svg-translatex-025</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-026.htm">svg-translatex-026</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-027.htm">svg-translatex-027</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-028.htm">svg-translatex-028</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-029.htm">svg-translatex-029</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-030.htm">svg-translatex-030</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-031.htm">svg-translatex-031</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-032.htm">svg-translatex-032</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-033.htm">svg-translatex-033</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-034.htm">svg-translatex-034</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-035.htm">svg-translatex-035</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-036.htm">svg-translatex-036</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-037.htm">svg-translatex-037</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-038.htm">svg-translatex-038</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-039.htm">svg-translatex-039</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-040.htm">svg-translatex-040</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-041.htm">svg-translatex-041</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-042.htm">svg-translatex-042</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-043.htm">svg-translatex-043</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-044.htm">svg-translatex-044</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-045.htm">svg-translatex-045</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-046.htm">svg-translatex-046</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-047.htm">svg-translatex-047</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-048.htm">svg-translatex-048</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-001.htm">svg-translatex-combination-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-002.htm">svg-translatex-combination-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-003.htm">svg-translatex-combination-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-004.htm">svg-translatex-combination-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-001.htm">svg-translatex-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-002.htm">svg-translatex-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-003.htm">svg-translatex-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-004.htm">svg-translatex-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-005.htm">svg-translatex-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-006.htm">svg-translatex-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-relative-001.htm">svg-translatex-relative-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-relative-002.htm">svg-translatex-relative-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-001.htm">svg-translatey-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-002.htm">svg-translatey-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-003.htm">svg-translatey-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-004.htm">svg-translatey-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-005.htm">svg-translatey-005</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-006.htm">svg-translatey-006</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-007.htm">svg-translatey-007</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-008.htm">svg-translatey-008</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-009.htm">svg-translatey-009</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-010.htm">svg-translatey-010</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-011.htm">svg-translatey-011</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-012.htm">svg-translatey-012</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-013.htm">svg-translatey-013</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-014.htm">svg-translatey-014</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-015.htm">svg-translatey-015</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-016.htm">svg-translatey-016</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-017.htm">svg-translatey-017</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-018.htm">svg-translatey-018</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-019.htm">svg-translatey-019</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-020.htm">svg-translatey-020</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-021.htm">svg-translatey-021</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-022.htm">svg-translatey-022</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-023.htm">svg-translatey-023</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-024.htm">svg-translatey-024</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-025.htm">svg-translatey-025</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-026.htm">svg-translatey-026</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-027.htm">svg-translatey-027</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-028.htm">svg-translatey-028</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-029.htm">svg-translatey-029</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-030.htm">svg-translatey-030</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-031.htm">svg-translatey-031</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-032.htm">svg-translatey-032</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-033.htm">svg-translatey-033</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-034.htm">svg-translatey-034</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-035.htm">svg-translatey-035</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-036.htm">svg-translatey-036</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-037.htm">svg-translatey-037</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-038.htm">svg-translatey-038</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-039.htm">svg-translatey-039</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-040.htm">svg-translatey-040</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-041.htm">svg-translatey-041</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-042.htm">svg-translatey-042</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-043.htm">svg-translatey-043</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-044.htm">svg-translatey-044</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-045.htm">svg-translatey-045</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-046.htm">svg-translatey-046</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-047.htm">svg-translatey-047</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-048.htm">svg-translatey-048</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-001.htm">svg-translatey-combination-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-002.htm">svg-translatey-combination-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-003.htm">svg-translatey-combination-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-004.htm">svg-translatey-combination-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-001.htm">svg-translatey-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-002.htm">svg-translatey-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-003.htm">svg-translatey-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-004.htm">svg-translatey-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-005.htm">svg-translatey-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-006.htm">svg-translatey-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-relative-001.htm">svg-translatey-relative-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-relative-002.htm">svg-translatey-relative-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity">13.1 SVG transform attribute specificity</a></th></tr>
+ <!-- 42 tests -->
+ <tr id="svg-document-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-001.htm">svg-document-styles-001</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-002.htm">svg-document-styles-002</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-003.htm">svg-document-styles-003</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-004.htm">svg-document-styles-004</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-005.htm">svg-document-styles-005</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid document transform style
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-006.htm">svg-document-styles-006</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-007.htm">svg-document-styles-007</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-008.htm">svg-document-styles-008</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-009.htm">svg-document-styles-009</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-010.htm">svg-document-styles-010</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-011.htm">svg-document-styles-011</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-012.htm">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-013.htm">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-014.htm">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-001.htm">svg-external-styles-001</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-002.htm">svg-external-styles-002</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-003.htm">svg-external-styles-003</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-004.htm">svg-external-styles-004</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-005.htm">svg-external-styles-005</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid external transform style
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-006.htm">svg-external-styles-006</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-007.htm">svg-external-styles-007</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-008.htm">svg-external-styles-008</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-009.htm">svg-external-styles-009</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-010.htm">svg-external-styles-010</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-011.htm">svg-external-styles-011</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-012.htm">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-013.htm">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-014.htm">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-001.htm">svg-inline-styles-001</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-002.htm">svg-inline-styles-002</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-003.htm">svg-inline-styles-003</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-004.htm">svg-inline-styles-004</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-005.htm">svg-inline-styles-005</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid inline transform style
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-006.htm">svg-inline-styles-006</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-007.htm">svg-inline-styles-007</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-008.htm">svg-inline-styles-008</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-009.htm">svg-inline-styles-009</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-010.htm">svg-inline-styles-010</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-011.htm">svg-inline-styles-011</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-012.htm">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-013.htm">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-014.htm">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-syntax">13.2 Syntax of the SVG transform attribute</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list">13.2.1 Transform List</a></th></tr>
+ <!-- 11 tests -->
+ <tr id="svg-transform-list-separations-001-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.htm">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.htm">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.htm">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.htm">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.htm">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.htm">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.htm">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.htm">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.htm">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.htm">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.htm">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation">13.2.2 Functional Notation</a></th></tr>
+ <!-- 15 tests -->
+ <tr id="svg-rotate-3args-013-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-013.htm">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-014.htm">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-015.htm">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-016.htm">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-001-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.htm">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.htm">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.htm">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.htm">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.htm">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.htm">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.htm">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.htm">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.htm">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.htm">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.htm">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-data-types">13.2.3 SVG Data Types</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.3.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value">13.2.3.1 The <translation-value> and <length> type</a></th></tr>
+ <!-- 61 tests -->
+ <tr id="svg-gradienttransform-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.htm">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.htm">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.htm">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.htm">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.htm">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.htm">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-006.htm">svg-origin-length-006</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-007-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-007.htm">svg-origin-length-007</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-008-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-008.htm">svg-origin-length-008</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50 50
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.htm">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.htm">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.htm">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.htm">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.htm">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.htm">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.htm">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.htm">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.htm">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.htm">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.htm">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.htm">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.htm">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.htm">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.htm">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.htm">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.htm">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-001.htm">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-006.htm">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-011.htm">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-016.htm">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-017.htm">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-021.htm">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-001.htm">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-006.htm">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-011.htm">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-016.htm">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-017.htm">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-021.htm">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-001.htm">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-009.htm">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-017.htm">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-025.htm">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-033.htm">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-041.htm">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.htm">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.htm">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.htm">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.htm">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.htm">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-001.htm">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-009.htm">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-017.htm">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-025.htm">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-033.htm">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-041.htm">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-001.htm">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-009.htm">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-017.htm">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-025.htm">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-033.htm">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-041.htm">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3.1.#typedef-translation-value">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.3.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-angle">13.2.3.2 The <angle> type</a></th></tr>
+ <!-- 50 tests -->
+ <tr id="svg-rotate-angle-45-001-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.htm">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.htm">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.htm">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.htm">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.htm">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.htm">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.htm">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.htm">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.htm">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.htm">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.htm">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.htm">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.htm">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.htm">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.htm">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.htm">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.htm">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.htm">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.htm">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.htm">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.htm">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.htm">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.htm">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.htm">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.htm">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.htm">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.htm">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.htm">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.htm">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.htm">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.htm">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.htm">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.htm">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.htm">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.htm">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.htm">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.htm">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.htm">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.htm">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.htm">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.htm">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.htm">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.htm">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.htm">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.htm">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.htm">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.htm">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.htm">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.htm">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.htm">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-number">13.2.3.3 The <number> type</a></th></tr>
+ <!-- 220 tests -->
+ <tr id="svg-gradienttransform-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.htm">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.htm">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.htm">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.htm">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.htm">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.htm">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.htm">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.htm">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.htm">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.htm">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.htm">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.htm">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.htm">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.htm">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.htm">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.htm">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.htm">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.htm">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.htm">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.htm">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.htm">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.htm">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.htm">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.htm">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.htm">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.htm">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.htm">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.htm">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.htm">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.htm">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.htm">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.htm">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.htm">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.htm">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.htm">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.htm">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.htm">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.htm">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.htm">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.htm">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.htm">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.htm">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.htm">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.htm">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.htm">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.htm">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.htm">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.htm">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.htm">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.htm">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.htm">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.htm">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.htm">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.htm">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.htm">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.htm">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.htm">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.htm">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.htm">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.htm">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.htm">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.htm">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.htm">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.htm">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.htm">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.htm">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.htm">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.htm">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.htm">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.htm">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.htm">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.htm">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.htm">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.htm">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.htm">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.htm">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.htm">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.htm">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.htm">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.htm">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.htm">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.htm">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.htm">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.htm">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.htm">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.htm">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.htm">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.htm">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.htm">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.htm">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.htm">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.htm">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-016.htm">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-017.htm">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-018.htm">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-019.htm">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-020.htm">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-021.htm">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-022.htm">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-023.htm">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-024.htm">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-025.htm">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-016.htm">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-017.htm">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-018.htm">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-019.htm">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-020.htm">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-021.htm">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-022.htm">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-023.htm">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-024.htm">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-025.htm">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-009.htm">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-010.htm">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-011.htm">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-012.htm">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-013.htm">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-014.htm">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-015.htm">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.htm">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-017.htm">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-018.htm">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-019.htm">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-020.htm">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-021.htm">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-022.htm">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-023.htm">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.htm">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-033.htm">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-034.htm">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-035.htm">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-036.htm">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-037.htm">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-038.htm">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-039.htm">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.htm">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-041.htm">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-042.htm">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-043.htm">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-044.htm">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-045.htm">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-046.htm">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-047.htm">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.htm">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.htm">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.htm">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.htm">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.htm">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-009.htm">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-010.htm">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-011.htm">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-012.htm">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-013.htm">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-014.htm">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-015.htm">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.htm">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-017.htm">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-018.htm">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-019.htm">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-020.htm">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-021.htm">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-022.htm">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-023.htm">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.htm">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-033.htm">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-034.htm">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-035.htm">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-036.htm">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-037.htm">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-038.htm">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-039.htm">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.htm">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-041.htm">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-042.htm">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-043.htm">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-044.htm">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-045.htm">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-046.htm">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-047.htm">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.htm">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.htm">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.htm">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.htm">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.htm">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-009.htm">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-010.htm">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-011.htm">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-012.htm">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-013.htm">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-014.htm">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-015.htm">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.htm">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-017.htm">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-018.htm">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-019.htm">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-020.htm">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-021.htm">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-022.htm">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-023.htm">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.htm">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-033.htm">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-034.htm">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-035.htm">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-036.htm">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-037.htm">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-038.htm">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-039.htm">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.htm">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-041.htm">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-042.htm">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-043.htm">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-044.htm">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-045.htm">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-046.htm">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-047.htm">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.htm">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.htm">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.htm">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.htm">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.htm">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform">13.3 The SVG gradientTransform and patternTransform attributes</a></th></tr>
+ <!-- 122 tests -->
+ <tr id="svg-gradienttransform-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.htm">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-002.htm">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-003.htm">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-004.htm">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-005.htm">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-006.htm">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-007.htm">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-008.htm">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.htm">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.htm">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.htm">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.htm">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.htm">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.htm">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.htm">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.htm">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.htm">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.htm">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.htm">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.htm">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.htm">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.htm">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.htm">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.htm">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.htm">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-026.htm">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-027.htm">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-028.htm">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-029.htm">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-030.htm">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-031.htm">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-032.htm">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.htm">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.htm">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.htm">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.htm">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.htm">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.htm">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.htm">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.htm">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.htm">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.htm">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.htm">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.htm">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.htm">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.htm">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.htm">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.htm">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-049.htm">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-001.htm">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-002.htm">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-003.htm">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-001.htm">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.htm">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.htm">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-004.htm">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.htm">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.htm">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-001.htm">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-002.htm">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-003.htm">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.htm">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-002.htm">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-003.htm">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-004.htm">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-005.htm">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-006.htm">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-007.htm">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-008.htm">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.htm">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.htm">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.htm">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.htm">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.htm">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.htm">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.htm">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.htm">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.htm">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.htm">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.htm">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.htm">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.htm">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.htm">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.htm">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.htm">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.htm">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-026.htm">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-027.htm">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-028.htm">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-029.htm">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-030.htm">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-031.htm">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-032.htm">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.htm">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.htm">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.htm">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.htm">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.htm">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.htm">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.htm">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.htm">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.htm">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.htm">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.htm">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.htm">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.htm">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.htm">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.htm">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.htm">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-049.htm">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-001.htm">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-002.htm">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-003.htm">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-001.htm">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.htm">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.htm">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-004.htm">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.htm">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.htm">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.htm">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.htm">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.htm">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.4">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.4">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions">13.4 SVG transform functions</a></th></tr>
+ <!-- 39 tests -->
+ <tr id="svg-document-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-012.htm">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-013.htm">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-014.htm">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-012.htm">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-013.htm">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-014.htm">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-012.htm">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-013.htm">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-014.htm">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-001-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-001.htm">svg-rotate-3args-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and pixel on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-002-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-002.htm">svg-rotate-3args-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments without units on rotate or translate values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-003-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-003.htm">svg-rotate-3args-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with grad on rotate and pt on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-004-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-004.htm">svg-rotate-3args-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with turn on rotate and pc on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-005-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-005.htm">svg-rotate-3args-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with rad on rotate and mm on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-006-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-006.htm">svg-rotate-3args-006</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative rotate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-007-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-007.htm">svg-rotate-3args-007</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateX
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-008-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-008.htm">svg-rotate-3args-008</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateY
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-009-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-009.htm">svg-rotate-3args-009</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-010-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-010.htm">svg-rotate-3args-010</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-011-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-011.htm">svg-rotate-3args-011</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-012-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-012.htm">svg-rotate-3args-012</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and negative percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-013-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-013.htm">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-014.htm">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-015.htm">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-016.htm">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-017.htm">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-018.htm">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-019.htm">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-020.htm">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-021.htm">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-022.htm">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-023.htm">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-001-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-001.htm">svg-rotate-3args-invalid-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-002-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-002.htm">svg-rotate-3args-invalid-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with no translation-value arguments and a comma
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-003-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-003.htm">svg-rotate-3args-invalid-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-004-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-004.htm">svg-rotate-3args-invalid-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-005-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-005.htm">svg-rotate-3args-invalid-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-13.4" class="svg">
+ <td>
+ <a href="svg-transform-group-011.htm">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-029-13.4" class="svg">
+ <td>
+ <a href="svg-transform-nested-029.htm">svg-transform-nested-029</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate with three arguments on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.4.#rotate-three-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.5">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.5">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-three-dimensional-functions">13.5 SVG and 3D transform functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.6">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.6">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space">13.6 User coordinate space</a></th></tr>
+ <!-- 61 tests -->
+ <tr id="svg-origin-relative-length-001-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-001.htm">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-002.htm">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-003.htm">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-004.htm">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-005.htm">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-006.htm">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-007.htm">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-008.htm">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-009.htm">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-010.htm">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-011.htm">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-012.htm">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-013.htm">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-014.htm">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-015.htm">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-016.htm">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-017.htm">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-018.htm">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-019.htm">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-020.htm">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-021.htm">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-022.htm">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-023.htm">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-024.htm">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-025.htm">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-026.htm">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-027.htm">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-028.htm">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-029.htm">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-030.htm">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-031.htm">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-032.htm">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-033.htm">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-034.htm">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-035.htm">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-036.htm">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-037.htm">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-038.htm">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-039.htm">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-040.htm">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-041.htm">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-042.htm">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-043.htm">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-044.htm">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-045.htm">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-046.htm">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-001.htm">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-002.htm">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-003.htm">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-004.htm">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-005.htm">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-006.htm">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-007.htm">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-008.htm">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-009.htm">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-010.htm">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-011.htm">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-012.htm">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.htm">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.htm">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.htm">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.7">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.7">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-dom">13.7 SVG DOM interface for the transform attribute</a></th></tr>
+ <!-- 1 tests -->
+ <tr id="css-transforms-transformlist-13.7" class="primary">
+ <td><strong>
+ <a href="css-transforms-transformlist.htm">css-transforms-transformlist</a></strong></td>
+ <td><a href="reference/css-transforms-transformlist-ref.htm">=</a> </td>
+ <td></td>
+ <td>SVG transform in baseVal list
+ <ul class="assert">
+ <li>This test verifies that the CSS transform ends up in the list of SVG transforms</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-14.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-14.htm
new file mode 100644
index 00000000000..17f5c260a05
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-14.htm
@@ -0,0 +1,57 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>SVG Animation - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>SVG Animation (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s14">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-animation">14 SVG Animation</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-animate-element">14.1 The <animate> and <set> element</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#neutral-element">14.2 Neutral element for addition</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-attribute-name">14.3 The SVG attributeName attribute</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-15.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-15.htm
new file mode 100644
index 00000000000..e6cae164bdb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-15.htm
@@ -0,0 +1,12716 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The Transform Functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Functions (691 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s15">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-functions">15 The Transform Functions</a></th></tr>
+ <!-- 7 tests -->
+ <tr id="animations-001-15" class="ahem animated">
+ <td>
+ <a href="animations-001.htm">animations-001</a></td>
+ <td><a href="reference/animations-001-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="animated" title="Animated test">Animated</abbr></td>
+ <td>CSS Regions: animating content flowed into a region
+ <ul class="assert">
+ <li>Test checks that content that has an animated 3D transform renders and animates when flowed in a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="canvas3d-001-15" class="dom">
+ <td>
+ <a href="canvas3d-001.htm">canvas3d-001</a></td>
+ <td><a href="reference/canvas3d-001-ref.htm">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ <td>CSS Regions: rendering 3D canvas elements inside regions
+ <ul class="assert">
+ <li>Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="canvas3d-002-15" class="dom">
+ <td>
+ <a href="canvas3d-002.htm">canvas3d-002</a></td>
+ <td><a href="reference/canvas3d-002-ref.htm">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ <td>CSS Regions: rendering text flowed in a region on top of 3D content
+ <ul class="assert">
+ <li>Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-001-15" class="">
+ <td>
+ <a href="css-transform-scale-001.htm">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-15" class="">
+ <td>
+ <a href="css-transform-scale-002.htm">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="iframe-001-15" class="ahem">
+ <td>
+ <a href="iframe-001.htm">iframe-001</a></td>
+ <td><a href="reference/iframe-001-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: flowing an iframe that loads content with 3D transform
+ <ul class="assert">
+ <li>Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="video-001-15" class="">
+ <td>
+ <a href="video-001.htm">video-001</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS Regions: flowing a video in a region
+ <ul class="assert">
+ <li>Test checks videos flowed in regions render smoothly and without artifacts.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.#typedef-transform-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">15.1 2D Transform Functions</a></th></tr>
+ <!-- 638 tests -->
+ <tr id="css-rotate-2d-3d-001-15.1" class="primary">
+ <td><strong>
+ <a href="css-rotate-2d-3d-001.htm">css-rotate-2d-3d-001</a></strong></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>2D rotation with 3D rotation
+ <ul class="assert">
+ <li>This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-scale-nested-001-15.1" class="">
+ <td>
+ <a href="css-scale-nested-001.htm">css-scale-nested-001</a></td>
+ <td><a href="reference/css-scale-nested-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale 0 on a parent with a child
+ <ul class="assert">
+ <li>Child square element is transformed (scaled to zero) along with the parent element</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-skew-001-15.1" class="primary">
+ <td><strong>
+ <a href="css-skew-001.htm">css-skew-001</a></strong></td>
+ <td><a href="reference/css-skew-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>skew function part 1
+ </td>
+ </tr>
+ <tr id="css-skew-002-15.1" class="primary">
+ <td><strong>
+ <a href="css-skew-002.htm">css-skew-002</a></strong></td>
+ <td><a href="reference/css-skew-002-ref.htm">=</a> </td>
+ <td></td>
+ <td>skew function part 2
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-rotate-15.1" class="">
+ <td>
+ <a href="css-transform-inherit-rotate.htm">css-transform-inherit-rotate</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms rotate inheritance on div element
+ <ul class="assert">
+ <li>Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-scale-15.1" class="">
+ <td>
+ <a href="css-transform-inherit-scale.htm">css-transform-inherit-scale</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms scale 2 inheritance on div elements
+ <ul class="assert">
+ <li>While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-001-15.1" class="">
+ <td>
+ <a href="regions-transforms-001.htm">regions-transforms-001</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (non-text) content
+ <ul class="assert">
+ <li>This test checks that the transform is applied to the named flow non-text content.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-002-15.1" class="">
+ <td>
+ <a href="regions-transforms-002.htm">regions-transforms-002</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow content element that has a child
+ <ul class="assert">
+ <li>This test checks that the child is transformed along with the parent when the transform is applied to a named flow content node</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-003-15.1" class="">
+ <td>
+ <a href="regions-transforms-003.htm">regions-transforms-003</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Named flow content that has a transformed parent outside of the named flow
+ <ul class="assert">
+ <li>This tests checks that when a transform is applied to a parent outside of the named flow but has child in the named flow, the child is not transformed along with the parent.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-007-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-007.htm">regions-transforms-007</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transforms on both the named flow content and the region
+ <ul class="assert">
+ <li>Test checks that if both the content flowed in a region and the region have a transform applied, they are properly composed. More specifically, in this test the content should appear as rotated 180 degrees.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-008-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-008.htm">regions-transforms-008</a></td>
+ <td><a href="reference/regions-transforms-008-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows
+ <ul class="assert">
+ <li>This test checks that named flow text content is transformed when it breaks across multiple regions and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-009-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-009.htm">regions-transforms-009</a></td>
+ <td><a href="reference/regions-transforms-008-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows
+ <ul class="assert">
+ <li>This test checks that the regions are transformed when named flow text content breaks across multiple regions and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-010-15.1" class="">
+ <td>
+ <a href="regions-transforms-010.htm">regions-transforms-010</a></td>
+ <td><a href="reference/regions-transforms-010-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region with position: relative
+ <ul class="assert">
+ <li>This test checks that the transform can be applied on relative positioned region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-011-15.1" class="">
+ <td>
+ <a href="regions-transforms-011.htm">regions-transforms-011</a></td>
+ <td><a href="reference/regions-transforms-010-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region where parent and child are separate named flow content nodes
+ <ul class="assert">
+ <li>This test checks that the region is transformed when a parent and its child are separate named flow content nodes flowing into it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-012-15.1" class="">
+ <td>
+ <a href="regions-transforms-012.htm">regions-transforms-012</a></td>
+ <td><a href="reference/regions-transforms-010-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow content flowing into transformed region
+ <ul class="assert">
+ <li>This test checks that named flow text content is transformed when it flows into a region that is also transformed.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-013-15.1" class="">
+ <td>
+ <a href="regions-transforms-013.htm">regions-transforms-013</a></td>
+ <td><a href="reference/regions-transforms-013-alt-ref.htm">=</a> <a href="reference/regions-transforms-013-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions
+ <ul class="assert">
+ <li>This test checks that the named flow content that is monolithic is transformed when it breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-014-15.1" class="">
+ <td>
+ <a href="regions-transforms-014.htm">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transform region with position:absolute and transform-origin
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-015-15.1" class="">
+ <td>
+ <a href="regions-transforms-015.htm">regions-transforms-015</a></td>
+ <td><a href="reference/regions-transforms-014-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to named flow content that flows into a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-017-15.1" class="">
+ <td>
+ <a href="regions-transforms-017.htm">regions-transforms-017</a></td>
+ <td><a href="reference/regions-transforms-017-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Multiple transformed named flow content nodes that overflow a region
+ <ul class="assert">
+ <li>This test checks that multiple named flow content nodes are transformed into a region and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-020-15.1" class="">
+ <td>
+ <a href="regions-transforms-020.htm">regions-transforms-020</a></td>
+ <td><a href="reference/regions-transforms-020-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions
+ <ul class="assert">
+ <li>This test checks that the named flow content that is fragmentable (has a break point) is transformed when it breaks across multiple regions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-021-15.1" class="">
+ <td>
+ <a href="regions-transforms-021.htm">regions-transforms-021</a></td>
+ <td><a href="reference/regions-transforms-020-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions
+ <ul class="assert">
+ <li>This test checks that separate transforms can be applied to each named flow content node that breaks across multiple regions and that each fragment has its own transform origin.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-022-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-022.htm">regions-transforms-022</a></td>
+ <td><a href="reference/regions-transforms-020-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions
+ <ul class="assert">
+ <li>This test checks that separate transforms can be applied to each named flow content text node that breaks across multiple regions</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate-180-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-180-degrees-001.htm">rotate-180-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 180 deg
+ </td>
+ </tr>
+ <tr id="rotate-270-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-270-degrees-001.htm">rotate-270-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 270 deg
+ </td>
+ </tr>
+ <tr id="rotate-90-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-90-degrees-001.htm">rotate-90-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 90 deg
+ </td>
+ </tr>
+ <tr id="scale-optional-second-001-15.1" class="">
+ <td>
+ <a href="scale-optional-second-001.htm">scale-optional-second-001</a></td>
+ <td><a href="reference/scale-optional-second-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and one parameter
+ <ul class="assert">
+ <li>If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scale-zero-001-15.1" class="">
+ <td>
+ <a href="scale-zero-001.htm">scale-zero-001</a></td>
+ <td><a href="reference/scale-zero-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and zero values
+ <ul class="assert">
+ <li>If zero value is passed to scale function, it causes the element to disappear.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="skew-test1-15.1" class="svg">
+ <td>
+ <a href="skew-test1.htm">skew-test1</a></td>
+ <td><a href="reference/skew-test1-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Testing 1 - skew()
+ <ul class="assert">
+ <li>The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.htm">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-002.htm">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-003.htm">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-004.htm">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-005.htm">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-006.htm">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-007.htm">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-008.htm">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.htm">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.htm">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.htm">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.htm">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.htm">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.htm">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.htm">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.htm">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.htm">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.htm">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.htm">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.htm">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.htm">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.htm">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.htm">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.htm">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.htm">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-026.htm">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-027.htm">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-028.htm">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-029.htm">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-030.htm">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-031.htm">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-032.htm">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.htm">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.htm">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.htm">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.htm">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.htm">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.htm">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.htm">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.htm">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.htm">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.htm">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.htm">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.htm">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.htm">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.htm">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.htm">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.htm">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-049.htm">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-001.htm">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-002.htm">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-003.htm">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-001.htm">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.htm">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.htm">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-004.htm">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.htm">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.htm">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-001.htm">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-002.htm">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-003.htm">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-001-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-001.htm">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-002.htm">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-003.htm">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-004.htm">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-005.htm">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-006.htm">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-007.htm">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-008.htm">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-009.htm">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-010.htm">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-011.htm">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-012.htm">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-013.htm">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-014.htm">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-015.htm">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-016.htm">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-017.htm">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-018.htm">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-019.htm">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-020.htm">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-021.htm">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-022.htm">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-023.htm">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-024.htm">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-025.htm">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-026.htm">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-027.htm">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-028.htm">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-029.htm">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-030.htm">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-031.htm">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-032.htm">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-033.htm">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-034.htm">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-035.htm">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-036.htm">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-037.htm">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-038.htm">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-039.htm">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-040.htm">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-041.htm">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-042.htm">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-043.htm">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-044.htm">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-045.htm">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-046.htm">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-047.htm">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-048.htm">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-049.htm">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-050.htm">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-051.htm">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-052.htm">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-053.htm">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-054.htm">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-055.htm">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-056.htm">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-057.htm">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-058.htm">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-059.htm">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-060.htm">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-061.htm">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-062.htm">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-063.htm">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-064.htm">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-065.htm">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-066.htm">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-067.htm">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-068.htm">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-069.htm">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.htm">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-002.htm">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-003.htm">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-004.htm">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-005.htm">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-006.htm">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-007.htm">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-008.htm">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.htm">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.htm">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.htm">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.htm">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.htm">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.htm">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.htm">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.htm">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.htm">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.htm">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.htm">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.htm">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.htm">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.htm">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.htm">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.htm">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.htm">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-026.htm">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-027.htm">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-028.htm">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-029.htm">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-030.htm">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-031.htm">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-032.htm">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.htm">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.htm">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.htm">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.htm">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.htm">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.htm">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.htm">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.htm">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.htm">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.htm">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.htm">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.htm">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.htm">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.htm">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.htm">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.htm">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-049.htm">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-001.htm">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-002.htm">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-003.htm">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-001.htm">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.htm">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.htm">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-004.htm">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.htm">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.htm">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.htm">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.htm">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.htm">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.htm">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.htm">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.htm">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.htm">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.htm">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.htm">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.htm">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.htm">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.htm">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.htm">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.htm">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.htm">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.htm">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.htm">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.htm">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.htm">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.htm">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.htm">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.htm">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.htm">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.htm">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.htm">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.htm">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.htm">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.htm">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.htm">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.htm">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.htm">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.htm">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.htm">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.htm">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.htm">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.htm">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.htm">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.htm">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.htm">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.htm">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.htm">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.htm">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.htm">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.htm">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.htm">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.htm">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.htm">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.htm">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.htm">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.htm">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.htm">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.htm">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.htm">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-15.1" class="svg">
+ <td>
+ <a href="svg-scale-001.htm">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-15.1" class="svg">
+ <td>
+ <a href="svg-scale-002.htm">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-15.1" class="svg">
+ <td>
+ <a href="svg-scale-003.htm">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-15.1" class="svg">
+ <td>
+ <a href="svg-scale-004.htm">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-15.1" class="svg">
+ <td>
+ <a href="svg-scale-005.htm">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-15.1" class="svg">
+ <td>
+ <a href="svg-scale-006.htm">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-15.1" class="svg">
+ <td>
+ <a href="svg-scale-007.htm">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-15.1" class="svg">
+ <td>
+ <a href="svg-scale-008.htm">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-15.1" class="svg">
+ <td>
+ <a href="svg-scale-009.htm">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-15.1" class="svg">
+ <td>
+ <a href="svg-scale-010.htm">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-15.1" class="svg">
+ <td>
+ <a href="svg-scale-011.htm">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-15.1" class="svg">
+ <td>
+ <a href="svg-scale-012.htm">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-15.1" class="svg">
+ <td>
+ <a href="svg-scale-013.htm">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-15.1" class="svg">
+ <td>
+ <a href="svg-scale-014.htm">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-15.1" class="svg">
+ <td>
+ <a href="svg-scale-015.htm">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-15.1" class="svg">
+ <td>
+ <a href="svg-scale-016.htm">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-15.1" class="svg">
+ <td>
+ <a href="svg-scale-017.htm">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-001-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-001.htm">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-002.htm">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-003.htm">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-004.htm">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-005.htm">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-001-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-001.htm">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-002.htm">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-003.htm">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-004.htm">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-005.htm">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-001.htm">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-002.htm">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-003.htm">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-004.htm">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-005.htm">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-006.htm">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-007.htm">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-008.htm">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-009.htm">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-010.htm">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-011.htm">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-012.htm">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-013.htm">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-014.htm">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-015.htm">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-016.htm">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-017.htm">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-018.htm">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-019.htm">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-020.htm">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-021.htm">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-022.htm">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-023.htm">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-024.htm">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-025.htm">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewxy-001.htm">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewxy-002.htm">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-001.htm">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-002.htm">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-003.htm">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-004.htm">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-005.htm">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-006.htm">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-007.htm">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-008.htm">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-009.htm">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-010.htm">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-011.htm">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-012.htm">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-013.htm">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-014.htm">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-015.htm">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-016.htm">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-017.htm">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-018.htm">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-019.htm">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-020.htm">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-021.htm">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-022.htm">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-023.htm">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-024.htm">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-025.htm">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-001-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-001.htm">svg-transform-group-001</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-002-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-002.htm">svg-transform-group-002</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-003-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-003.htm">svg-transform-group-003</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-004-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-004.htm">svg-transform-group-004</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-005-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-005.htm">svg-transform-group-005</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-006-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-006.htm">svg-transform-group-006</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-007-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-007.htm">svg-transform-group-007</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-008-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-008.htm">svg-transform-group-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-009-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-009.htm">svg-transform-group-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-010-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-010.htm">svg-transform-group-010</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-011.htm">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-001-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-001.htm">svg-transform-nested-001</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-002-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-002.htm">svg-transform-nested-002</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-003-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-003.htm">svg-transform-nested-003</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-004-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-004.htm">svg-transform-nested-004</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-005-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-005.htm">svg-transform-nested-005</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-006-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-006.htm">svg-transform-nested-006</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-007-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-007.htm">svg-transform-nested-007</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-008-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-008.htm">svg-transform-nested-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-009-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-009.htm">svg-transform-nested-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-010-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-010.htm">svg-transform-nested-010</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, matrix on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-011-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-011.htm">svg-transform-nested-011</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-012-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-012.htm">svg-transform-nested-012</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-013-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-013.htm">svg-transform-nested-013</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-014-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-014.htm">svg-transform-nested-014</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-015-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-015.htm">svg-transform-nested-015</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-016-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-016.htm">svg-transform-nested-016</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-017-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-017.htm">svg-transform-nested-017</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-018-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-018.htm">svg-transform-nested-018</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-019-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-019.htm">svg-transform-nested-019</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-020-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-020.htm">svg-transform-nested-020</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-021-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-021.htm">svg-transform-nested-021</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scaleY on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-022-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-022.htm">svg-transform-nested-022</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-023-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-023.htm">svg-transform-nested-023</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translate on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-024-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-024.htm">svg-transform-nested-024</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, translateX on child1, scaleX on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-025-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-025.htm">svg-transform-nested-025</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, translateY on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-026-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-026.htm">svg-transform-nested-026</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translate on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-027-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-027.htm">svg-transform-nested-027</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-028-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-028.htm">svg-transform-nested-028</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-001.htm">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-002.htm">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-003.htm">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-004.htm">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-005.htm">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-006.htm">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-15.1" class="svg">
+ <td>
+ <a href="svg-translate-007.htm">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-008.htm">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-15.1" class="svg">
+ <td>
+ <a href="svg-translate-009.htm">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-15.1" class="svg">
+ <td>
+ <a href="svg-translate-010.htm">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-15.1" class="svg">
+ <td>
+ <a href="svg-translate-011.htm">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-15.1" class="svg">
+ <td>
+ <a href="svg-translate-012.htm">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-15.1" class="svg">
+ <td>
+ <a href="svg-translate-013.htm">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-15.1" class="svg">
+ <td>
+ <a href="svg-translate-014.htm">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-15.1" class="svg">
+ <td>
+ <a href="svg-translate-015.htm">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.htm">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-15.1" class="svg">
+ <td>
+ <a href="svg-translate-017.htm">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-15.1" class="svg">
+ <td>
+ <a href="svg-translate-018.htm">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-15.1" class="svg">
+ <td>
+ <a href="svg-translate-019.htm">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-15.1" class="svg">
+ <td>
+ <a href="svg-translate-020.htm">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-15.1" class="svg">
+ <td>
+ <a href="svg-translate-021.htm">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-15.1" class="svg">
+ <td>
+ <a href="svg-translate-022.htm">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-15.1" class="svg">
+ <td>
+ <a href="svg-translate-023.htm">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.htm">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-15.1" class="svg">
+ <td>
+ <a href="svg-translate-025.htm">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-15.1" class="svg">
+ <td>
+ <a href="svg-translate-026.htm">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-15.1" class="svg">
+ <td>
+ <a href="svg-translate-027.htm">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-15.1" class="svg">
+ <td>
+ <a href="svg-translate-028.htm">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-15.1" class="svg">
+ <td>
+ <a href="svg-translate-029.htm">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-15.1" class="svg">
+ <td>
+ <a href="svg-translate-030.htm">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-15.1" class="svg">
+ <td>
+ <a href="svg-translate-031.htm">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-032.htm">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-15.1" class="svg">
+ <td>
+ <a href="svg-translate-033.htm">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-15.1" class="svg">
+ <td>
+ <a href="svg-translate-034.htm">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-15.1" class="svg">
+ <td>
+ <a href="svg-translate-035.htm">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-15.1" class="svg">
+ <td>
+ <a href="svg-translate-036.htm">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-15.1" class="svg">
+ <td>
+ <a href="svg-translate-037.htm">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-15.1" class="svg">
+ <td>
+ <a href="svg-translate-038.htm">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-15.1" class="svg">
+ <td>
+ <a href="svg-translate-039.htm">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.htm">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-15.1" class="svg">
+ <td>
+ <a href="svg-translate-041.htm">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-15.1" class="svg">
+ <td>
+ <a href="svg-translate-042.htm">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-15.1" class="svg">
+ <td>
+ <a href="svg-translate-043.htm">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-15.1" class="svg">
+ <td>
+ <a href="svg-translate-044.htm">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-15.1" class="svg">
+ <td>
+ <a href="svg-translate-045.htm">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-15.1" class="svg">
+ <td>
+ <a href="svg-translate-046.htm">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-15.1" class="svg">
+ <td>
+ <a href="svg-translate-047.htm">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.htm">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-15.1" class="svg">
+ <td>
+ <a href="svg-translate-049.htm">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-15.1" class="svg">
+ <td>
+ <a href="svg-translate-050.htm">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-15.1" class="svg">
+ <td>
+ <a href="svg-translate-051.htm">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-15.1" class="svg">
+ <td>
+ <a href="svg-translate-052.htm">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-15.1" class="svg">
+ <td>
+ <a href="svg-translate-053.htm">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-15.1" class="svg">
+ <td>
+ <a href="svg-translate-054.htm">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-15.1" class="svg">
+ <td>
+ <a href="svg-translate-055.htm">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.htm">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.htm">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-003.htm">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-004.htm">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-005.htm">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-006.htm">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-001.htm">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.htm">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.htm">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-004.htm">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.htm">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.htm">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-001.htm">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-002.htm">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-001.htm">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-002.htm">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-001.htm">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-002.htm">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-003.htm">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-004.htm">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.htm">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.htm">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.htm">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-008.htm">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-001.htm">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-002.htm">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-003.htm">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-004.htm">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-005.htm">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-006.htm">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-007.htm">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-008.htm">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-009.htm">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-010.htm">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-011.htm">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-012.htm">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-013.htm">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-014.htm">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-015.htm">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.htm">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-017.htm">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-018.htm">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-019.htm">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-020.htm">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-021.htm">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-022.htm">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-023.htm">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.htm">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-025.htm">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-026.htm">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-027.htm">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-028.htm">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-029.htm">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-030.htm">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-031.htm">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-032.htm">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-033.htm">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-034.htm">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-035.htm">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-036.htm">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-037.htm">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-038.htm">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-039.htm">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.htm">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-041.htm">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-042.htm">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-043.htm">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-044.htm">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-045.htm">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-046.htm">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-047.htm">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.htm">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-001.htm">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-002.htm">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-003.htm">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-004.htm">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-001.htm">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.htm">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.htm">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-004.htm">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.htm">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.htm">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-relative-001.htm">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-relative-002.htm">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-001.htm">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-002.htm">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-003.htm">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-004.htm">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-005.htm">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-006.htm">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-007.htm">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-008.htm">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-009.htm">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-010.htm">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-011.htm">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-012.htm">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-013.htm">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-014.htm">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-015.htm">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.htm">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-017.htm">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-018.htm">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-019.htm">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-020.htm">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-021.htm">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-022.htm">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-023.htm">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.htm">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-025.htm">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-026.htm">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-027.htm">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-028.htm">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-029.htm">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-030.htm">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-031.htm">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-032.htm">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-033.htm">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-034.htm">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-035.htm">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-036.htm">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-037.htm">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-038.htm">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-039.htm">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.htm">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-041.htm">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-042.htm">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-043.htm">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-044.htm">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-045.htm">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-046.htm">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-047.htm">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.htm">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-001.htm">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-002.htm">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-003.htm">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-004.htm">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-001.htm">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.htm">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.htm">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-004.htm">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.htm">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.htm">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-relative-001.htm">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-relative-002.htm">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-2d-getcomputedstyle-001-15.1" class="dom script">
+ <td>
+ <a href="transform-2d-getComputedStyle-001.htm">transform-2d-getcomputedstyle-001</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>CSS 2D transforms correctly report their matrix via getComputedStyle()</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-001.htm">transform-matrix-001</a></strong></td>
+ <td><a href="reference/transform-matrix-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX()
+ <ul class="assert">
+ <li>This tests that translateX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-002.htm">transform-matrix-002</a></strong></td>
+ <td><a href="reference/transform-matrix-002-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY()
+ <ul class="assert">
+ <li>This tests that translateY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-003.htm">transform-matrix-003</a></strong></td>
+ <td><a href="reference/transform-matrix-003-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX(%)
+ <ul class="assert">
+ <li>This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-004.htm">transform-matrix-004</a></strong></td>
+ <td><a href="reference/transform-matrix-004-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY(%)
+ <ul class="assert">
+ <li>This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-005.htm">transform-matrix-005</a></strong></td>
+ <td><a href="reference/transform-matrix-005-ref.htm">=</a> <a href="reference/transform-matrix-005-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewX()
+ <ul class="assert">
+ <li>This tests that skewX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-006-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-006.htm">transform-matrix-006</a></strong></td>
+ <td><a href="reference/transform-matrix-006-ref.htm">=</a> <a href="reference/transform-matrix-005-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewY()
+ <ul class="assert">
+ <li>This tests that skewY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-007-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-007.htm">transform-matrix-007</a></strong></td>
+ <td><a href="reference/transform-matrix-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/scale()
+ <ul class="assert">
+ <li>This tests that scale() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-008-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-008.htm">transform-matrix-008</a></strong></td>
+ <td><a href="reference/transform-matrix-008-ref.htm">=</a> <a href="reference/transform-matrix-008-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix() with non-numeric args
+ <ul class="assert">
+ <li>This tests that providing length or percentage values as arguments to matrix() is a syntax error.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-001.htm">transform-rotate-001</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(360deg)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-002.htm">transform-rotate-002</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(400grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-003.htm">transform-rotate-003</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-004.htm">transform-rotate-004</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-45deg) rotate(100grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-005.htm">transform-rotate-005</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-135deg) rotate(3.1415926535897932384626433rad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-006-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-006.htm">transform-rotate-006</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(1turn)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-007-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-007.htm">transform-rotate-007</a></strong></td>
+ <td><a href="reference/transform-rotate-007-ref.htm">=</a> <a href="reference/transform-rotate-007-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Rotated Simple Box
+ <ul class="assert">
+ <li>This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-001.htm">transform-scale-001</a></strong></td>
+ <td><a href="reference/transform-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(0.5, 0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5, 0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-002.htm">transform-scale-002</a></strong></td>
+ <td><a href="reference/transform-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-percent-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-percent-001.htm">transform-scale-percent-001</a></strong></td>
+ <td><a href="reference/transform-scale-percent-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(50%, 50%)
+ <ul class="assert">
+ <li>This tests that scale(50%, 50%) does nothing, because scale() is defined to take numbers and not percentages.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scalex-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scalex-001.htm">transform-scalex-001</a></strong></td>
+ <td><a href="reference/transform-scalex-ref.htm">=</a> </td>
+ <td></td>
+ <td>scaleX(0.5)
+ <ul class="assert">
+ <li>This tests that scaleX(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scaley-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scaley-001.htm">transform-scaley-001</a></strong></td>
+ <td><a href="reference/transform-scaley-ref.htm">=</a> </td>
+ <td></td>
+ <td>scaleY(0.5)
+ <ul class="assert">
+ <li>This tests that scaleY(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stresstest-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-stresstest-001.htm">transform-stresstest-001</a></strong></td>
+ <td><a href="reference/transform-stresstest-ref.htm">=</a> </td>
+ <td></td>
+ <td>Inversion Stress Test
+ <ul class="assert">
+ <li>This simply applies and then inverts a large number of 2D transform functions, and expects the result to be no transform at all. One extra translateX(100px) is added at the end to ensure that the lack of transform isn't just because the UA parsed it incorrectly, or doesn't support transforms at all.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-001.htm">transform-translate-001</a></strong></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-002.htm">transform-translate-002</a></strong></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-003.htm">transform-translate-003</a></strong></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate(25px, 25px) translate(25px, 25px)
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-004.htm">transform-translate-004</a></strong></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) plus relative positioning 25px to the bottom right is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-005.htm">transform-translate-005</a></strong></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>Several Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-001.htm">transform-translatex-001</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex(50px)
+ <ul class="assert">
+ <li>This tests that translatex(50px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-002.htm">transform-translatex-002</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-003.htm">transform-translatex-003</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex(25px) translatex(25px)
+ <ul class="assert">
+ <li>This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-004.htm">transform-translatex-004</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-005.htm">transform-translatex-005</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>Several X-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-006-15.1" class="">
+ <td>
+ <a href="transform-translatex-006.htm">transform-translatex-006</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with translateX function
+ <ul class="assert">
+ <li>This tests that translateX(50px) translates a box by 50 pixels in the X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-001.htm">transform-translatey-001</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey(50px)
+ <ul class="assert">
+ <li>This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-002.htm">transform-translatey-002</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-003.htm">transform-translatey-003</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey(25px) translatey(25px)
+ <ul class="assert">
+ <li>This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-004.htm">transform-translatey-004</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-005.htm">transform-translatey-005</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>Several Y-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_invalid_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_invalid_prefixed.htm">transform_translate_invalid_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with invalid translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(null, null) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_max_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_max_prefixed.htm">transform_translate_max_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with maximum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_min_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_min_prefixed.htm">transform_translate_min_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with minimum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_neg_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_neg_prefixed.htm">transform_translate_neg_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with negative translation value
+ <ul class="assert">
+ <li>Check if transform supports translate(-1px, -1px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_prefixed.htm">transform_translate_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(100px, 100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_second_omited_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_second_omited_prefixed.htm">transform_translate_second_omited_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with second translation value omited
+ <ul class="assert">
+ <li>Check if transform supports translate(100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_zero_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_zero_prefixed.htm">transform_translate_zero_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(0, 0)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-degree-90-15.1" class="">
+ <td>
+ <a href="transforms-rotate-degree-90.htm">transforms-rotate-degree-90</a></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ <ul class="assert">
+ <li>If the rotate with parameter not provided, greenRectangle will not cover redRectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-translate-scale-15.1" class="">
+ <td>
+ <a href="transforms-rotate-translate-scale.htm">transforms-rotate-translate-scale</a></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and rotate function with one parameter
+ <ul class="assert">
+ <li>If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotatey-degree-60-15.1" class="">
+ <td>
+ <a href="transforms-rotateY-degree-60.htm">transforms-rotatey-degree-60</a></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ </td>
+ </tr>
+ <tr id="transforms-skewx-15.1" class="">
+ <td>
+ <a href="transforms-skewX.htm">transforms-skewx</a></td>
+ <td><a href="reference/transforms-skewX-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for X axis.
+ <ul class="assert">
+ <li>If the skew for X axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-skewy-15.1" class="">
+ <td>
+ <a href="transforms-skewY.htm">transforms-skewy</a></td>
+ <td><a href="reference/transforms-skewY-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for Y axis.
+ <ul class="assert">
+ <li>If the skew for Y axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-optional-second-001-15.1" class="">
+ <td>
+ <a href="translate-optional-second-001.htm">translate-optional-second-001</a></td>
+ <td><a href="reference/translate-optional-second-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with translate function and one parameter
+ <ul class="assert">
+ <li>If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-reftest-rotate-15.1" class="">
+ <td>
+ <a href="ttwf-reftest-rotate.htm">ttwf-reftest-rotate</a></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform rotate
+ <ul class="assert">
+ <li>The transform should rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-matrix">
+ <!-- 77 tests -->
+ <tr id="svg-matrix-001-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-001.htm">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-002.htm">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-003.htm">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-004.htm">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-005.htm">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-006.htm">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-007.htm">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-008.htm">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-009.htm">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-010.htm">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-011.htm">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-012.htm">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-013.htm">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-014.htm">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-015.htm">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-016.htm">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-017.htm">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-018.htm">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-019.htm">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-020.htm">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-021.htm">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-022.htm">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-023.htm">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-024.htm">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-025.htm">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-026.htm">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-027.htm">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-028.htm">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-029.htm">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-030.htm">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-031.htm">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-032.htm">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-033.htm">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-034.htm">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-035.htm">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-036.htm">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-037.htm">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-038.htm">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-039.htm">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-040.htm">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-041.htm">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-042.htm">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-043.htm">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-044.htm">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-045.htm">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-046.htm">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-047.htm">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-048.htm">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-049.htm">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-050.htm">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-051.htm">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-052.htm">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-053.htm">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-054.htm">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-055.htm">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-056.htm">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-057.htm">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-058.htm">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-059.htm">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-060.htm">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-061.htm">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-062.htm">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-063.htm">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-064.htm">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-065.htm">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-066.htm">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-067.htm">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-068.htm">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-069.htm">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-001-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-001.htm">transform-matrix-001</a></td>
+ <td><a href="reference/transform-matrix-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX()
+ <ul class="assert">
+ <li>This tests that translateX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-002-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-002.htm">transform-matrix-002</a></td>
+ <td><a href="reference/transform-matrix-002-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY()
+ <ul class="assert">
+ <li>This tests that translateY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-003-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-003.htm">transform-matrix-003</a></td>
+ <td><a href="reference/transform-matrix-003-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX(%)
+ <ul class="assert">
+ <li>This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-004-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-004.htm">transform-matrix-004</a></td>
+ <td><a href="reference/transform-matrix-004-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY(%)
+ <ul class="assert">
+ <li>This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-005-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-005.htm">transform-matrix-005</a></td>
+ <td><a href="reference/transform-matrix-005-ref.htm">=</a> <a href="reference/transform-matrix-005-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewX()
+ <ul class="assert">
+ <li>This tests that skewX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-006-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-006.htm">transform-matrix-006</a></td>
+ <td><a href="reference/transform-matrix-006-ref.htm">=</a> <a href="reference/transform-matrix-005-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewY()
+ <ul class="assert">
+ <li>This tests that skewY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-007-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-007.htm">transform-matrix-007</a></td>
+ <td><a href="reference/transform-matrix-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix()/scale()
+ <ul class="assert">
+ <li>This tests that scale() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-008-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-008.htm">transform-matrix-008</a></td>
+ <td><a href="reference/transform-matrix-008-ref.htm">=</a> <a href="reference/transform-matrix-008-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix() with non-numeric args
+ <ul class="assert">
+ <li>This tests that providing length or percentage values as arguments to matrix() is a syntax error.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-rotate">
+ <!-- 58 tests -->
+ <tr id="css3-transform-rotatey-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="css3-transform-rotateY.htm">css3-transform-rotatey</a></td>
+ <td><a href="reference/css3-transform-rotateY-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY function
+ <ul class="assert">
+ <li>box width should be equal to projection width if transform rotateY applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.htm">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.htm">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.htm">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.htm">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.htm">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.htm">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.htm">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.htm">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.htm">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.htm">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.htm">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.htm">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.htm">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.htm">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.htm">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.htm">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.htm">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.htm">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.htm">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.htm">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.htm">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.htm">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.htm">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.htm">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.htm">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.htm">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.htm">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.htm">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.htm">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.htm">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.htm">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.htm">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.htm">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.htm">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.htm">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.htm">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.htm">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.htm">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.htm">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.htm">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.htm">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.htm">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.htm">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.htm">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.htm">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.htm">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.htm">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.htm">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.htm">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.htm">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-001-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-001.htm">transform-rotate-001</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(360deg)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-002-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-002.htm">transform-rotate-002</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(400grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-003-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-003.htm">transform-rotate-003</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-004-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-004.htm">transform-rotate-004</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-45deg) rotate(100grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-005-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-005.htm">transform-rotate-005</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-135deg) rotate(3.1415926535897932384626433rad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-006-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-006.htm">transform-rotate-006</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(1turn)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-007-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-007.htm">transform-rotate-007</a></td>
+ <td><a href="reference/transform-rotate-007-ref.htm">=</a> <a href="reference/transform-rotate-007-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Rotated Simple Box
+ <ul class="assert">
+ <li>This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scale">
+ <!-- 22 tests -->
+ <tr id="css3-transform-scale-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="css3-transform-scale.htm">css3-transform-scale</a></td>
+ <td><a href="reference/css3-transform-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-002-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="css3-transform-scale-002.htm">css3-transform-scale-002</a></td>
+ <td><a href="reference/css3-transform-scale-ref-002.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-001.htm">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-002.htm">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-003.htm">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-004.htm">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-005.htm">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-006.htm">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-007.htm">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-008.htm">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-009.htm">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-010.htm">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-011.htm">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-012.htm">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-013.htm">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-014.htm">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-015.htm">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-016.htm">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-017.htm">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-001-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-001.htm">transform-scale-001</a></td>
+ <td><a href="reference/transform-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(0.5, 0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5, 0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-002-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-002.htm">transform-scale-002</a></td>
+ <td><a href="reference/transform-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-percent-001-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-percent-001.htm">transform-scale-percent-001</a></td>
+ <td><a href="reference/transform-scale-percent-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(50%, 50%)
+ <ul class="assert">
+ <li>This tests that scale(50%, 50%) does nothing, because scale() is defined to take numbers and not percentages.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scalex">
+ <!-- 6 tests -->
+ <tr id="svg-scalex-001-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-001.htm">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-002.htm">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-003.htm">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-004.htm">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-005.htm">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scalex-001-15.1.#funcdef-scalex" class="">
+ <td>
+ <a href="transform-scalex-001.htm">transform-scalex-001</a></td>
+ <td><a href="reference/transform-scalex-ref.htm">=</a> </td>
+ <td></td>
+ <td>scaleX(0.5)
+ <ul class="assert">
+ <li>This tests that scaleX(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scaley">
+ <!-- 6 tests -->
+ <tr id="svg-scaley-001-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-001.htm">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-002.htm">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-003.htm">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-004.htm">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-005.htm">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scaley-001-15.1.#funcdef-scaley" class="">
+ <td>
+ <a href="transform-scaley-001.htm">transform-scaley-001</a></td>
+ <td><a href="reference/transform-scaley-ref.htm">=</a> </td>
+ <td></td>
+ <td>scaleY(0.5)
+ <ul class="assert">
+ <li>This tests that scaleY(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-skew">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.1.#funcdef-skewx">
+ <!-- 27 tests -->
+ <tr id="svg-skewx-001-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-001.htm">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-002.htm">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-003.htm">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-004.htm">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-005.htm">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-006.htm">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-007.htm">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-008.htm">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-009.htm">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-010.htm">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-011.htm">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-012.htm">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-013.htm">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-014.htm">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-015.htm">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-016.htm">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-017.htm">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-018.htm">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-019.htm">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-020.htm">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-021.htm">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-022.htm">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-023.htm">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-024.htm">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-025.htm">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewxy-001.htm">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewxy-002.htm">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-skewy">
+ <!-- 25 tests -->
+ <tr id="svg-skewy-001-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-001.htm">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-002.htm">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-003.htm">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-004.htm">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-005.htm">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-006.htm">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-007.htm">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-008.htm">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-009.htm">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-010.htm">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-011.htm">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-012.htm">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-013.htm">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-014.htm">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-015.htm">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-016.htm">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-017.htm">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-018.htm">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-019.htm">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-020.htm">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-021.htm">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-022.htm">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-023.htm">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-024.htm">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-025.htm">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translate">
+ <!-- 84 tests -->
+ <tr id="svg-translate-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-001.htm">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-002.htm">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-003.htm">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-004.htm">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-005.htm">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-006.htm">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-007.htm">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-008.htm">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-009.htm">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-010.htm">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-011.htm">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-012.htm">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-013.htm">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-014.htm">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-015.htm">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.htm">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-017.htm">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-018.htm">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-019.htm">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-020.htm">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-021.htm">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-022.htm">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-023.htm">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.htm">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-025.htm">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-026.htm">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-027.htm">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-028.htm">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-029.htm">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-030.htm">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-031.htm">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-032.htm">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-033.htm">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-034.htm">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-035.htm">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-036.htm">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-037.htm">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-038.htm">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-039.htm">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.htm">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-041.htm">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-042.htm">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-043.htm">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-044.htm">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-045.htm">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-046.htm">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-047.htm">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.htm">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-049.htm">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-050.htm">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-051.htm">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-052.htm">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-053.htm">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-054.htm">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-055.htm">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.htm">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.htm">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-003.htm">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-004.htm">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-005.htm">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-006.htm">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-001.htm">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.htm">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.htm">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-004.htm">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.htm">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.htm">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-001.htm">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-002.htm">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-001.htm">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-002.htm">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-001.htm">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-002.htm">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-003.htm">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-004.htm">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.htm">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.htm">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.htm">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-008.htm">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-001-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-001.htm">transform-translate-001</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-002-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-002.htm">transform-translate-002</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-003-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-003.htm">transform-translate-003</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate(25px, 25px) translate(25px, 25px)
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-004-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-004.htm">transform-translate-004</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>translate() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) plus relative positioning 25px to the bottom right is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-005-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-005.htm">transform-translate-005</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>Several Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translatex">
+ <!-- 65 tests -->
+ <tr id="svg-translatex-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-001.htm">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-002.htm">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-003.htm">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-004.htm">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-005.htm">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-006.htm">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-007.htm">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-008.htm">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-009.htm">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-010.htm">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-011.htm">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-012.htm">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-013.htm">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-014.htm">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-015.htm">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.htm">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-017.htm">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-018.htm">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-019.htm">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-020.htm">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-021.htm">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-022.htm">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-023.htm">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.htm">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-025.htm">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-026.htm">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-027.htm">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-028.htm">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-029.htm">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-030.htm">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-031.htm">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-032.htm">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-033.htm">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-034.htm">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-035.htm">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-036.htm">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-037.htm">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-038.htm">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-039.htm">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.htm">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-041.htm">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-042.htm">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-043.htm">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-044.htm">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-045.htm">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-046.htm">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-047.htm">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.htm">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-001.htm">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-002.htm">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-003.htm">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-004.htm">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-001.htm">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.htm">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.htm">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-004.htm">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.htm">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.htm">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-relative-001.htm">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-relative-002.htm">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-001-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-001.htm">transform-translatex-001</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex(50px)
+ <ul class="assert">
+ <li>This tests that translatex(50px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-002-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-002.htm">transform-translatex-002</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-003-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-003.htm">transform-translatex-003</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex(25px) translatex(25px)
+ <ul class="assert">
+ <li>This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-004-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-004.htm">transform-translatex-004</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatex() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-005-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-005.htm">transform-translatex-005</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>Several X-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translatey">
+ <!-- 65 tests -->
+ <tr id="svg-translatey-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-001.htm">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-002.htm">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-003.htm">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-004.htm">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-005.htm">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-006.htm">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-007.htm">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-008.htm">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-009.htm">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-010.htm">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-011.htm">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-012.htm">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-013.htm">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-014.htm">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-015.htm">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.htm">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-017.htm">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-018.htm">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-019.htm">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-020.htm">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-021.htm">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-022.htm">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-023.htm">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.htm">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-025.htm">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-026.htm">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-027.htm">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-028.htm">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-029.htm">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-030.htm">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-031.htm">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-032.htm">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-033.htm">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-034.htm">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-035.htm">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-036.htm">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-037.htm">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-038.htm">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-039.htm">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.htm">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-041.htm">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-042.htm">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-043.htm">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-044.htm">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-045.htm">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-046.htm">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-047.htm">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.htm">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-001.htm">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-002.htm">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-003.htm">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-004.htm">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-001.htm">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.htm">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.htm">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-004.htm">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.htm">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.htm">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-relative-001.htm">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-relative-002.htm">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-001-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-001.htm">transform-translatey-001</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey(50px)
+ <ul class="assert">
+ <li>This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-002-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-002.htm">transform-translatey-002</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-003-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-003.htm">transform-translatey-003</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey(25px) translatey(25px)
+ <ul class="assert">
+ <li>This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-004-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-004.htm">transform-translatey-004</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>translatey() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-005-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-005.htm">transform-translatey-005</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td></td>
+ <td>Several Y-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">15.2 3D Transform Functions</a></th></tr>
+ <!-- 43 tests -->
+ <tr id="css-rotate-2d-3d-001-15.2" class="">
+ <td>
+ <a href="css-rotate-2d-3d-001.htm">css-rotate-2d-3d-001</a></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>2D rotation with 3D rotation
+ <ul class="assert">
+ <li>This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-x-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-X-negative.htm">css-transform-3d-rotate3d-x-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate the 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-x-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-X-positive.htm">css-transform-3d-rotate3d-x-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-y-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Y-negative.htm">css-transform-3d-rotate3d-y-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-y-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Y-positive.htm">css-transform-3d-rotate3d-y-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-z-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Z-negative.htm">css-transform-3d-rotate3d-z-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-z-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Z-positive.htm">css-transform-3d-rotate3d-z-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for 90 degree on Z-axis would cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatex-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateX-negative.htm">css-transform-3d-rotatex-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatex-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateX-positive.htm">css-transform-3d-rotatex-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatey-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateY-negative.htm">css-transform-3d-rotatey-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateY on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatey-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateY-positive.htm">css-transform-3d-rotatey-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateY on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatez-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateZ-negative.htm">css-transform-3d-rotatez-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatez-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateZ-positive.htm">css-transform-3d-rotatez-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for 90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-transform-style-15.2" class="">
+ <td>
+ <a href="css-transform-3d-transform-style.htm">css-transform-3d-transform-style</a></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateY with transform-style on nested elements
+ <ul class="assert">
+ <li>Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-004-15.2" class="">
+ <td>
+ <a href="regions-transforms-004.htm">regions-transforms-004</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region using a 3D transform
+ <ul class="assert">
+ <li>This test checks that a 3D transform can be applied to a region</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-005-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-005.htm">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region
+ <ul class="assert">
+ <li>Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-006-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-006.htm">regions-transforms-006</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on region with named flow (text) content that overflows
+ <ul class="assert">
+ <li>Test checks that content flowed in a region and overflowing it is still rendered if the region has a 3D transform applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-016-15.2" class="">
+ <td>
+ <a href="regions-transforms-016.htm">regions-transforms-016</a></td>
+ <td><a href="reference/regions-transforms-016-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: 3D transform on named flow content with perspective()
+ <ul class="assert">
+ <li>This test checks that a 3D transform is applied with perspective to named flow content.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-018-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-018.htm">regions-transforms-018</a></td>
+ <td><a href="reference/regions-transforms-018-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content that overflows a region
+ <ul class="assert">
+ <li>Test checks that content that is transformed does not clip when flowed in a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-019-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-019.htm">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-image-scale-001.htm">transform3d-image-scale-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale3d() on a Bitmap
+ <ul class="assert">
+ <li>This tests that applying a simple 3D transform to a bitmap image works properly. This is motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-image-scale-002.htm">transform3d-image-scale-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale3d() on an SVG
+ <ul class="assert">
+ <li>This is the same as transform3d-image-scale-001.html, but using an SVG image instead of a bitmap.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-001.htm">transform3d-matrix3d-001</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-002.htm">transform3d-matrix3d-002</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-003-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-003.htm">transform3d-matrix3d-003</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-004-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-004.htm">transform3d-matrix3d-004</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-005-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-005.htm">transform3d-matrix3d-005</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotate3d-001.htm">transform3d-rotate3d-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(1, 0, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(1, 0, 0, 45deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotate3d-002.htm">transform3d-rotate3d-002</a></strong></td>
+ <td><a href="reference/transform3d-rotatey-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(0, 1, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(0, 1, 0, 45deg) is the same as rotatey(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-001.htm">transform3d-rotatex-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(45deg) rotatey(360deg) rotatex(360deg)
+ <ul class="assert">
+ <li>This tests that rotatex(45deg) rotatey(360deg) rotatex(360deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-001.htm">transform3d-rotatex-perspective-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-002.htm">transform3d-rotatex-perspective-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-15.2" class="">
+ <td>
+ <a href="transform3d-rotatex-transformorigin-001.htm">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatey-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatey-001.htm">transform3d-rotatey-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatey-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateY(45deg) rotateY(360deg)
+ <ul class="assert">
+ <li>This tests that rotateY(45deg) rotateY(360deg) has the same effect as just rotateY(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-001.htm">transform3d-scale-001</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 2)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 2) on some text has the same effect as scaleX(2) scaleY(2). The Z part should be irrelevant, because the text is flat.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-002.htm">transform3d-scale-002</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)
+ <ul class="assert">
+ <li>This tests that rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-003-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-003.htm">transform3d-scale-003</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>scaleX(2) scaleY(2) scaleZ(2)
+ <ul class="assert">
+ <li>This is the same as transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2) scaleZ(2) instead of scale3D(2, 2, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-004.htm">transform3d-scale-004</a></strong></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-005-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-005.htm">transform3d-scale-005</a></strong></td>
+ <td><a href="reference/transform3d-scale-005-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This tests that rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-006-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-006.htm">transform3d-scale-006</a></strong></td>
+ <td><a href="reference/transform3d-scale-005-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scaleZ(2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This is identical to transform3d-scale-005-ref.html, except with scaleZ(2) instead of scale3d(1, 1, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-007-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-007.htm">transform3d-scale-007</a></strong></td>
+ <td><a href="reference/transform3d-scale-007-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX(180deg) scaleZ(-1)
+ <ul class="assert">
+ <li>This tests that rotateX(180deg) scaleZ(-1) is the same as scaleY(-1). (The scaleZ(-1) should have no effect here.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translate3d-001-15.2" class="">
+ <td>
+ <a href="transform3d-translate3d-001.htm">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translatez-001-15.2" class="">
+ <td>
+ <a href="transform3d-translatez-001.htm">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.htm">=</a> <a href="reference/transform3d-translatez-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-matrix3d">
+ <!-- 5 tests -->
+ <tr id="transform3d-matrix3d-001-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-001.htm">transform3d-matrix3d-001</a></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-002-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-002.htm">transform3d-matrix3d-002</a></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-003-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-003.htm">transform3d-matrix3d-003</a></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-004-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-004.htm">transform3d-matrix3d-004</a></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-005-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-005.htm">transform3d-matrix3d-005</a></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-perspective">
+ <!-- 1 tests -->
+ <tr id="transform3d-rotatex-perspective-001-15.2.#funcdef-perspective" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-001.htm">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotate3d">
+ <!-- 2 tests -->
+ <tr id="transform3d-rotate3d-001-15.2.#funcdef-rotate3d" class="">
+ <td>
+ <a href="transform3d-rotate3d-001.htm">transform3d-rotate3d-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(1, 0, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(1, 0, 0, 45deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-002-15.2.#funcdef-rotate3d" class="">
+ <td>
+ <a href="transform3d-rotate3d-002.htm">transform3d-rotate3d-002</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(0, 1, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(0, 1, 0, 45deg) is the same as rotatey(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatex">
+ <!-- 4 tests -->
+ <tr id="transform3d-rotatex-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-001.htm">transform3d-rotatex-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(45deg) rotatey(360deg) rotatex(360deg)
+ <ul class="assert">
+ <li>This tests that rotatex(45deg) rotatey(360deg) rotatex(360deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-001.htm">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-002.htm">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-transformorigin-001.htm">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatey">
+ <!-- 2 tests -->
+ <tr id="rotatey-15.2.#funcdef-rotatey" class="primary">
+ <td><strong>
+ <a href="rotateY.htm">rotatey</a></strong></td>
+ <td><a href="reference/rotateY-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY
+ <ul class="assert">
+ <li>When the value of transform is 'rotateY(90deg)', the foward side of a transformed element disappears.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatey-001-15.2.#funcdef-rotatey" class="">
+ <td>
+ <a href="transform3d-rotatey-001.htm">transform3d-rotatey-001</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateY(45deg) rotateY(360deg)
+ <ul class="assert">
+ <li>This tests that rotateY(45deg) rotateY(360deg) has the same effect as just rotateY(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatez">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.2.#funcdef-scale3d">
+ <!-- 8 tests -->
+ <tr id="transform3d-image-scale-001-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-image-scale-001.htm">transform3d-image-scale-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale3d() on a Bitmap
+ <ul class="assert">
+ <li>This tests that applying a simple 3D transform to a bitmap image works properly. This is motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-002-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-image-scale-002.htm">transform3d-image-scale-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale3d() on an SVG
+ <ul class="assert">
+ <li>This is the same as transform3d-image-scale-001.html, but using an SVG image instead of a bitmap.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-001-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-001.htm">transform3d-scale-001</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 2)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 2) on some text has the same effect as scaleX(2) scaleY(2). The Z part should be irrelevant, because the text is flat.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-002-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-002.htm">transform3d-scale-002</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)
+ <ul class="assert">
+ <li>This tests that rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-003-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-003.htm">transform3d-scale-003</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>scaleX(2) scaleY(2) scaleZ(2)
+ <ul class="assert">
+ <li>This is the same as transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2) scaleZ(2) instead of scale3D(2, 2, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-004.htm">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-005-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-005.htm">transform3d-scale-005</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This tests that rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-006-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-006.htm">transform3d-scale-006</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scaleZ(2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This is identical to transform3d-scale-005-ref.html, except with scaleZ(2) instead of scale3d(1, 1, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-scalez">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.2.#funcdef-translate3d">
+ <!-- 1 tests -->
+ <tr id="transform3d-translate3d-001-15.2.#funcdef-translate3d" class="">
+ <td>
+ <a href="transform3d-translate3d-001.htm">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-translatez">
+ <!-- 1 tests -->
+ <tr id="transform3d-translatez-001-15.2.#funcdef-translatez" class="">
+ <td>
+ <a href="transform3d-translatez-001.htm">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.htm">=</a> <a href="reference/transform3d-translatez-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-16.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-16.htm
new file mode 100644
index 00000000000..044e60f6a46
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-16.htm
@@ -0,0 +1,182 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The Transform Function Lists - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Function Lists (13 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s16">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s16">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists">16 The Transform Function Lists</a></th></tr>
+ <!-- 13 tests -->
+ <tr id="svg-transform-list-separations-001-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.htm">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.htm">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.htm">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.htm">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.htm">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.htm">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.htm">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.htm">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.htm">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.htm">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.htm">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-singular-001-16" class="primary">
+ <td><strong>
+ <a href="transform-singular-001.htm">transform-singular-001</a></strong></td>
+ <td><a href="reference/transform-singular-ref.htm">=</a> </td>
+ <td></td>
+ <td>matrix(1, 1, 1, 1, 0, 0)
+ <ul class="assert">
+ <li>&quot;If a transform function causes the current transformation matrix (CTM) of an object to be non-invertible, the object and its content do not get displayed.&quot; The matrix (1, 1, 1, 1) has determinant 1*1 - 1*1 = 0 and therefore is not invertible, so nothing should display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-16" class="">
+ <td>
+ <a href="transform3d-scale-004.htm">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-17.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-17.htm
new file mode 100644
index 00000000000..01e24d7e853
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-17.htm
@@ -0,0 +1,51 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Interpolation of Transforms - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of Transforms (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s17">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s17">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-transforms">17 Interpolation of Transforms</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#none-none-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#none-transform-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#other-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#transform-transform-animation">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-18.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-18.htm
new file mode 100644
index 00000000000..24075f0338a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-18.htm
@@ -0,0 +1,60 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Transform function primitives and derivatives - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Transform function primitives and derivatives (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s18">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s18">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-primitives">18 Transform function primitives and derivatives</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#interpolation-two-three-dimensional-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#rotate-three-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#rotate3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#scale-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#scale3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#translate-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#translate3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-19.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-19.htm
new file mode 100644
index 00000000000..5e2161c6798
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-19.htm
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Interpolation of primitives and derived transform functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of primitives and derived transform functions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s19">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s19">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-transform-functions">19 Interpolation of primitives and derived transform functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-2.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-2.htm
new file mode 100644
index 00000000000..0c534834c24
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-2.htm
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Module Interactions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Module Interactions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#module-interactions">2 Module Interactions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-20.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-20.htm
new file mode 100644
index 00000000000..6b5d44e7961
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-20.htm
@@ -0,0 +1,93 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Interpolation of Matrices - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of Matrices (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s20">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#matrix-interpolation">20 Interpolation of Matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#supporting-functions">20.1 Supporting functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-2d-matrices">20.2 Interpolation of 2D matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#decomposing-a-2d-matrix">20.2.1 Decomposing a 2D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-decomposed-2d-matrix-values">20.2.2 Interpolation of decomposed 2D matrix values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#recomposing-to-a-2d-matrix">20.2.3 Recomposing to a 2D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-3d-matrices">20.3 Interpolation of 3D matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#decomposing-a-3d-matrix">20.3.1 Decomposing a 3D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-decomposed-3d-matrix-values">20.3.2 Interpolation of decomposed 3D matrix values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#recomposing-to-a-3d-matrix">20.3.3 Recomposing to a 3D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm
new file mode 100644
index 00000000000..900a4847ee2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-21.htm
@@ -0,0 +1,144 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Mathematical Description of Transform Functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Mathematical Description of Transform Functions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s21">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s21">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#mathematical-description">21 Mathematical Description of Transform Functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#MatrixDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#PerspectiveDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Rotate3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#RotateDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Scale3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#ScaleDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewXDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewYDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Translate3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#TranslateDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#abstract">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conformance">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conformance-classes">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#contents">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conventions">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css21">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css3bg">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css3val">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#cssom-view">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#experimental">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#informative">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#issues-index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#normative">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#partial">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#property-index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#references">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#rfc2119">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#smil3">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#status">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#subtitle">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#svg11">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#testing">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#title">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-3.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-3.htm
new file mode 100644
index 00000000000..c32a012b70d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-3.htm
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>CSS Values - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>CSS Values (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#css-values">3 CSS Values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-4.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-4.htm
new file mode 100644
index 00000000000..584c3e479dd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-4.htm
@@ -0,0 +1,130 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Terminology - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Terminology (5 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s4">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s4">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#terminology">4 Terminology</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#2d-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#3d-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#3d-rendering-context">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#accumulated-3d-transformation-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#bounding-box">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#current-transformation-matrix-ctm">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#identity-transform-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#local-coordinate-system">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#perspective-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#transformable-element">
+ <!-- 5 tests -->
+ <tr id="transform-display-001-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-001.htm">transform-display-001</a></strong></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Inline-Block
+ <ul class="assert">
+ <li>Inline-blocks are atomic inline-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-002-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-002.htm">transform-display-002</a></strong></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Table
+ <ul class="assert">
+ <li>Inline-blocks are block-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-003-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-003.htm">transform-display-003</a></strong></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Inline-Table
+ <ul class="assert">
+ <li>Inline-tables are atomic inline-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-004-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-004.htm">transform-display-004</a></strong></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>List-Item
+ <ul class="assert">
+ <li>List-items are block-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-image-001-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-image-001.htm">transform-image-001</a></strong></td>
+ <td><a href="reference/transform-image-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformed &lt;img&gt;
+ <ul class="assert">
+ <li>An &lt;img&gt; is a transformable element, so transforms should work on it the same as any image. This test compares an img element with a 90deg rotation transform applied to a different image that was pre-rotated by 90 degrees.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s4.#transformation-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#user-coordinate-system">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-5.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-5.htm
new file mode 100644
index 00000000000..1e1eeedce57
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-5.htm
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>Two Dimensional Subset - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Two Dimensional Subset (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s5">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s5">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#two-dimensional-subset">5 Two Dimensional Subset</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-6.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-6.htm
new file mode 100644
index 00000000000..0a3c5a3a73f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-6.htm
@@ -0,0 +1,614 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The Transform Rendering Model - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Rendering Model (48 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s6">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-rendering">6 The Transform Rendering Model</a></th></tr>
+ <!-- 32 tests -->
+ <tr id="css-transforms-3d-on-anonymous-block-001-6" class="primary">
+ <td><strong>
+ <a href="css-transforms-3d-on-anonymous-block-001.htm">css-transforms-3d-on-anonymous-block-001</a></strong></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.htm">=</a> </td>
+ <td></td>
+ <td>No 3D transforms on anonymous block boxes
+ <ul class="assert">
+ <li>3D transforms can not be applied to anonymous block boxes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-001-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-001.htm">transform-abspos-001</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (left/top)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-002-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-002.htm">transform-abspos-002</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (left/top offsets)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-003-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-003.htm">transform-abspos-003</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (right/bottom offsets)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. (This test differs from the previous in that it uses right/bottom properties for positioning instead of left/top.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-004-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-004.htm">transform-abspos-004</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (bottom/right)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that it uses the right/bottom properties for positioning instead of top/left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-005-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-005.htm">transform-abspos-005</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (bottom/right)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. Therefore, this test should be offset by one pixel from the reference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-006-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-006.htm">transform-abspos-006</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (table)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that the outer div is a table, which might cause buggy rendering engines to treat it differently.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-007-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-007.htm">transform-abspos-007</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (inline-table)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. This test differs from transform-abspos-002.html in that the outer div has display: inline-table, which might cause it to render differently in buggy UAs.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-007-6" class="primary svg">
+ <td><strong>
+ <a href="transform-background-007.htm">transform-background-007</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (propagated body with root element transform)
+ <ul class="assert">
+ <li>&quot;If the root element is transformed, the transformation applies to the entire canvas, including any background specified for the root element. Since the background painting area for the root element is the entire canvas, which is infinite, the transformation might cause parts of the background that were originally off-screen to appear. For example, if the root element's background were repeating dots, and a transformation of 'scale(0.5)' were specified on the root element, the dots would shrink to half their size, but there will be twice as many, so they still cover the whole viewport.&quot; In this case, the background is specified on the body but propagates to the root element. The transform is on the root element, so it needs to affect the background. The rotation 90 degrees clockwise means that most of the screen will be filled with triangles that were originally above the top of the viewport; the original top row of triangles will now be on the left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-008-6" class="primary svg">
+ <td><strong>
+ <a href="transform-background-008.htm">transform-background-008</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (root element background and transform)
+ <ul class="assert">
+ <li>This is exactly the same as transform-background-007.html, except that the background is specified directly on the root element instead of being specified on the body and propagating to the root.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-compound-001-6" class="primary">
+ <td><strong>
+ <a href="transform-compound-001.htm">transform-compound-001</a></strong></td>
+ <td><a href="reference/transform-compound-ref.htm">=</a> <a href="reference/transform-compound-notref-1.htm">&#x2260;</a> <a href="reference/transform-compound-notref-2.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Compound Transforms
+ <ul class="assert">
+ <li>Tests that applying multiple transforms to an element is the same as applying the transforms in the same order to nested elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-descendant-001-6" class="primary">
+ <td><strong>
+ <a href="transform-descendant-001.htm">transform-descendant-001</a></strong></td>
+ <td><a href="reference/transform-descendant-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transform Affects Descendant
+ <ul class="assert">
+ <li>This just tests that a transform on a container div moves its contents, not just the div itself.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-001-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-001.htm">transform-fixed-bg-001</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background
+ <ul class="assert">
+ <li>&quot;Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms.&quot; Thus if we have a div that's 100px square aligned at the top left of the page, giving it a fixed background and translating it 50px down and right should be the same as giving it a non-fixed background that's translated 50px down and right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-002-6" class="primary dom svg">
+ <td><strong>
+ <a href="transform-fixed-bg-002.htm">transform-fixed-bg-002</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with scrolling)
+ <ul class="assert">
+ <li>&quot;Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms.&quot; Here we translate the div 150px down instead of 50px, and also scroll down 100px. This should be the same as the previous test because the background image is 100px square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-003-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-003.htm">transform-fixed-bg-003</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with rotation)
+ <ul class="assert">
+ <li>This is the same as transform-fixed-bg-001, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-004-6" class="primary dom svg">
+ <td><strong>
+ <a href="transform-fixed-bg-004.htm">transform-fixed-bg-004</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with rotation and scrolling)
+ <ul class="assert">
+ <li>This is the same as transform-fixed-bg-002, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-005-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-005.htm">transform-fixed-bg-005</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (no-op transform)
+ <ul class="assert">
+ <li>This affects that adding a no-op transform to an element with a fixed background doesn't affect rendering.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-006-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-006.htm">transform-fixed-bg-006</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (transform of intermediate)
+ <ul class="assert">
+ <li>This tests that adding a rotation to a non-root element doesn't affect rendering of fixed backgrounds on its descendants.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-007-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-007.htm">transform-fixed-bg-007</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (transform on root)
+ <ul class="assert">
+ <li>This tests that a transform on the root element *does* affect the rendering of fixed backgrounds on its descendants.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-generated-001-6" class="primary">
+ <td><strong>
+ <a href="transform-generated-001.htm">transform-generated-001</a></strong></td>
+ <td><a href="reference/transform-generated-001-ref.htm">=</a> <a href="reference/transform-generated-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Generated Content (block)
+ <ul class="assert">
+ <li>Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated block box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-generated-002-6" class="primary">
+ <td><strong>
+ <a href="transform-generated-002.htm">transform-generated-002</a></strong></td>
+ <td><a href="reference/transform-generated-002-ref.htm">=</a> <a href="reference/transform-generated-002-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Generated Content (inline)
+ <ul class="assert">
+ <li>Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated inline box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-iframe-001-6" class="primary">
+ <td><strong>
+ <a href="transform-iframe-001.htm">transform-iframe-001</a></strong></td>
+ <td><a href="reference/transform-iframe-ref.htm">=</a> </td>
+ <td></td>
+ <td>Iframe
+ <ul class="assert">
+ <li>This test ensures that transforms cannot move the contents of an iframe onto the parent page. The iframe here contains a red box shifted 500px down and to the right, outside the iframe's visible area. overflow: hidden ensures that scrollbars are not tested.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-overflow-001-6" class="primary">
+ <td><strong>
+ <a href="transform-overflow-001.htm">transform-overflow-001</a></strong></td>
+ <td><a href="reference/transform-overflow-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>overflow: auto
+ <ul class="assert">
+ <li>&quot;. . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area.&quot; This tests that the effect of overflow: auto for a translation is the same as for an equivalent relative positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-overflow-002-6" class="primary">
+ <td><strong>
+ <a href="transform-overflow-002.htm">transform-overflow-002</a></strong></td>
+ <td><a href="reference/transform-overflow-002-ref.htm">=</a> </td>
+ <td></td>
+ <td>overflow: scroll
+ <ul class="assert">
+ <li>&quot;. . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area.&quot; This tests that the effect of overflow: scroll for a translation is the same as for an equivalent relative positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-001-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-001.htm">transform-root-bg-001</a></strong></td>
+ <td><a href="reference/transform-root-bg-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(-1) on Root Element With Background
+ <ul class="assert">
+ <li>The background here extends to the whole canvas, and a transform on the root element must transform the whole canvas, background included. Thus the entire tiled background of left-pointing triangles needs to be rotated 180 degrees (same as scale(-1)) around the top center of the viewport, which is the default transform-origin of 50% 50% in this case. An implementation that doesn't draw the background on parts of the canvas outside the viewport might incorrectly display nothing, because the part of the background that's supposed to be rotated into view was initially above the visible part of the canvas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-002-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-002.htm">transform-root-bg-002</a></strong></td>
+ <td><a href="reference/transform-root-bg-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(-1) on Root Element With Background On Body
+ <ul class="assert">
+ <li>Identical to transform-root-bg-001.html, except that the background property is put on the body rather than the root element. This should make no difference, because the body's background propagates up to the canvas if there's no root element background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-003-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-003.htm">transform-root-bg-003</a></strong></td>
+ <td><a href="reference/transform-root-bg-003-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(0.5) on Root Element With Background
+ <ul class="assert">
+ <li>This is the same as transform-root-bg-001.html, except that it uses scale(0.5) instead of scale(-1). It also specifies a transform-origin, because the default of 50% 50% wouldn't work well with the way the reference image is constructed.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-004-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-004.htm">transform-root-bg-004</a></strong></td>
+ <td><a href="reference/transform-root-bg-004-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale(-1) On Body With Background
+ <ul class="assert">
+ <li>This is like transform-root-bg-002.html, except that the transform is specified on the body element, not just the background. The background gets lifted to the root element, but the transform does not, so the transform has no effect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-001-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-001.htm">transform-stacking-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Stacking, transform: scale(1)
+ <ul class="assert">
+ <li>This tests that specifying the identity transform on an element still causes it to create a new stacking context (unlike transform: none).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-002-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-002.htm">transform-stacking-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Stacking, transform: none
+ <ul class="assert">
+ <li>This tests that &quot;transform: none&quot; does not create a new stacking context -- it should have no effect at all.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-003-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-003.htm">transform-stacking-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Stacking, invalid transform value
+ <ul class="assert">
+ <li>This tests that specifying the transform property with an invalid value does not create a new stacking context -- it should have no effect at all, same as &quot;transform: none&quot;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-004-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-004.htm">transform-stacking-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Stacking, inherited transform: none
+ <ul class="assert">
+ <li>This tests that specifying &quot;transform: inherit&quot; (when the parent has no transform) does not create a new stacking context -- it should have no effect at all, same as &quot;transform: none&quot;.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s6.#issue-ca2c412c">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.#transformation-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering">6.1 3D Transform Rendering</a></th></tr>
+ <!-- 17 tests -->
+ <tr id="css-transforms-3d-on-anonymous-block-001-6.1" class="">
+ <td>
+ <a href="css-transforms-3d-on-anonymous-block-001.htm">css-transforms-3d-on-anonymous-block-001</a></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.htm">=</a> </td>
+ <td></td>
+ <td>No 3D transforms on anonymous block boxes
+ <ul class="assert">
+ <li>3D transforms can not be applied to anonymous block boxes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_45deg.htm">rotate_45deg</a></strong></td>
+ <td><a href="reference/rotate_45deg-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_x_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_x_45deg.htm">rotate_x_45deg</a></strong></td>
+ <td><a href="reference/rotate_x_45deg-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateX with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_y_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_y_45deg.htm">rotate_y_45deg</a></strong></td>
+ <td><a href="reference/rotate_y_45deg-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scalex-6.1" class="primary">
+ <td><strong>
+ <a href="scalex.htm">scalex</a></strong></td>
+ <td><a href="reference/scalex-ref.htm">=</a> </td>
+ <td></td>
+ <td>test scale x
+ <ul class="assert">
+ <li>scale x 2</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scaley-6.1" class="primary">
+ <td><strong>
+ <a href="scaley.htm">scaley</a></strong></td>
+ <td><a href="reference/scaley-ref.htm">=</a> </td>
+ <td></td>
+ <td>test scale y
+ <ul class="assert">
+ <li>scale y 2</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-3d-rotatey-stair-above-001-6.1" class="primary">
+ <td><strong>
+ <a href="transform-3d-rotateY-stair-above-001.htm">transform-3d-rotatey-stair-above-001</a></strong></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.htm">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>A rotateY transform with perspective should result in a trapezoid.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-3d-rotatey-stair-below-001-6.1" class="primary">
+ <td><strong>
+ <a href="transform-3d-rotateY-stair-below-001.htm">transform-3d-rotatey-stair-below-001</a></strong></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.htm">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>A rotateY transform with perspective should result in a trapezoid.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-001-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-001.htm">transform3d-sorting-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting
+ <ul class="assert">
+ <li>The red box here is translated in the negative Z-direction, so it should render beneath the lime box even though it comes later in DOM order.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-002-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-002.htm">transform3d-sorting-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Rotation
+ <ul class="assert">
+ <li>The red box here is translated to the same extent as the lime box, so they should render in stacking context order: the lime box is on top, because it's later in the DOM. But then we apply rotatex(180deg) to the whole thing, so the lime box should wind up on top in the end.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-003-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-003.htm">transform3d-sorting-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With No Preserve-3D
+ <ul class="assert">
+ <li>The red box here is translated to above the lime box, but they aren't in the same 3D rendering context, so they should be drawn in DOM order regardless: lime box on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-004-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-004.htm">transform3d-sorting-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Preserve-3D on Grandparent
+ <ul class="assert">
+ <li>This is the same as transform3d-sorting-003.html, except with two wrapper divs. 'transform-style: preserve-3d' only affects children, not grandchildren, so the two divs with backgrounds are still in different rendering contexts and the Z-position should still not affect stacking.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-005-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-005.htm">transform3d-sorting-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Sorting With Background on Parent
+ <ul class="assert">
+ <li>This tests that if a parent has 'transform-style: preserve-3d', it's in the same rendering context as its children. Thus the translateZ(10px) puts the child above it, and the rotateX(180deg) puts it below, so the lime parent is rendered on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-006-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-006.htm">transform3d-sorting-006</a></td>
+ <td><a href="reference/transform3d-sorting-006-ref.htm">=</a> </td>
+ <td></td>
+ <td>Sorting With Intersection
+ <ul class="assert">
+ <li>This tests that when two boxes intersect in a simple fashion, they're rendered according to Newell's algorithm.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-6.1" class="primary">
+ <td><strong>
+ <a href="translate.htm">translate</a></strong></td>
+ <td><a href="reference/translate-ref.htm">=</a> </td>
+ <td></td>
+ <td>test translate
+ <ul class="assert">
+ <li>translate x, y</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-css-3d-polygon-cycle-6.1" class="primary svg">
+ <td><strong>
+ <a href="ttwf-css-3d-polygon-cycle.htm">ttwf-css-3d-polygon-cycle</a></strong></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>3d transform polygon cycle
+ <ul class="assert">
+ <li>The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-css-3d-polygon-cycle-mismatch-6.1" class="primary svg">
+ <td><strong>
+ <a href="ttwf-css-3d-polygon-cycle-mismatch.htm">ttwf-css-3d-polygon-cycle-mismatch</a></strong></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>3d transform polygon cycle
+ <ul class="assert">
+ <li>The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s6.1.#accumulated-3d-transformation-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#issue-34d952cb">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#issue-878a3175">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#perspective-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#processing-of-perspective-transformed-boxes">6.2 Processing of Perspective-Transformed Boxes</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2.#issue-44e00fb5">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2.#issue-6b4d59fb">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-7.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-7.htm
new file mode 100644
index 00000000000..3fb106f808a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-7.htm
@@ -0,0 +1,1149 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The transform Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform Property (102 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s7">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s7">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-property">7 The transform Property</a></th></tr>
+ <!-- 101 tests -->
+ <tr id="2d-rotate-001-7" class="primary css3, rotate, svg">
+ <td><strong>
+ <a href="2d-rotate-001.htm">2d-rotate-001</a></strong></td>
+ <td><a href="reference/2d-rotate-ref.htm">=</a> <a href="reference/2d-rotate-notref.htm">&#x2260;</a> </td>
+ <td><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>CSS Transform using 2d rotate()
+ <ul class="assert">
+ <li>asserting that you can rotate an element with CSS</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="2d-rotate-js-7" class="primary css3, rotate, svg">
+ <td><strong>
+ <a href="2d-rotate-js.htm">2d-rotate-js</a></strong></td>
+ <td></td>
+ <td><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Rotate via javascript must show the correct computed rotation
+ <ul class="assert">
+ <li>Asserting that you can rotate an element with JS and it show up in CSS computed values not as a matrix but as the rotation</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="backface-visibility-hidden-001-7" class="primary">
+ <td><strong>
+ <a href="backface-visibility-hidden-001.htm">backface-visibility-hidden-001</a></strong></td>
+ <td><a href="reference/backface-visibility-hidden-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with backface visibility = hidden
+ <ul class="assert">
+ <li>When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-scale-nested-001-7" class="primary">
+ <td><strong>
+ <a href="css-scale-nested-001.htm">css-scale-nested-001</a></strong></td>
+ <td><a href="reference/css-scale-nested-ref.htm">=</a> </td>
+ <td></td>
+ <td>scale 0 on a parent with a child
+ <ul class="assert">
+ <li>Child square element is transformed (scaled to zero) along with the parent element</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-rotate-7" class="primary">
+ <td><strong>
+ <a href="css-transform-inherit-rotate.htm">css-transform-inherit-rotate</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms rotate inheritance on div element
+ <ul class="assert">
+ <li>Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-scale-7" class="primary">
+ <td><strong>
+ <a href="css-transform-inherit-scale.htm">css-transform-inherit-scale</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms scale 2 inheritance on div elements
+ <ul class="assert">
+ <li>While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-001-7" class="primary">
+ <td><strong>
+ <a href="css-transform-scale-001.htm">css-transform-scale-001</a></strong></td>
+ <td><a href="reference/css-transform-scale-ref-001.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-7" class="primary">
+ <td><strong>
+ <a href="css-transform-scale-002.htm">css-transform-scale-002</a></strong></td>
+ <td><a href="reference/css-transform-scale-ref-002.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-style-evaluation-validation-7" class="primary dom script">
+ <td><strong>
+ <a href="css-transform-style-evaluation-validation.htm">css-transform-style-evaluation-validation</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>property
+ </td>
+ </tr>
+ <tr id="css3-transform-rotatey-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-rotateY.htm">css3-transform-rotatey</a></strong></td>
+ <td><a href="reference/css3-transform-rotateY-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY function
+ <ul class="assert">
+ <li>box width should be equal to projection width if transform rotateY applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-scale.htm">css3-transform-scale</a></strong></td>
+ <td><a href="reference/css3-transform-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-002-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-scale-002.htm">css3-transform-scale-002</a></strong></td>
+ <td><a href="reference/css3-transform-scale-ref-002.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-x-7" class="">
+ <td>
+ <a href="perspective-origin-x.htm">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-xy-7" class="">
+ <td>
+ <a href="perspective-origin-xy.htm">perspective-origin-xy</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin '&lt;x,y&gt;' visually moves the objects '&lt;-x,-y&gt;*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-0-7" class="">
+ <td>
+ <a href="perspective-translateZ-0.htm">perspective-translatez-0</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that points on the z=0 plane are unchanged</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-negative-7" class="">
+ <td>
+ <a href="perspective-translateZ-negative.htm">perspective-translatez-negative</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a negative Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-positive-7" class="">
+ <td>
+ <a href="perspective-translateZ-positive.htm">perspective-translatez-positive</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a positive Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate-180-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-180-degrees-001.htm">rotate-180-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 180 deg
+ </td>
+ </tr>
+ <tr id="rotate-270-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-270-degrees-001.htm">rotate-270-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 270 deg
+ </td>
+ </tr>
+ <tr id="rotate-90-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-90-degrees-001.htm">rotate-90-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 90 deg
+ </td>
+ </tr>
+ <tr id="scale-optional-second-001-7" class="primary">
+ <td><strong>
+ <a href="scale-optional-second-001.htm">scale-optional-second-001</a></strong></td>
+ <td><a href="reference/scale-optional-second-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and one parameter
+ <ul class="assert">
+ <li>If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scale-zero-001-7" class="primary">
+ <td><strong>
+ <a href="scale-zero-001.htm">scale-zero-001</a></strong></td>
+ <td><a href="reference/scale-zero-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and zero values
+ <ul class="assert">
+ <li>If zero value is passed to scale function, it causes the element to disappear.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-2d-getcomputedstyle-001-7" class="primary dom script">
+ <td><strong>
+ <a href="transform-2d-getComputedStyle-001.htm">transform-2d-getcomputedstyle-001</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>CSS 2D transforms correctly report their matrix via getComputedStyle()</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-applies-to-001-7" class="primary">
+ <td><strong>
+ <a href="transform-applies-to-001.htm">transform-applies-to-001</a></strong></td>
+ <td><a href="reference/transform-applies-to-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform applied to elements with 'display' set to 'block'
+ <ul class="assert">
+ <li>The 'transform' property applies to elements with 'display' set to 'block'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-applies-to-002-7" class="primary ahem">
+ <td><strong>
+ <a href="transform-applies-to-002.htm">transform-applies-to-002</a></strong></td>
+ <td><a href="reference/transform-applies-to-002-ref.htm">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>Transform does not apply to non-replaced inline elements
+ <ul class="assert">
+ <li>The 'transform' property does not apply to non-replaced inline elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-001-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-001.htm">transform-background-001</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (rotate right)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-002-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-002.htm">transform-background-002</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (rotate left)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-003-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-003.htm">transform-background-003</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (flip)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-004-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-004.htm">transform-background-004</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (nested flip)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. This file tests that a transform on the parent works correctly, not just on the element itself.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-005-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-005.htm">transform-background-005</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (non-propagated body)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. In this case the scale is applied to the root element, and the background is on the body. The white background on the root element prevents the body's background from propagating to the canvas, so it's just a regular background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-006-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-006.htm">transform-background-006</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> <a href="reference/transform-background-006-notref.htm">&#x2260;</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (propagated body)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. In this case the transform is applied to the body element, but the root element's background is transparent, so the background is actually on the root element instead of the body. Therefore, the transform must not affect the background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-001-7" class="primary">
+ <td><strong>
+ <a href="transform-inherit-001.htm">transform-inherit-001</a></strong></td>
+ <td><a href="reference/transform-inherit-ref.htm">=</a> </td>
+ <td></td>
+ <td>'inherit' and em
+ <ul class="assert">
+ <li>The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;As specified, but with relative lengths converted into absolute lengths.&quot; In this test, a parent element has a transform of 1em with a font-size of 25px, and the child has &quot;transform: inherit&quot;. Since the relative length of 1em is converted to an absolute length of 25px before inheritance, the child should be translated by a further 25px, for a total of 50px, even though its font-size is 100px. An implementation that incorrectly inherited 1em without converting it to an absolute length first would translate by 125px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-002-7" class="primary">
+ <td><strong>
+ <a href="transform-inherit-002.htm">transform-inherit-002</a></strong></td>
+ <td><a href="reference/transform-inherit-ref.htm">=</a> </td>
+ <td></td>
+ <td>'inherit' and percentages
+ <ul class="assert">
+ <li>The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;As specified, but with relative lengths converted into absolute lengths.&quot; In this test, a parent element has a transform of 10% with a height/width of 400px, and the child has &quot;transform: inherit&quot; and a height/width of 100px. Since percentages are not relative lengths and are inherited as specified, the parent should be translated by 40px and then the child by only 10px, for a total of 50px. An implementation that incorrectly converted the parent's 10% transform into 40px before inheritance would translate the child by a further 40px, for a total of 80px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inline-001-7" class="primary">
+ <td><strong>
+ <a href="transform-inline-001.htm">transform-inline-001</a></strong></td>
+ <td><a href="reference/transform-inline-ref.htm">=</a> <a href="reference/transform-inline-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Transformed Inline
+ <ul class="assert">
+ <li>The definition of &quot;transformable element&quot; includes atomic inline-level elements, such as images, but not regular inline-level elements, such as spans. The 'transform' property only applies to transformable elements, so it should have no effect on a span.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-001-7" class="primary">
+ <td><strong>
+ <a href="transform-input-001.htm">transform-input-001</a></strong></td>
+ <td><a href="reference/transform-input-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=text)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-002-7" class="primary">
+ <td><strong>
+ <a href="transform-input-002.htm">transform-input-002</a></strong></td>
+ <td><a href="reference/transform-input-002-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=file)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-003-7" class="primary">
+ <td><strong>
+ <a href="transform-input-003.htm">transform-input-003</a></strong></td>
+ <td><a href="reference/transform-input-003-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=search)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-004-7" class="primary">
+ <td><strong>
+ <a href="transform-input-004.htm">transform-input-004</a></strong></td>
+ <td><a href="reference/transform-input-004-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=tel)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-005-7" class="primary">
+ <td><strong>
+ <a href="transform-input-005.htm">transform-input-005</a></strong></td>
+ <td><a href="reference/transform-input-005-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=url)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-006-7" class="primary">
+ <td><strong>
+ <a href="transform-input-006.htm">transform-input-006</a></strong></td>
+ <td><a href="reference/transform-input-006-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=email)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-007-7" class="primary">
+ <td><strong>
+ <a href="transform-input-007.htm">transform-input-007</a></strong></td>
+ <td><a href="reference/transform-input-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=password)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-008-7" class="primary">
+ <td><strong>
+ <a href="transform-input-008.htm">transform-input-008</a></strong></td>
+ <td><a href="reference/transform-input-008-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=datetime)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-009-7" class="primary">
+ <td><strong>
+ <a href="transform-input-009.htm">transform-input-009</a></strong></td>
+ <td><a href="reference/transform-input-009-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=date)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-010-7" class="primary">
+ <td><strong>
+ <a href="transform-input-010.htm">transform-input-010</a></strong></td>
+ <td><a href="reference/transform-input-010-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=month)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-011-7" class="primary">
+ <td><strong>
+ <a href="transform-input-011.htm">transform-input-011</a></strong></td>
+ <td><a href="reference/transform-input-011-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=week)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-012-7" class="primary">
+ <td><strong>
+ <a href="transform-input-012.htm">transform-input-012</a></strong></td>
+ <td><a href="reference/transform-input-012-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=time)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-013-7" class="primary">
+ <td><strong>
+ <a href="transform-input-013.htm">transform-input-013</a></strong></td>
+ <td><a href="reference/transform-input-013-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=datetime-local)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-014-7" class="primary">
+ <td><strong>
+ <a href="transform-input-014.htm">transform-input-014</a></strong></td>
+ <td><a href="reference/transform-input-014-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=number)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-015-7" class="primary">
+ <td><strong>
+ <a href="transform-input-015.htm">transform-input-015</a></strong></td>
+ <td><a href="reference/transform-input-015-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=range)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-016-7" class="primary">
+ <td><strong>
+ <a href="transform-input-016.htm">transform-input-016</a></strong></td>
+ <td><a href="reference/transform-input-016-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=color)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-017-7" class="primary">
+ <td><strong>
+ <a href="transform-input-017.htm">transform-input-017</a></strong></td>
+ <td><a href="reference/transform-input-017-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=checkbox)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-018-7" class="primary">
+ <td><strong>
+ <a href="transform-input-018.htm">transform-input-018</a></strong></td>
+ <td><a href="reference/transform-input-018-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=radio)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-019-7" class="primary">
+ <td><strong>
+ <a href="transform-input-019.htm">transform-input-019</a></strong></td>
+ <td><a href="reference/transform-input-019-ref.htm">=</a> </td>
+ <td></td>
+ <td>Input (type=submit)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-001-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-001.htm">transform-percent-001</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-002-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-002.htm">transform-percent-002</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateY)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-003-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-003.htm">transform-percent-003</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-004-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-004.htm">transform-percent-004</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translateY)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-005-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-005.htm">transform-percent-005</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translateY and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-006-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-006.htm">transform-percent-006</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-007-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-007.htm">transform-percent-007</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateY and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-008-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-008.htm">transform-percent-008</a></strong></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (border box)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box. This test adds a thicker border plus margin and padding to make any discrepancies more evident.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-propagate-inherit-boolean-001-7" class="primary">
+ <td><strong>
+ <a href="transform-propagate-inherit-boolean-001.htm">transform-propagate-inherit-boolean-001</a></strong></td>
+ <td><a href="reference/transform-propagate-inherit-boolean-ref.htm">=</a> </td>
+ <td></td>
+ <td>em on Multiple Elements
+ <ul class="assert">
+ <li>This tests that when a 'transform' rule using em affects two elements with different font-sizes, it affects each according to its respective font-size, rather than using the same length for both. See: https://bugzilla.mozilla.org/show_bug.cgi?id=460440</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rounding-001-7" class="primary">
+ <td><strong>
+ <a href="transform-rounding-001.htm">transform-rounding-001</a></strong></td>
+ <td><a href="reference/transform-rounding-ref.htm">=</a> </td>
+ <td></td>
+ <td>Rounding
+ <ul class="assert">
+ <li>This tests that the implementation does not round intermediate matrices to the extent that it significantly distorts the final result. (No requirement in the specification places any specific constraints on rounding, but simple cases like this should not deviate dramatically from the mathematically precise result.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-test-7" class="primary">
+ <td><strong>
+ <a href="transform-scale-test.htm">transform-scale-test</a></strong></td>
+ <td><a href="reference/transform-scale-test-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function.
+ <ul class="assert">
+ <li>This transform shrinks a container by calling scale(.33). It also sets transform-origin to top left in order to visually align with the second green square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-001-7" class="primary">
+ <td><strong>
+ <a href="transform-table-001.htm">transform-table-001</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.htm">=</a> <a href="reference/transform-table-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table
+ <ul class="assert">
+ <li>This tests that an appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-002-7" class="primary">
+ <td><strong>
+ <a href="transform-table-002.htm">transform-table-002</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.htm">=</a> <a href="reference/transform-table-002-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Inline-Table
+ <ul class="assert">
+ <li>This tests that an appropriately-crafted transform applied to an inline-table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-003-7" class="primary">
+ <td><strong>
+ <a href="transform-table-003.htm">transform-table-003</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.htm">=</a> <a href="reference/transform-table-001-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table 2
+ <ul class="assert">
+ <li>This tests that another appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-004-7" class="primary">
+ <td><strong>
+ <a href="transform-table-004.htm">transform-table-004</a></strong></td>
+ <td><a href="reference/transform-table-004-ref.htm">=</a> <a href="reference/transform-table-004-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table with caption-side: bottom
+ <ul class="assert">
+ <li>This is the same as transform-table-001.html, except the caption has caption-side: bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-005-7" class="primary">
+ <td><strong>
+ <a href="transform-table-005.htm">transform-table-005</a></strong></td>
+ <td><a href="reference/transform-table-004-ref.htm">=</a> <a href="reference/transform-table-005-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table with caption-side: bottom
+ <ul class="assert">
+ <li>This is the same as transform-table-002.html, except the caption has caption-side: bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-inline-block-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-inline-block.htm">transform-transformable-inline-block</a></strong></td>
+ <td><a href="reference/transform-transformable-inline-block-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Inline-Block
+ <ul class="assert">
+ <li>This tests that transforms specified on an inline-block work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-inline-table-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-inline-table.htm">transform-transformable-inline-table</a></strong></td>
+ <td><a href="reference/transform-transformable-inline-table-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Inline-Table
+ <ul class="assert">
+ <li>This tests that transforms specified on an inline-table work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-list-item-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-list-item.htm">transform-transformable-list-item</a></strong></td>
+ <td><a href="reference/transform-transformable-list-item-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of List-Item
+ <ul class="assert">
+ <li>This tests that transforms specified on a list-item work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table.htm">transform-transformable-table</a></strong></td>
+ <td><a href="reference/transform-transformable-table-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Table
+ <ul class="assert">
+ <li>This tests that transforms specified on a table work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-caption-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-caption.htm">transform-transformable-table-caption</a></strong></td>
+ <td><a href="reference/transform-transformable-table-caption-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Caption
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-caption work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-cell-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-cell.htm">transform-transformable-table-cell</a></strong></td>
+ <td><a href="reference/transform-transformable-table-cell-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Cell
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-cell work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-footer-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-footer-group.htm">transform-transformable-table-footer-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-footer-group-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Footer-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-footer-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-header-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-header-group.htm">transform-transformable-table-header-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-header-group-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Header-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-header-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-row-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-row.htm">transform-transformable-table-row</a></strong></td>
+ <td><a href="reference/transform-transformable-table-row-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Row
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-row work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-row-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-row-group.htm">transform-transformable-table-row-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-row-group-ref.htm">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Row-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-row-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-006-7" class="primary">
+ <td><strong>
+ <a href="transform-translatex-006.htm">transform-translatex-006</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with translateX function
+ <ul class="assert">
+ <li>This tests that translateX(50px) translates a box by 50 pixels in the X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_invalid_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_invalid_prefixed.htm">transform_translate_invalid_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with invalid translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(null, null) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_max_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_max_prefixed.htm">transform_translate_max_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with maximum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_min_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_min_prefixed.htm">transform_translate_min_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with minimum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_neg_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_neg_prefixed.htm">transform_translate_neg_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with negative translation value
+ <ul class="assert">
+ <li>Check if transform supports translate(-1px, -1px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_prefixed.htm">transform_translate_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(100px, 100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_second_omited_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_second_omited_prefixed.htm">transform_translate_second_omited_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with second translation value omited
+ <ul class="assert">
+ <li>Check if transform supports translate(100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_zero_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_zero_prefixed.htm">transform_translate_zero_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(0, 0)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-degree-90-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotate-degree-90.htm">transforms-rotate-degree-90</a></strong></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ <ul class="assert">
+ <li>If the rotate with parameter not provided, greenRectangle will not cover redRectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-translate-scale-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotate-translate-scale.htm">transforms-rotate-translate-scale</a></strong></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and rotate function with one parameter
+ <ul class="assert">
+ <li>If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotatey-degree-60-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotateY-degree-60.htm">transforms-rotatey-degree-60</a></strong></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ </td>
+ </tr>
+ <tr id="transforms-skewx-7" class="primary">
+ <td><strong>
+ <a href="transforms-skewX.htm">transforms-skewx</a></strong></td>
+ <td><a href="reference/transforms-skewX-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for X axis.
+ <ul class="assert">
+ <li>If the skew for X axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-skewy-7" class="primary">
+ <td><strong>
+ <a href="transforms-skewY.htm">transforms-skewy</a></strong></td>
+ <td><a href="reference/transforms-skewY-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for Y axis.
+ <ul class="assert">
+ <li>If the skew for Y axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-optional-second-001-7" class="primary">
+ <td><strong>
+ <a href="translate-optional-second-001.htm">translate-optional-second-001</a></strong></td>
+ <td><a href="reference/translate-optional-second-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform property with translate function and one parameter
+ <ul class="assert">
+ <li>If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-preserve-3d-1-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-preserve-3d-1.htm">transofrmed-preserve-3d-1</a></strong></td>
+ <td><a href="reference/transofrmed-preserve-3d-1-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform preserve-3d
+ <ul class="assert">
+ <li>The transformed div should establishe a 3D rendering context</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-rotatex-3-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-rotateX-3.htm">transofrmed-rotatex-3</a></strong></td>
+ <td><a href="reference/transofrmed-rotateX-3-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform rotateX
+ <ul class="assert">
+ <li>The transformed div should rotateX by 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-rotatey-1-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-rotateY-1.htm">transofrmed-rotatey-1</a></strong></td>
+ <td><a href="reference/transofrmed-rotateY-1-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform rotateY
+ <ul class="assert">
+ <li>The transformed div should rotate 90 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-reftest-rotate-7" class="primary">
+ <td><strong>
+ <a href="ttwf-reftest-rotate.htm">ttwf-reftest-rotate</a></strong></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform rotate
+ <ul class="assert">
+ <li>The transform should rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-skewx-001-7" class="primary">
+ <td><strong>
+ <a href="ttwf-transform-skewx-001.htm">ttwf-transform-skewx-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-skewx-001.htm">=</a> </td>
+ <td></td>
+ <td>CSS Transform Using skewX() function
+ <ul class="assert">
+ <li>Test that the green shape is skew on X axis by 45 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-skewy-001-7" class="primary">
+ <td><strong>
+ <a href="ttwf-transform-skewy-001.htm">ttwf-transform-skewy-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-skewy-001.htm">=</a> </td>
+ <td></td>
+ <td>CSS Transform Using skewY() function
+ <ul class="assert">
+ <li>Test that the green shape is skew on Y axis by 45 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-translatex-001-7" class="primary CSS Transform">
+ <td><strong>
+ <a href="ttwf-transform-translatex-001.htm">ttwf-transform-translatex-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-translatex-001.htm">=</a> </td>
+ <td><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ <td>CSS Transform Using translateX() function
+ <ul class="assert">
+ <li>Test that the green square is moved on X axis 100px</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-translatey-001-7" class="primary CSS Transform">
+ <td><strong>
+ <a href="ttwf-transform-translatey-001.htm">ttwf-transform-translatey-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-translatey-001.htm">=</a> </td>
+ <td><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ <td>CSS Transform Using translateY() function
+ <ul class="assert">
+ <li>Test that the green square is moved on Y axis 100px</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s7.#propdef-transform">
+ <!-- 1 tests -->
+ <tr id="css-transform-property-existence-7.#propdef-transform" class="primary dom script">
+ <td><strong>
+ <a href="css-transform-property-existence.htm">css-transform-property-existence</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>property existence
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s7.#typedef-transform-list">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-8.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-8.htm
new file mode 100644
index 00000000000..f66221aa501
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-8.htm
@@ -0,0 +1,1344 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The transform-origin Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform-origin Property (117 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s8">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s8">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property">8 The transform-origin Property</a></th></tr>
+ <!-- 116 tests -->
+ <tr id="css-transform-scale-001-8" class="">
+ <td>
+ <a href="css-transform-scale-001.htm">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-8" class="">
+ <td>
+ <a href="css-transform-scale-002.htm">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.htm">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-014-8" class="">
+ <td>
+ <a href="regions-transforms-014.htm">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.htm">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transform region with position:absolute and transform-origin
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-001.htm">svg-origin-length-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-002.htm">svg-origin-length-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-003.htm">svg-origin-length-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-004.htm">svg-origin-length-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100px
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-005.htm">svg-origin-length-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50px 50px
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-006.htm">svg-origin-length-006</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-007.htm">svg-origin-length-007</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-008.htm">svg-origin-length-008</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50 50
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-001.htm">svg-origin-length-cm-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in cm - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-002.htm">svg-origin-length-cm-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in cm - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-003.htm">svg-origin-length-cm-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 2cm 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (2cm,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-004.htm">svg-origin-length-cm-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 2cm
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,2cm) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-005.htm">svg-origin-length-cm-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 1cm 1cm
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (1cm,1cm) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-001.htm">svg-origin-length-in-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in inch - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-002.htm">svg-origin-length-in-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in inch - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-003.htm">svg-origin-length-in-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 1.5in 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (1.5in,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-004.htm">svg-origin-length-in-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 1.5in
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,1.5in) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-005.htm">svg-origin-length-in-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0.75in 0.75in
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0.75in, 0.75in) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-001.htm">svg-origin-length-pt-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in pt - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-002.htm">svg-origin-length-pt-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in pt - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-003.htm">svg-origin-length-pt-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 80pt 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (80pt,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-004.htm">svg-origin-length-pt-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 80pt
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,80pt) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-005.htm">svg-origin-length-pt-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 40pt 40pt
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (40pt,40pt) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-001.htm">svg-origin-relative-length-001</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-002.htm">svg-origin-relative-length-002</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-003.htm">svg-origin-relative-length-003</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-004.htm">svg-origin-relative-length-004</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-005.htm">svg-origin-relative-length-005</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-006.htm">svg-origin-relative-length-006</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-007.htm">svg-origin-relative-length-007</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-008.htm">svg-origin-relative-length-008</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-009.htm">svg-origin-relative-length-009</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-010.htm">svg-origin-relative-length-010</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-011.htm">svg-origin-relative-length-011</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-012.htm">svg-origin-relative-length-012</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-013.htm">svg-origin-relative-length-013</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-014.htm">svg-origin-relative-length-014</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-015.htm">svg-origin-relative-length-015</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-016.htm">svg-origin-relative-length-016</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-017.htm">svg-origin-relative-length-017</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-018.htm">svg-origin-relative-length-018</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-019.htm">svg-origin-relative-length-019</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-020.htm">svg-origin-relative-length-020</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-021.htm">svg-origin-relative-length-021</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-022.htm">svg-origin-relative-length-022</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-023.htm">svg-origin-relative-length-023</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-024.htm">svg-origin-relative-length-024</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-025.htm">svg-origin-relative-length-025</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-026.htm">svg-origin-relative-length-026</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-027.htm">svg-origin-relative-length-027</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-028.htm">svg-origin-relative-length-028</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-029.htm">svg-origin-relative-length-029</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-030.htm">svg-origin-relative-length-030</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-031.htm">svg-origin-relative-length-031</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-032.htm">svg-origin-relative-length-032</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-033.htm">svg-origin-relative-length-033</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-034.htm">svg-origin-relative-length-034</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-035.htm">svg-origin-relative-length-035</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-036.htm">svg-origin-relative-length-036</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-037.htm">svg-origin-relative-length-037</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-038.htm">svg-origin-relative-length-038</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-039.htm">svg-origin-relative-length-039</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-040.htm">svg-origin-relative-length-040</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-041.htm">svg-origin-relative-length-041</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-042.htm">svg-origin-relative-length-042</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-043.htm">svg-origin-relative-length-043</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-044.htm">svg-origin-relative-length-044</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-045.htm">svg-origin-relative-length-045</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-046.htm">svg-origin-relative-length-046</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-001.htm">svg-origin-relative-length-invalid-001</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-002.htm">svg-origin-relative-length-invalid-002</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-003.htm">svg-origin-relative-length-invalid-003</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-004.htm">svg-origin-relative-length-invalid-004</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-005.htm">svg-origin-relative-length-invalid-005</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-006.htm">svg-origin-relative-length-invalid-006</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-007.htm">svg-origin-relative-length-invalid-007</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-008.htm">svg-origin-relative-length-invalid-008</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-009.htm">svg-origin-relative-length-invalid-009</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-010.htm">svg-origin-relative-length-invalid-010</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-011.htm">svg-origin-relative-length-invalid-011</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-012.htm">svg-origin-relative-length-invalid-012</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-017.htm">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-018.htm">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-019.htm">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-020.htm">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-021.htm">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-022.htm">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-023.htm">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-origin-001-8" class="primary">
+ <td><strong>
+ <a href="transform-inherit-origin-001.htm">transform-inherit-origin-001</a></strong></td>
+ <td><a href="reference/transform-inherit-origin-ref.htm">=</a> </td>
+ <td></td>
+ <td>&quot;transform-origin: inherit&quot; and em
+ <ul class="assert">
+ <li>The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;For &lt;length&gt; the absolute value, otherwise a percentage.&quot; In this test, a parent element has a transform-origin of '5em 10em' with a font-size of 10px, and the child has &quot;transform-origin: inherit&quot;. Since the relative length of 5em is converted to an absolute length before inheritance, the transform-origin should be at the bottom of the child, 50px 100px. The 180deg rotation should thus effectively move the child down 100px. An implementation that incorrectly inherited the transform-origin value before converting to an absolute length would treat it as 100px 200px, since the child has a font-size of 20px, so it would effectively translate the child 100px right and 300px down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-origin-002-8" class="primary">
+ <td><strong>
+ <a href="transform-inherit-origin-002.htm">transform-inherit-origin-002</a></strong></td>
+ <td><a href="reference/transform-inherit-origin-ref.htm">=</a> </td>
+ <td></td>
+ <td>&quot;transform-origin: inherit&quot; and percentages
+ <ul class="assert">
+ <li>The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;For &lt;length&gt; the absolute value, otherwise a percentage.&quot; In this test, a parent element has a transform-origin of '50% 100%' with a height/width of 50px, and the child has &quot;transform-origin: inherit&quot; with a height/width of 100px. Since the transform-origin is a percentage, it's inherited before it gets resolved to a length. This means it works out to 50px 100px on the child, at its center, so the 180deg rotation should translate the child down by 100px. An implementation that incorrectly resolved the transform-origin to 25px 50px before inheritance would instead display the child box translated left 75px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-001-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-001.htm">transform-origin-001</a></strong></td>
+ <td><a href="reference/transform-origin-ref-1.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Default transform-origin not top left
+ <ul class="assert">
+ <li>A transform-origin of 0% 0% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-002-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-002.htm">transform-origin-002</a></strong></td>
+ <td><a href="reference/transform-origin-ref-1.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Default transform-origin not center right
+ <ul class="assert">
+ <li>A transform-origin of 100% 50% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-003-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-003.htm">transform-origin-003</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 1
+ <ul class="assert">
+ <li>A transform-origin of 101px 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-004-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-004.htm">transform-origin-004</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 2
+ <ul class="assert">
+ <li>A transform-origin of 101px 50% must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-005-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-005.htm">transform-origin-005</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 3
+ <ul class="assert">
+ <li>A transform-origin of 50% 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-006-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-006.htm">transform-origin-006</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 4
+ <ul class="assert">
+ <li>Percentages in transform-origin refer to the size of the element's border box. This tests that they don't refer to the content, padding, or margin box by applying nonzero margin, border, and padding. (Note: an implementation that resolves percentages relative to the incorrect box might fail this test by only a few pixels, so it's important to check that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-007-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-007.htm">transform-origin-007</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'bottom' computes to 100% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-008-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-008.htm">transform-origin-008</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin - center 0%('center' computes to '50%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-009-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-009.htm">transform-origin-009</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin - 0% center('center' computes to '50%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-01-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-01.htm">transform-origin-01</a></strong></td>
+ <td><a href="reference/transform-origin-01-ref.htm">=</a> </td>
+ <td></td>
+ <td>SVG Transform using transform-origin
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be &amp;acirc;&amp;#8364;&amp;#732;center&amp;acirc;&amp;#8364;&amp;#8482;</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-010-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-010.htm">transform-origin-010</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin - left 0%('left' computes to '0%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'left' computes to 0% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-011-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-011.htm">transform-origin-011</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin - right 100%('right' computes to '100%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'right' computes to 100% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-012-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-012.htm">transform-origin-012</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin - 0% top('top' computes to '0%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'top' computes to 0% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-001-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-001.htm">transform-origin-name-001</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-1.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top left
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top left' is the same as 'transform-origin: 0% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-002-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-002.htm">transform-origin-name-002</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-1.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: left top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: left top' is the same as 'transform-origin: 0% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-003-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-003.htm">transform-origin-name-003</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-004-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-004.htm">transform-origin-name-004</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top center
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top center' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-005-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-005.htm">transform-origin-name-005</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: center top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: center top' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-006-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-006.htm">transform-origin-name-006</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-3.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top right
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top right' is the same as 'transform-origin: 100% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-007-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-007.htm">transform-origin-name-007</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-3.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: right top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: right top' is the same as 'transform-origin: 100% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-transformorigin-001.htm">transform3d-rotatex-transformorigin-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translate3d-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-translate3d-001.htm">transform3d-translate3d-001</a></strong></td>
+ <td><a href="reference/transform3d-translate3d-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translatez-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-translatez-001.htm">transform3d-translatez-001</a></strong></td>
+ <td><a href="reference/transform3d-translatez-ref.htm">=</a> <a href="reference/transform3d-translatez-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s8.#propdef-transform-origin">
+ <!-- 1 tests -->
+ <tr id="transform-origin-8.#propdef-transform-origin" class="primary">
+ <td><strong>
+ <a href="transform-origin.htm">transform-origin</a></strong></td>
+ <td><a href="reference/transform-origin-ref.htm">=</a> </td>
+ <td></td>
+ <td>transform-origin
+ <ul class="assert">
+ <li>The transform should change the transform-origin to the bottom right and rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s8.#valuedef-bottom0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-center0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-left0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-right0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-top0">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-9.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-9.htm
new file mode 100644
index 00000000000..7228db62ba4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/chapter-9.htm
@@ -0,0 +1,331 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>The transform-style Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform-style Property (26 tests)</h2>
+ <table width="100%">
+ <col id="test-column">
+ <col id="refs-column">
+ <col id="flags-column">
+ <col id="info-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s9">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s9">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-style-property">9 The transform-style Property</a></th></tr>
+ <!-- 26 tests -->
+ <tr id="css-transform-3d-transform-style-9" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-transform-style.htm">css-transform-3d-transform-style</a></strong></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotateY with transform-style on nested elements
+ <ul class="assert">
+ <li>Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-006-9" class="primary">
+ <td><strong>
+ <a href="transform-table-006.htm">transform-table-006</a></strong></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 1
+ <ul class="assert">
+ <li>This has preserve-3d applied to the outer wrapper of a table, but not the inner wrapper containing its contents. Therefore, the contents should be rotated 90 degrees and vanish, and the 90-degree rotation on the outer wrapper shouldn't restore them. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-007-9" class="primary">
+ <td><strong>
+ <a href="transform-table-007.htm">transform-table-007</a></strong></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 2
+ <ul class="assert">
+ <li>In this case, preserve-3d is applied to every element that's explicitly specified in the source code. However, the HTML parser will insert an extra &lt;tbody&gt; element around the &lt;tr&gt;, which will not have preserve-3d specified, so the contents should again vainsh. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-008-9" class="primary">
+ <td><strong>
+ <a href="transform-table-008.htm">transform-table-008</a></strong></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 3
+ <ul class="assert">
+ <li>This is essentially the same as transform-table-006.html, except using divs with 'display' specified instead of actual table elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-009-9" class="primary">
+ <td><strong>
+ <a href="transform-table-009.htm">transform-table-009</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.htm">=</a> <a href="reference/transform-table-009-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 1
+ <ul class="assert">
+ <li>This is the same as transform-table-007.html, except that transform-style is also explicitly applied to the intervening &lt;tbody&gt;, so nothing should vanish.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-010-9" class="primary">
+ <td><strong>
+ <a href="transform-table-010.htm">transform-table-010</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.htm">=</a> <a href="reference/transform-table-010-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 2
+ <ul class="assert">
+ <li>This is the same as transform-table-007.html, except that now divs are used instead of actual table elements. This means that the parser doesn't create an implicit intervening &lt;tbody&gt;, so preserve-3d is applied to all intervening elements, and the text should display (mirrored).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-011-9" class="primary">
+ <td><strong>
+ <a href="transform-table-011.htm">transform-table-011</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.htm">=</a> <a href="reference/transform-table-011-notref.htm">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 3
+ <ul class="assert">
+ <li>This is an even more extreme example of transform-table-010.html. CSS will create several anonymous table boxes wrapping the div with display: table-cell, but none of these have corresponding elements. Every actual element in the DOM still has preserve-3d specified, so the text should not vanish.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-001-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-001.htm">transform3d-preserve3d-001</a></strong></td>
+ <td><a href="reference/transform3d-preserve3d-001-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Preserve-3D
+ <ul class="assert">
+ <li>This tests that if preserve-3d is specified, four 45deg rotations equal one 180deg rotation.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-002-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-002.htm">transform3d-preserve3d-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 1
+ <ul class="assert">
+ <li>This is the first in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-003-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-003.htm">transform3d-preserve3d-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 2
+ <ul class="assert">
+ <li>This is the second in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-004-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-004.htm">transform3d-preserve3d-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 3
+ <ul class="assert">
+ <li>This is the third in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-005-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-005.htm">transform3d-preserve3d-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Transformed Grandparent and Grandchild
+ <ul class="assert">
+ <li>This is the fourth in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-006-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-006.htm">transform3d-preserve3d-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Two rotatex(), No Preserve-3D
+ <ul class="assert">
+ <li>rotatex(45deg) or rotatex(-45deg), by itself, should both just scale down the element by a factor of sqrt(2) (and perhaps shift it, depending on 'transform-origin'). Without 'transform-style: preserve-3d', the rotations on parent and child shouldn't cancel, so its height should be halved with no other effect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-007-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-007.htm">transform3d-preserve3d-007</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Two rotatey(), No Preserve-3D
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-006.html, except with rotatey() instead of rotatex().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-008-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-008.htm">transform3d-preserve3d-008</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: hidden'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-006.html, except that it has 'transform-style: preserve-3d; overflow: hidden' specified on the parent element. 'transform-style: preserve-3d' would normally make the result different, but 'overflow: hidden' overrides its effect and causes it to work the same as 'transform-style: flat'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-009-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-009.htm">transform3d-preserve3d-009</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: auto'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-008.html, except with 'overflow: auto' instead of 'hidden'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-010-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-010.htm">transform3d-preserve3d-010</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>rotatex() With Preserve-3D
+ <ul class="assert">
+ <li>This tests that two rotations of 22.5deg properly add when preserve-3d is used. The result, a 45deg rotation around the X-axis, should be equivalent to shrinking the height by a factor of sqrt(2), i.e., 1.41421356....</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-011-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-011.htm">transform3d-preserve3d-011</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With 90-Degree Rotation
+ <ul class="assert">
+ <li>This tests that when preserve-3d is specified, a 90-degree rotation on the parent plus a 90-degree rotation on the child cancel out, adding to a 180-degree rotation (which has no visible effect on a lime square). scale(2) is added to ensure that the test doesn't pass if the transforms are just ignored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-012-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-012.htm">transform3d-preserve3d-012</a></strong></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td></td>
+ <td>90-Degree Rotations Without Preserve-3D
+ <ul class="assert">
+ <li>This tests that two 90-degree rotations with the default 'transform-style: flat' do not add together to form a 180-degree rotation. Instead, the first causes the contents to vanish and the second does not restore them.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-013-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-013.htm">transform3d-preserve3d-013</a></strong></td>
+ <td><a href="reference/transform3d-preserve3d-013-ref.htm">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: scroll'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-008.html, except with 'overflow: scroll' instead of 'hidden'. (Note that the ref is nontrivial, because the scrollbar has to be scaled appropriately.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-001-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-001.htm">transform3d-sorting-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting
+ <ul class="assert">
+ <li>The red box here is translated in the negative Z-direction, so it should render beneath the lime box even though it comes later in DOM order.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-002-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-002.htm">transform3d-sorting-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Rotation
+ <ul class="assert">
+ <li>The red box here is translated to the same extent as the lime box, so they should render in stacking context order: the lime box is on top, because it's later in the DOM. But then we apply rotatex(180deg) to the whole thing, so the lime box should wind up on top in the end.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-003-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-003.htm">transform3d-sorting-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With No Preserve-3D
+ <ul class="assert">
+ <li>The red box here is translated to above the lime box, but they aren't in the same 3D rendering context, so they should be drawn in DOM order regardless: lime box on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-004-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-004.htm">transform3d-sorting-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Preserve-3D on Grandparent
+ <ul class="assert">
+ <li>This is the same as transform3d-sorting-003.html, except with two wrapper divs. 'transform-style: preserve-3d' only affects children, not grandchildren, so the two divs with backgrounds are still in different rendering contexts and the Z-position should still not affect stacking.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-005-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-005.htm">transform3d-sorting-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td></td>
+ <td>Sorting With Background on Parent
+ <ul class="assert">
+ <li>This tests that if a parent has 'transform-style: preserve-3d', it's in the same rendering context as its children. Thus the translateZ(10px) puts the child above it, and the rotateX(180deg) puts it below, so the lime parent is rendered on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-006-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-006.htm">transform3d-sorting-006</a></strong></td>
+ <td><a href="reference/transform3d-sorting-006-ref.htm">=</a> </td>
+ <td></td>
+ <td>Sorting With Intersection
+ <ul class="assert">
+ <li>This tests that when two boxes intersect in a simple fashion, they're rendered according to Newell's algorithm.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s9.#issue-f175efd2">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s9.#propdef-transform-style">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-rotate-2d-3d-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-rotate-2d-3d-001.htm
new file mode 100644
index 00000000000..5b1a540de03
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-rotate-2d-3d-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: 2D rotation with 3D rotation</title>
+ <link href="mailto:pdr@google.com" rel="author" title="Philip Rogers">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-06-16 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/css-rotate-2d-3d-001-ref.htm" rel="match">
+ <meta content="This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 200px;
+ background: green;
+ transform: rotate(90deg) rotate3d(1, 0, 0, 60deg);
+ }
+ .redSquare {
+ position: absolute;
+ top: 101px;
+ left: 101px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-scale-nested-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-scale-nested-001.htm
new file mode 100644
index 00000000000..4f9b322311d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-scale-nested-001.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: scale 0 on a parent with a child</title>
+ <link href="mailto:amolvshanbhag@yahoo.com" rel="author" title="Amol Shanbhag">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="Child square element is transformed (scaled to zero) along with the parent element" name="assert">
+ <link href="reference/css-scale-nested-ref.htm" rel="match">
+ <style type="text/css">
+ div{
+ position: absolute;
+ }
+ .greenSquare {
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .parentredSquare {
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: scale(0);
+ }
+ .childredSquare {
+ top: 25px;
+ left: 25px;
+ width: 50px;
+ height: 50px;
+ background: red;
+ }
+ p{
+ padding-top: 130px;
+ }
+ </style>
+</head>
+<body>
+ <div class="greenSquare"></div>
+ <div class="parentredSquare"><div class="childredSquare"></div></div>
+ <p>The test passes if there is a green square and no red.</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-001.htm
new file mode 100644
index 00000000000..1afcf7db6bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-001.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: skew function part 1</title>
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff">
+ <link href="reference/css-skew-001-ref.htm" rel="match">
+ <style type="text/css">
+ div {
+ top:5px;
+ left:5px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:red;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ svg {
+ top:0;
+ left:0;
+ position:absolute;
+ height: 268.778px;
+ width: 231.642px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <div> </div>
+ <svg>
+ <path d="M 231.64212,268.77841 73.167806,158.54816 0,0 158.58452,110.15942 z" fill="green"></path>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-002.htm
new file mode 100644
index 00000000000..000cf7fc817
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-skew-002.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: skew function part 2</title>
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff">
+ <link href="reference/css-skew-002-ref.htm" rel="match">
+ <style type="text/css">
+ div {
+ top:0px;
+ left:0px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:green;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ svg {
+ top:5px;
+ left:5px;
+ position:absolute;
+ height: 253.667px;
+ width: 218.333px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <svg>
+ <path d="M 211.84314,245.80529 66.913984,144.99668 0,0 145.02994,100.74384 z" fill="red"></path>
+ </svg>
+ <div> </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-negative.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-negative.htm
new file mode 100644
index 00000000000..8c04f912a99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-negative.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateX-ref.htm" rel="match">
+ <meta content="Test checks that rotate the 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotate3d(1,0,0,-60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-positive.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-positive.htm
new file mode 100644
index 00000000000..cd84944f993
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-X-positive.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateX-ref.htm" rel="match">
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotate3d(1,0,0,60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-negative.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-negative.htm
new file mode 100644
index 00000000000..90bceb297e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-negative.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateY-ref.htm" rel="match">
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotate3d(0,1,0,-60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-positive.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-positive.htm
new file mode 100644
index 00000000000..29060f49e49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Y-positive.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateY-ref.htm" rel="match">
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotate3d(0,1,0,60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-negative.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-negative.htm
new file mode 100644
index 00000000000..564a2a9437c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-negative.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateZ-ref.htm" rel="match">
+ <meta content="Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle." name="assert">
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-positive.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-positive.htm
new file mode 100644
index 00000000000..be9789fafb0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotate3d-Z-positive.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateZ-ref.htm" rel="match">
+ <meta content="Test checks that rotate a vertical rectangle for 90 degree on Z-axis would cover the horizontal red rectangle." name="assert">
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-negative.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-negative.htm
new file mode 100644
index 00000000000..b05dbbba6b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-negative.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotateX on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/css-transform-3d-rotateX-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotateX(-60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-positive.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-positive.htm
new file mode 100644
index 00000000000..a0e4fcd3b20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateX-positive.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotateX on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/css-transform-3d-rotateX-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotateX(60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-negative.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-negative.htm
new file mode 100644
index 00000000000..aa415601c5a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-negative.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotateY on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/css-transform-3d-rotateY-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotateY(-60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-positive.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-positive.htm
new file mode 100644
index 00000000000..225c68b6a2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateY-positive.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotateY on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/css-transform-3d-rotateY-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert">
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotateY(60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-negative.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-negative.htm
new file mode 100644
index 00000000000..d742a99ad5a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-negative.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateZ-ref.htm" rel="match">
+ <meta content="Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle." name="assert">
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotateZ(-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-positive.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-positive.htm
new file mode 100644
index 00000000000..018b0600892
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-rotateZ-positive.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="" name="flags">
+ <link href="reference/css-transform-3d-rotateZ-ref.htm" rel="match">
+ <meta content="Test checks that rotate a vertical rectangle for 90 degree on Z-axis will cover the horizontal red rectangle." name="assert">
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotateZ(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-transform-style.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-transform-style.htm
new file mode 100644
index 00000000000..98b33115c2a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-3d-transform-style.htm
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotateY with transform-style on nested elements</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/css-transform-3d-transform-style-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box." name="assert">
+ <style>
+ div {
+ position: absolute;
+ }
+ div.container {
+ background-color: gray;
+ height: 200px;
+ width: 200px;
+ left: 65px;
+ top: 45px;
+ }
+ div.blue {
+ background-color: blue;
+ height: 180px;
+ width: 180px;
+ left: 10px;
+ top: 10px;
+ transform: rotateY(-60deg);
+ transform-style: preserve-3d;
+ }
+ div.green {
+ background-color: green;
+ left: 40px;
+ top: 0px;
+ height: 180px;
+ width: 180px;
+ transform: rotateY(120deg);
+ }
+ div.red{
+ background-color: red;
+ left: 140px;
+ top: 10px;
+ height: 180px;
+ width: 20px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a gray square with <b>one blue</b> and <b>one green</b> box <b>inside</b>, and no any red.</p>
+ <div class="container">
+ <div class="red"></div>
+ <div class="blue">
+ <div class="green"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-rotate.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-rotate.htm
new file mode 100644
index 00000000000..d7f248dca9a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-rotate.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: CSS transforms rotate inheritance on div element</title>
+ <link href="mailto:gaodl@uw.edu" rel="author" title="Delong Gao">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <!--<link rel="match" href="reference/ttwf-reftest-tutorial-ref.html">
+ <meta name="flags" content="svg">-->
+ <meta content="Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree." name="assert">
+ <style type="text/css">
+ * {
+ margin: 0;
+ padding: 0;
+ }
+ .flag {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ z-index: 2;
+ }/*This div is used to show the red square*/
+ .parentSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 200px;
+ height: 200px;
+ transform: rotate(45deg);
+ background-color: green;
+ }
+ .childSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ transform: inherit;/*While inherited, the child div should rotate 90 degree instead of 45*/
+ }
+ p {
+ position: absolute;
+ top: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red. And it is rotated 45 degree.</p>
+ <div class="flag"></div>
+ <div class="parentSquare">
+ <div class="childSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-scale.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-scale.htm
new file mode 100644
index 00000000000..bcbed1d2b79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-inherit-scale.htm
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: CSS transforms scale 2 inheritance on div elements</title>
+ <link href="mailto:gaodl@uw.edu" rel="author" title="Delong Gao">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <!--<link rel="match" href="reference/ttwf-reftest-tutorial-ref.html">
+ <meta name="flags" content="svg">-->
+ <meta content="While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red. " name="assert">
+ <style type="text/css">
+ * {
+ margin: 0;
+ padding: 0;
+ }
+ .red {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color: red;
+ }
+ .parent {
+ background: yellow;
+ width: 50px;
+ height: 50px;
+ position: absolute;
+ top: 75px;
+ left: 75px;
+ transform: scale(2);
+
+ }
+ .child {
+ position: absolute;
+ top: 10px;
+ transform: inherit;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red. </p>
+ <div class="red"></div>
+ <div class="parent">
+ <div class="child"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-property-existence.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-property-existence.htm
new file mode 100644
index 00000000000..147d9f10df0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-property-existence.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: property existence</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-transform" rel="help">
+ <meta content="dom" name="flags">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ assert_not_equals(document.getElementById("test").style.transfor, undefined, "expect transform is not undefined");
+ }, "Check the existence of transform.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "transform-origin", "expect transform-origin");
+ }, "Check the existence of transform-origin.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "transform-style", "expect transform-style");
+ }, "Check the existence of transform-style.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "perspective", "expect perspective");
+ }, "Check the existence of perspective.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "perspective-origin", "expect perspective-origin");
+ }, "Check the existence of perspective-origin.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "backface-visibility", "expect backface-visibility");
+ }, "Check the existence of backface-visibility.");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-001.htm
new file mode 100644
index 00000000000..29c96e6f3d3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-001.htm
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function on hover state</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#transform-functions" rel="help">
+ <!-- See also: http://www.w3.org/wiki/CSS/Selectors/pseudo-classes/:hover -->
+ <link href="reference/css-transform-scale-ref-001.htm" rel="match">
+ <meta content="When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner." name="assert">
+ <meta content="interactive" name="flag">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ .greenSquare:hover {
+ transform-origin: 0 0;
+ transform: scale(2);
+ }
+
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 100px;
+ top :100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you hover over the green square and it completely covers the red square.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-002.htm
new file mode 100644
index 00000000000..fe9d0d6d2a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-scale-002.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function and move its origin</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#transform-functions" rel="help">
+ <link href="reference/css-transform-scale-ref-002.htm" rel="match">
+ <meta content="The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner." name="assert">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform-origin: 0 0;
+ transform: scale(2);
+ }
+
+
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 100px;
+ top :100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if the green square completely covers the red square.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-style-evaluation-validation.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-style-evaluation-validation.htm
new file mode 100644
index 00000000000..53bd59f17a4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transform-style-evaluation-validation.htm
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: property</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="dom" name="flags">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg),rotateX(60deg)"
+ assert_equals(document.getElementById("test").style.transform, "", "expect NULL");
+ }, "transform: Check bad-format multi-expr input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg)|rotateX(60deg)";
+ assert_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with tab.");
+
+ test(function() {
+ document.getElementById("test").style.transform = " rotate(30deg) rotateX(60deg) ";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with spaces start and end.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg) rotateX(60deg)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with two spaces.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg) rotateX(60deg)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check valied multi-expr input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotate(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateX(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateX(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateY(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateY(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateZ(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateZ(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotate(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateX(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateX(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateY(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateY(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateZ(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateZ(string) input.");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-3d-on-anonymous-block-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-3d-on-anonymous-block-001.htm
new file mode 100644
index 00000000000..d617ae833b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-3d-on-anonymous-block-001.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: No 3D transforms on anonymous block boxes</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="mailto:eoconnor@apple.com" rel="reviewer" title="Edward O'Connor"> <!-- 2012-10-27 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <link href="reference/css-transforms-3d-anonymous-block-ref.htm" rel="match">
+ <meta content="3D transforms can not be applied to anonymous block boxes." name="assert">
+</head>
+<body>
+ <p>You should see three lines of text written from left to right and unmirrored.</p><p>
+ </p><div style="transform-style: preserve-3d;">
+ <span style="transform-style: preserve-3d; transform: rotateX(90deg)">Test</span>
+ <p style="transform-style: preserve-3d;">Test</p>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-transformlist.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-transformlist.htm
new file mode 100644
index 00000000000..e95363a389c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css-transforms-transformlist.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: SVG transform in baseVal list</title>
+ <link href="mailto:cabanier@adobe.com" rel="author" title="Rik Cabanier">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-dom" rel="help">
+ <link href="reference/css-transforms-transformlist-ref.htm" rel="match">
+ <meta content="This test verifies that the CSS transform ends up in the list of SVG transforms" name="assert">
+ <style type="text/css">
+
+ #rect {
+ fill: green;
+ transform: translate(10px, 10px);
+ }
+
+ #result {
+ width:100px;
+ height:100px;
+ background-color: red;
+ }
+
+ </style>
+ <script>
+ window.addEventListener('load', function(){
+ var r = document.getElementById("rect");
+ var result = document.getElementById("result");
+ if(r.transform.baseVal.length>0)
+ result.style.backgroundColor = "rgb(0, 255, 0)";
+
+ document.getElementById("svgelement").style.display="none";
+ }, false);
+ </script>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg id="svgelement">
+ <rect width="100" id="rect" height="100"></rect>
+ </svg>
+ <div id="result"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-perspective.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-perspective.htm
new file mode 100644
index 00000000000..2d52c684d42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-perspective.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: rotateX 90 degrees with perspective make it invisible</title>
+ <link href="mailto:robin.webkit@gmail.com" rel="author" title="caoqixing">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective" rel="help">
+ <link href="reference/css3-transform-perspective-ref.htm" rel="match">
+ <meta content="Test passes if rotateX 90 degrees with perspective make it invisible" name="assert">
+ <style type="text/css">
+ div {
+ width: 200px;
+ height: 200px;
+ }
+ #container {
+ position: relative;
+ background-color: green;
+ perspective: 1000px;
+ }
+ #rotated {
+ background-color: red;
+ transform: rotateX(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="container">
+ <div id="rotated"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-rotateY.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-rotateY.htm
new file mode 100644
index 00000000000..8a05260744e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-rotateY.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with rotateY function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/css3-transform-rotateY-ref.htm" rel="match">
+ <meta content="box width should be equal to projection width if transform rotateY applied" name="assert">
+ <style type="text/css">
+ .red,
+ .green{
+ width:198px;
+ height: 200px;
+ background-color:green;
+ position: absolute;
+ top: 50px;
+ left:51px;
+ z-index:10;
+ }
+ .red{
+ background-color:red;
+ width: 140px;
+ left:80px;
+ z-index:9;
+ }
+ .green{
+ transform:rotateY(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="green"></div>
+ <div class="red"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale-002.htm
new file mode 100644
index 00000000000..abd6badcace
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale-002.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/css3-transform-scale-ref-002.htm" rel="match">
+ <meta content="box width and height will be twice larger if transform scale(2) applied" name="assert">
+ <style type="text/css">
+ .red,
+ .green{
+ width:100px;
+ height: 100px;
+ background-color:green;
+ position: absolute;
+ top: 150px;
+ left:150px;
+ z-index:10;
+ }
+ .red{
+ background-color:red;
+ width: 200px;
+ height: 200px;
+ left:100px;
+ top:100px;
+ z-index:9;
+ }
+ .green{
+ transform:scale(2);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="red"></div>
+ <div class="green"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale.htm
new file mode 100644
index 00000000000..3815aedd49d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/css3-transform-scale.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/css3-transform-scale-ref.htm" rel="match">
+ <meta content="box width and height will be twice larger if transform scale(2) applied" name="assert">
+ <style type="text/css">
+ .red,
+ .green{
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ position: absolute;
+ top: 150px;
+ left: 150px;
+ z-index: 10;
+ }
+ .red{
+ background-color: red;
+ width: 200px;
+ height: 200px;
+ left: 100px;
+ top: 100px;
+ z-index:9;
+ }
+ .green{
+ transform:scale(2);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="red"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/iframe-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/iframe-001.htm
new file mode 100644
index 00000000000..27b0d1148bd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/iframe-001.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: flowing an iframe that loads content with 3D transform</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help">
+ <meta content="Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts." name="assert">
+ <meta content="ahem" name="flags">
+ <link href="reference/iframe-001-ref.htm" rel="match">
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see horizontal green rectangle and no red.</p>
+
+ <iframe width="400" height="300" class="flow" frameborder="0" src="support/3d-filler.html"></iframe>
+ <div class="region">
+ <p>&nbsp;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-001.htm
new file mode 100644
index 00000000000..dd32fec41cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-001.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: perspective-origin - 0px center('center' computes to '50%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property">
+<link href="reference/ref-filled-green-100px-square.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'perspective-origin' property set 'center' computes to 50% for the vertical position." name="assert">
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 0px center;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 0px 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-002.htm
new file mode 100644
index 00000000000..6d0535c889d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-002.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: perspective-origin - center 0px('center' computes to '50%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property">
+<link href="reference/ref-filled-green-100px-square.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'perspective-origin' property set 'center' computes to 50% for the horizontal position." name="assert">
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: center 0px;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 0px;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-003.htm
new file mode 100644
index 00000000000..935730e13e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-003.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property">
+<link href="reference/ref-filled-green-100px-square.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position." name="assert">
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 50% bottom;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 100%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ top: 50px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-004.htm
new file mode 100644
index 00000000000..70faad93cbb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-004.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: perspective-origin - 50% top('top' computes to '0%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property">
+<link href="reference/ref-filled-green-100px-square.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'perspective-origin' property set 'top' computes to 0% for the vertical position." name="assert">
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 50% top;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 0%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-005.htm
new file mode 100644
index 00000000000..11fc1ec4bb9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-005.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: perspective-origin - left 50%('left' computes to '0%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property">
+<link href="reference/ref-filled-green-100px-square.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'perspective-origin' property set 'left' computes to 0% for the horizontal position." name="assert">
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: left 50%;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 0% 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-006.htm
new file mode 100644
index 00000000000..7e36da497cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-006.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: perspective-origin - right 50%('right' computes to '100%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property">
+<link href="reference/ref-filled-green-100px-square.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'perspective-origin' property set 'right' computes to 100% for the horizontal position." name="assert">
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: right 50%;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 100% 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-x.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-x.htm
new file mode 100644
index 00000000000..2342be8ba93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-x.htm
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:pancha0.0@gmail.com" rel="author" title="Francisca Gil">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/perspective-origin-reftest.htm" rel="match">
+ <meta content="Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)' " name="assert">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ perspective-origin: 0px 50%;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-xy.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-xy.htm
new file mode 100644
index 00000000000..c2f9cbf1bf8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-origin-xy.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:pancha0.0@gmail.com" rel="author" title="Francisca Gil">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/perspective-reftest.htm" rel="match">
+ <meta content="Asserts that origin '<x,y>' visually moves the objects '<-x,-y>*d/(d-1)' " name="assert">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ perspective-origin: 0px 0px;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-0.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-0.htm
new file mode 100644
index 00000000000..7db340e914f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-0.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/perspective-reftest.htm" rel="match">
+ <meta content="Asserts that points on the z=0 plane are unchanged" name="assert">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 25px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-negative.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-negative.htm
new file mode 100644
index 00000000000..5178856558f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-negative.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/perspective-reftest.htm" rel="match">
+ <meta content="Asserts that the scaling is proportional to d/(d − Z) for a negative Z" name="assert">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ }
+ .redSquare {
+ position: absolute;
+ top: -25px;
+ left: -25px;
+ width: 200px;
+ height: 200px;
+ background: red;
+ transform: translateZ(-1px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 150px;
+ height: 150px;
+ background: green;
+ transform: translateZ(0px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-positive.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-positive.htm
new file mode 100644
index 00000000000..894b2cbc978
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/perspective-translateZ-positive.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/perspective-reftest.htm" rel="match">
+ <meta content="Asserts that the scaling is proportional to d/(d − Z) for a positive Z" name="assert">
+ <style type="text/css">
+ .redContainer {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ background: red;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 25px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redContainer">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-notref.htm
new file mode 100644
index 00000000000..13020b5b5f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-notref.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst">
+ <link href="reference/2d-rotate-ref.htm" rel="mismatch">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ article, svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ article{
+ border: 10px solid green;
+ display: block;
+ height: 100px;
+ width: 100px;
+ z-index: 2;
+ cursor:pointer;
+ }
+ section article{
+ transform: rotate(30deg);
+ transform-origin: 19% 197%;
+ }
+
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <article></article>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: red;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="FAIL_ME(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-ref.htm
new file mode 100644
index 00000000000..48c019e929e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/2d-rotate-ref.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst">
+ <link href="reference/2d-rotate-notref.htm" rel="mismatch">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: green;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="rotate(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/animations-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/animations-001-ref.htm
new file mode 100644
index 00000000000..f9c196a25ef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/animations-001-ref.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="../support/animations.css" rel="stylesheet">
+ <style>
+ .transformed {
+ transform: rotateZ(45deg);
+ }
+ .flow {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+
+ .region {
+ width: 100px;
+ height: 100px;
+ background-color: lightblue;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a rotating green square on top of a static blue square and no red.</p>
+
+ <div class="region">
+ <div class="transformed flow rotate once">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/backface-visibility-hidden-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/backface-visibility-hidden-ref.htm
new file mode 100644
index 00000000000..2ed7b1b4809
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/backface-visibility-hidden-ref.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ z-index: 2;
+ }
+
+ .card {
+ transform-style: preserve-3d;
+ }
+
+ .container {
+ width: 200px;
+ height: 200px;
+ perspective: 1000;
+ transform: rotateY(45deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green retangle and no red.</p>
+ <div class="container">
+ <div class="card">
+ <div class="greenSquare face"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-001-ref.htm
new file mode 100644
index 00000000000..13f2f9ff991
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-001-ref.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <script src="../support/Three.js" type="text/javascript"></script>
+ <script src="../support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow,
+ .region {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
+
+ <div class="region">
+ <div class="flow" id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-002-ref.htm
new file mode 100644
index 00000000000..51ca2099f27
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/canvas3d-002-ref.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <script src="../support/Three.js" type="text/javascript"></script>
+ <script src="../support/static-cube.js" type="text/javascript"></script>
+ <style>
+ #container {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ width: 200px;
+ height: 300px;
+ margin: -250px 100px 0px 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
+
+ <div id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-rotate-2d-3d-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-rotate-2d-3d-001-ref.htm
new file mode 100644
index 00000000000..78a44d8ab51
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-rotate-2d-3d-001-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: 2D rotation with 3D rotation</title>
+ <link href="mailto:pdr@google.com" rel="author" title="Philip Rogers">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-06-16 -->
+ <style type="text/css">
+ .greenSquareRef {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquareRef"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-scale-nested-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-scale-nested-ref.htm
new file mode 100644
index 00000000000..5e13f348216
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-scale-nested-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:amolvshanbhag@yahoo.com" rel="author" title="Amol Shanbhag">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck">
+ <style type="text/css">
+ div{
+ position: absolute;
+ }
+ .greenSquare {
+
+ width: 100px;
+ height: 100px;
+ background: green;
+
+ }
+ p{
+ padding-top: 130px;
+ }
+ </style>
+</head>
+<body>
+ <div class="greenSquare"></div>
+ <p>The test passes if there is a green square and no red.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-001-ref.htm
new file mode 100644
index 00000000000..f883d2793a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-001-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test Reference: skew function part 1</title>
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff">
+ <style type="text/css">
+ svg {
+ top:0;
+ left:0;
+ position:absolute;
+ height: 268.778px;
+ width: 231.642px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <svg>
+ <path d="M 231.64212,268.77841 73.167806,158.54816 0,0 158.58452,110.15942 z" fill="green"></path>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-002-ref.htm
new file mode 100644
index 00000000000..c26d61df1cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-skew-002-ref.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test Reference: skew function part 2</title>
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff">
+ <style type="text/css">
+ div {
+ top:0px;
+ left:0px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:green;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <div> </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateX-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateX-ref.htm
new file mode 100644
index 00000000000..8f666023de3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateX-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms rotateX Reference</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.greensquare {
+ background-color: green;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateY-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateY-ref.htm
new file mode 100644
index 00000000000..9bea839cbf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateY-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms rotateX Reference</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.greensquare {
+ background-color: green;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateZ-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateZ-ref.htm
new file mode 100644
index 00000000000..0e4c4ac5d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-rotateZ-ref.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-transform-style-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-transform-style-ref.htm
new file mode 100644
index 00000000000..596d707fb63
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-3d-transform-style-ref.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="utf-8">
+ <title>CSS Transforms Test: rotateY with transform-style on nested elements</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <style>
+ div {
+ position: absolute;
+ }
+ div.container {
+ background-color: gray;
+ height: 200px;
+ left: 65px;
+ top: 45px;
+ width: 200px;
+ }
+ div.blue {
+ background-color: blue;
+ height: 180px;
+ width: 90px;
+ left: 120px;
+ top: 55px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 180px;
+ left: 140px;
+ top: 55px;
+ width: 90px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a gray square with <b>one blue</b> and <b>one green</b> box inside, and no any red.</p>
+ <div class="container"></div>
+ <div class="blue"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-001.htm
new file mode 100644
index 00000000000..e77a8bc8dc2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>Reference File</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color:green;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if you hover over the green square and it completely covers the red square.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-002.htm
new file mode 100644
index 00000000000..8491930c731
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transform-scale-ref-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>Reference - CSS Transforms Test: transform property with scale function and move its origin</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color:green;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if the green square completely covers the red square.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-3d-anonymous-block-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-3d-anonymous-block-ref.htm
new file mode 100644
index 00000000000..efe0a05f881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-3d-anonymous-block-ref.htm
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: Reference file</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="mailto:eoconnor@apple.com" rel="reviewer" title="Edward O'Connor"> <!-- 2012-10-27 -->
+</head>
+<body>
+ <p>You should see three lines of text written from left to right and unmirrored.</p><p>
+ </p><div>
+ <span>Test</span>
+ <p>Test</p>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-transformlist-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-transformlist-ref.htm
new file mode 100644
index 00000000000..53e76891ffc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css-transforms-transformlist-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: UNIQUE TEST DESCRIPTION</title>
+ <link href="mailto:cabanier@adobe.com" rel="author" title="Rik Cabanier">
+ <style type="text/css">
+
+ #result {
+ width:100px;
+ height:100px;
+ background-color: green;
+ }
+
+ </style>
+
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="result"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-perspective-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-perspective-ref.htm
new file mode 100644
index 00000000000..8f3e30923fc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-perspective-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: transform perspective Reference</title>
+ <link href="mailto:robin.webkit@gmail.com" rel="author" title="caoqixing">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-03 -->
+ <style type="text/css">
+ div {
+ width: 200px;
+ height: 200px;
+ }
+ #container {
+ position: relative;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="container"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-rotateY-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-rotateY-ref.htm
new file mode 100644
index 00000000000..c33426c3b3e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-rotateY-ref.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with rotateY function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu">
+ <link href="http://www.w3.org/TR/css3-transform#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <style type="text/css">
+ .green{
+ width: 140px;
+ height: 200px;
+ background-color:green;
+ position: absolute;
+ top: 50px;
+ left:80px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref-002.htm
new file mode 100644
index 00000000000..171b3309614
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref-002.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <style type="text/css">
+ .green{
+ width: 200px;
+ height: 200px;
+ background-color: green;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref.htm
new file mode 100644
index 00000000000..895f9c578da
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/css3-transform-scale-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-04 -->
+ <style type="text/css">
+ .green {
+ width: 200px;
+ height: 200px;
+ background-color: green;
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/iframe-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/iframe-001-ref.htm
new file mode 100644
index 00000000000..6f19f3d2da8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/iframe-001-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <style>
+ .region {
+ width: 400px;
+ height: 300px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see horizontal green rectangle and no red.</p>
+
+ <div class="region">
+ <iframe width="400" height="300" class="flow" frameborder="0" src="../support/3d-filler.html"></iframe>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-origin-reftest.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-origin-reftest.htm
new file mode 100644
index 00000000000..e64c93cbaef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-origin-reftest.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>Reference File</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-reftest.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-reftest.htm
new file mode 100644
index 00000000000..e64c93cbaef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/perspective-reftest.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>Reference File</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ref-filled-green-100px-square.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ref-filled-green-100px-square.htm
new file mode 100644
index 00000000000..04df34eb50c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ref-filled-green-100px-square.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
+ <style type="text/css">
+ div
+ {
+ background-color: green;
+ height: 100px;
+ width: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-001-ref.htm
new file mode 100644
index 00000000000..519789564ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-001-ref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-008-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-008-ref.htm
new file mode 100644
index 00000000000..ce9108ff292
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-008-ref.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .square {
+ float: left;
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ margin-left: 10px;
+ color: green;
+ width: 100px;
+ height: 100px;
+ border: 1px solid black;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="square">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="square">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-010-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-010-ref.htm
new file mode 100644
index 00000000000..9efbf0ea439
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-010-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ position: absolute;
+ left: 58px;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-alt-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-alt-ref.htm
new file mode 100644
index 00000000000..0eace8442ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-alt-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-rect {
+ width: 100px;
+ height: 200px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div class="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-ref.htm
new file mode 100644
index 00000000000..3e94de81be9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-013-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-square {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div class="green-square"></div>
+ <div class="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-014-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-014-ref.htm
new file mode 100644
index 00000000000..a8dee50576b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-014-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-016-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-016-ref.htm
new file mode 100644
index 00000000000..f6cc3f62453
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-016-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 200px;
+ height: 200px;
+ margin-left: 51px;
+ background-color: green;
+ transform: perspective(600px) rotateX(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green trapezoid and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-017-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-017-ref.htm
new file mode 100644
index 00000000000..16c24717ae8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-017-ref.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ #blue-square {
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and a blue square below it, and no red.</p>
+ <div id="green-square"></div>
+ <div id="blue-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-018-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-018-ref.htm
new file mode 100644
index 00000000000..703bb873b2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-018-ref.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <style>
+ #vertical {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 100px;
+ transform: rotateZ(90deg);
+ }
+ #horizontal {
+ border-bottom: 20px solid green;
+ width: 100px;
+ height: 80px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green cross and no red.</p>
+ <div id="horizontal">
+ <div id="vertical">
+ XXXXXXXXX
+ </div>
+ </div>
+
+ </body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-019-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-019-ref.htm
new file mode 100644
index 00000000000..c07d4844bd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-019-ref.htm
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <style>
+ .transformed {
+ transform: rotateY(45deg);
+ transition: 2s;
+ }
+ .flow {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ .perspective {
+ perspective: 200px;
+ perspective-origin: 100% 50%;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin: 20px;
+ }
+
+
+ #failure {
+ position: absolute;
+ left: 25px;
+ width: 10px;
+ height: 112px;
+ background-color: red;
+ z-index: -1;
+ }
+
+
+
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green trapezoid and no red.</p>
+ <div id="failure"></div>
+ <div class="region perspective">
+ <div class="flow transformed">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-020-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-020-ref.htm
new file mode 100644
index 00000000000..1064759b018
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/regions-transforms-020-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-square {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div class="green-square"></div>
+ <div class="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotateY-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotateY-ref.htm
new file mode 100644
index 00000000000..ff54714459e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotateY-ref.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:zrxldl@gmail.com" rel="author" title="Zou Rui">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .container {
+ position: relative;
+ width: 200px;
+ height: 200px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_45deg-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_45deg-ref.htm
new file mode 100644
index 00000000000..81c880418ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_45deg-ref.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ left:15px;
+ height: 100px;
+ width: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+ <p>45 degree rotate on y axis</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_x_45deg-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_x_45deg-ref.htm
new file mode 100644
index 00000000000..7c2e2eff46c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_x_45deg-ref.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ top:15px;
+ width: 100px;
+ height: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_y_45deg-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_y_45deg-ref.htm
new file mode 100644
index 00000000000..b670a85d9f2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/rotate_y_45deg-ref.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ left:15px;
+ height: 100px;
+ width: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-optional-second-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-optional-second-ref.htm
new file mode 100644
index 00000000000..2128b18e161
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-optional-second-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-zero-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-zero-ref.htm
new file mode 100644
index 00000000000..d4afa837efa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scale-zero-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scalex-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scalex-ref.htm
new file mode 100644
index 00000000000..4bfdad9046c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scalex-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <style type="text/css">
+ .container {
+ background-color: green;
+ height: 100px;
+ width: 200px;
+ margin-left: 450px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green area, no red area.</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scaley-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scaley-ref.htm
new file mode 100644
index 00000000000..8282cd79044
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/scaley-ref.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <style type="text/css">
+ .container {
+ position: absolute;
+ border: 1px solid green;
+ height: 200px;
+ width: 100px;
+ background-color:green;
+ margin-top: 150px;
+
+ }
+
+ .hidden {
+ position: absolute;
+ border: 2px solid red;
+ height: 200px;
+ width: 100px;
+ background-color:red;
+ margin-top: 150px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green box.</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/skew-test1-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/skew-test1-ref.htm
new file mode 100644
index 00000000000..777c0a7f235
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/skew-test1-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="en"><!-- Submitted from TestTWF Paris --><head>
+ <meta charset="utf-8">
+ <title>Testing 1 - skew()</title>
+ <link href="mailto:mymygo@gmail.com" rel="author" title="Myriam Goude">
+ <meta content="svg" name="flags">
+ <style>
+
+ h4 {clear:both;}
+
+ /* Test 1 - skew on block types */
+
+ svg {
+ position:absolute;
+ }
+
+ </style>
+</head>
+<body>
+
+ <h3>
+ Test 1 - Tests with degrees on block elements.
+ </h3>
+ <h4>
+ There should be a green block on the page.
+ </h4>
+ <svg xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <polygon style="fill:lime" points="0,0 150,55 235,205 88,150"></polygon>
+ </svg>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-green.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-green.png
new file mode 100644
index 00000000000..b98ca0ba0a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-lime.png
new file mode 100644
index 00000000000..cb397fb090e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-maroon.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-maroon.png
new file mode 100644
index 00000000000..3f86b072195
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-maroon.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-navy.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-navy.png
new file mode 100644
index 00000000000..9b9a03955ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-navy.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-red.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-red.png
new file mode 100644
index 00000000000..6bd73ac1018
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-white.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-white.png
new file mode 100644
index 00000000000..dd43faec54a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/1x1-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/3d-filler.html b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/3d-filler.html
new file mode 100644
index 00000000000..11e7649eb08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/3d-filler.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+ <meta charset="UTF-8">
+ <title>3D transformed Lorem Ipsum</title>
+ <style>
+ body > p {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ color: green;
+ float: left;
+ position: relative;
+ }
+ .transformed {
+ transform: rotateX(0.001deg) rotateZ(-90deg);
+ transform-origin: top center;
+ }
+ .front {
+ z-index: 10;
+ }
+ .back {
+ z-index: 0;
+ }
+ .marker {
+ color: red;
+ }
+ </style>
+</head>
+<body>
+ <p class="transformed front">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </p>
+ <p class="marker back">
+ xx<br>
+ xx
+ </p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-gg-rr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-gg-rr.png
new file mode 100644
index 00000000000..84f5b2a4f1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-gg-rr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-green.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-green.png
new file mode 100644
index 00000000000..b3c8cf3eb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-red.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-red.png
new file mode 100644
index 00000000000..823f125b8e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/60x60-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/Three.js b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/Three.js
new file mode 100644
index 00000000000..60747148474
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/Three.js
@@ -0,0 +1,682 @@
+// Three.js r44 - http://github.com/mrdoob/three.js
+var THREE=THREE||{};if(!window.Int32Array)window.Int32Array=Array,window.Float32Array=Array;THREE.Color=function(b){b!==void 0&&this.setHex(b);return this};
+THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(b){this.r=b.r;this.g=b.g;this.b=b.b;return this},setRGB:function(b,c,e){this.r=b;this.g=c;this.b=e;return this},setHSV:function(b,c,e){var f,h,m;if(e==0)this.r=this.g=this.b=0;else switch(f=Math.floor(b*6),h=b*6-f,b=e*(1-c),m=e*(1-c*h),c=e*(1-c*(1-h)),f){case 1:this.r=m;this.g=e;this.b=b;break;case 2:this.r=b;this.g=e;this.b=c;break;case 3:this.r=b;this.g=m;this.b=e;break;case 4:this.r=c;this.g=b;this.b=e;break;case 5:this.r=
+e;this.g=b;this.b=m;break;case 6:case 0:this.r=e,this.g=c,this.b=b}return this},setHex:function(b){b=Math.floor(b);this.r=(b>>16&255)/255;this.g=(b>>8&255)/255;this.b=(b&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};
+THREE.Vector2=function(b,c){this.x=b||0;this.y=c||0};
+THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(b,c){this.x=b;this.y=c;return this},copy:function(b){this.x=b.x;this.y=b.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;return this},
+divideScalar:function(b){b?(this.x/=b,this.y/=b):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){var c=this.x-b.x,b=this.y-b.y;return c*c+b*b},setLength:function(b){return this.normalize().multiplyScalar(b)},
+equals:function(b){return b.x==this.x&&b.y==this.y}};THREE.Vector3=function(b,c,e){this.x=b||0;this.y=c||0;this.z=e||0};
+THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(b,c,e){this.x=b;this.y=c;this.z=e;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;return this},addScalar:function(b){this.x+=b;this.y+=b;this.z+=b;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=
+b.z-c.z;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;return this},multiply:function(b,c){this.x=b.x*c.x;this.y=b.y*c.y;this.z=b.z*c.z;return this},multiplySelf:function(b){this.x*=b.x;this.y*=b.y;this.z*=b.z;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;return this},divideSelf:function(b){this.x/=b.x;this.y/=b.y;this.z/=b.z;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b):this.set(0,0,0);return this},negate:function(){return this.multiplyScalar(-1)},
+dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},cross:function(b,c){this.x=b.y*c.z-b.z*c.y;this.y=b.z*c.x-b.x*c.z;this.z=b.x*c.y-b.y*c.x;return this},crossSelf:function(b){return this.set(this.y*
+b.z-this.z*b.y,this.z*b.x-this.x*b.z,this.x*b.y-this.y*b.x)},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){return(new THREE.Vector3).sub(this,b).lengthSq()},setPositionFromMatrix:function(b){this.x=b.n14;this.y=b.n24;this.z=b.n34},setRotationFromMatrix:function(b){var c=Math.cos(this.y);this.y=Math.asin(b.n13);Math.abs(c)>1.0E-5?(this.x=Math.atan2(-b.n23/c,b.n33/c),this.z=Math.atan2(-b.n12/c,b.n11/c)):(this.x=0,this.z=Math.atan2(b.n21,b.n22))},isZero:function(){return this.lengthSq()<
+1.0E-4}};THREE.Vector4=function(b,c,e,f){this.x=b||0;this.y=c||0;this.z=e||0;this.w=f||1};
+THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w||1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;this.w=b.w+c.w;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;this.w+=b.w;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=b.z-c.z;this.w=
+b.w-c.w;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;this.w-=b.w;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;this.w*=b;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b,this.w/=b):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z+this.w*b.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},
+normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},lerpSelf:function(b,c){this.x+=(b.x-this.x)*c;this.y+=(b.y-this.y)*c;this.z+=(b.z-this.z)*c;this.w+=(b.w-this.w)*c;return this}};THREE.Ray=function(b,c){this.origin=b||new THREE.Vector3;this.direction=c||new THREE.Vector3};
+THREE.Ray.prototype={constructor:THREE.Ray,intersectScene:function(b){return this.intersectObjects(b.objects)},intersectObjects:function(b){var c,e,f=[];c=0;for(e=b.length;c<e;c++)f=f.concat(this.intersectObject(b[c]));f.sort(function(b,e){return b.distance-e.distance});return f},intersectObject:function(b){function c(b,e,c){var f;f=c.clone().subSelf(b).dot(e);if(f<=0)return null;b=b.clone().addSelf(e.clone().multiplyScalar(f));return c.distanceTo(b)}function e(b,e,c,f){var f=f.clone().subSelf(e),
+c=c.clone().subSelf(e),h=b.clone().subSelf(e),b=f.dot(f),e=f.dot(c),f=f.dot(h),k=c.dot(c),c=c.dot(h),h=1/(b*k-e*e),k=(k*f-e*c)*h,b=(b*c-e*f)*h;return k>0&&b>0&&k+b<1}if(b instanceof THREE.Particle){var f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.scale.x)return[];return[{distance:f,point:b.position,face:null,object:b}]}else if(b instanceof THREE.Mesh){f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.geometry.boundingSphere.radius*Math.max(b.scale.x,
+Math.max(b.scale.y,b.scale.z)))return[];var h,m,k,n,u,p,v,t,x,w,z=b.geometry,y=z.vertices,B=[],f=0;for(h=z.faces.length;f<h;f++)if(m=z.faces[f],x=this.origin.clone(),w=this.direction.clone(),p=b.matrixWorld,k=p.multiplyVector3(m.centroid.clone()).subSelf(x),t=k.dot(w),!(t<=0)&&(k=p.multiplyVector3(y[m.a].position.clone()),n=p.multiplyVector3(y[m.b].position.clone()),u=p.multiplyVector3(y[m.c].position.clone()),p=m instanceof THREE.Face4?p.multiplyVector3(y[m.d].position.clone()):null,v=b.matrixRotationWorld.multiplyVector3(m.normal.clone()),
+t=w.dot(v),b.doubleSided||(b.flipSided?t>0:t<0)))if(t=v.dot((new THREE.Vector3).sub(k,x))/t,x=x.addSelf(w.multiplyScalar(t)),m instanceof THREE.Face3)e(x,k,n,u)&&(m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m));else if(m instanceof THREE.Face4&&(e(x,k,n,p)||e(x,n,u,p)))m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m);B.sort(function(b,e){return b.distance-e.distance});return B}else return[]}};
+THREE.Rectangle=function(){function b(){m=f-c;k=h-e}var c,e,f,h,m,k,n=!0;this.getX=function(){return c};this.getY=function(){return e};this.getWidth=function(){return m};this.getHeight=function(){return k};this.getLeft=function(){return c};this.getTop=function(){return e};this.getRight=function(){return f};this.getBottom=function(){return h};this.set=function(k,m,v,t){n=!1;c=k;e=m;f=v;h=t;b()};this.addPoint=function(k,m){n?(n=!1,c=k,e=m,f=k,h=m):(c=c<k?c:k,e=e<m?e:m,f=f>k?f:k,h=h>m?h:m);b()};this.add3Points=
+function(k,m,v,t,x,w){n?(n=!1,c=k<v?k<x?k:x:v<x?v:x,e=m<t?m<w?m:w:t<w?t:w,f=k>v?k>x?k:x:v>x?v:x,h=m>t?m>w?m:w:t>w?t:w):(c=k<v?k<x?k<c?k:c:x<c?x:c:v<x?v<c?v:c:x<c?x:c,e=m<t?m<w?m<e?m:e:w<e?w:e:t<w?t<e?t:e:w<e?w:e,f=k>v?k>x?k>f?k:f:x>f?x:f:v>x?v>f?v:f:x>f?x:f,h=m>t?m>w?m>h?m:h:w>h?w:h:t>w?t>h?t:h:w>h?w:h);b()};this.addRectangle=function(k){n?(n=!1,c=k.getLeft(),e=k.getTop(),f=k.getRight(),h=k.getBottom()):(c=c<k.getLeft()?c:k.getLeft(),e=e<k.getTop()?e:k.getTop(),f=f>k.getRight()?f:k.getRight(),h=h>
+k.getBottom()?h:k.getBottom());b()};this.inflate=function(k){c-=k;e-=k;f+=k;h+=k;b()};this.minSelf=function(k){c=c>k.getLeft()?c:k.getLeft();e=e>k.getTop()?e:k.getTop();f=f<k.getRight()?f:k.getRight();h=h<k.getBottom()?h:k.getBottom();b()};this.instersects=function(b){return Math.min(f,b.getRight())-Math.max(c,b.getLeft())>=0&&Math.min(h,b.getBottom())-Math.max(e,b.getTop())>=0};this.empty=function(){n=!0;h=f=e=c=0;b()};this.isEmpty=function(){return n}};THREE.Matrix3=function(){this.m=[]};
+THREE.Matrix3.prototype={constructor:THREE.Matrix3,transpose:function(){var b,c=this.m;b=c[1];c[1]=c[3];c[3]=b;b=c[2];c[2]=c[6];c[6]=b;b=c[5];c[5]=c[7];c[7]=b;return this},transposeIntoArray:function(b){var c=this.m;b[0]=c[0];b[1]=c[3];b[2]=c[6];b[3]=c[1];b[4]=c[4];b[5]=c[7];b[6]=c[2];b[7]=c[5];b[8]=c[8];return this}};THREE.Matrix4=function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.set(b||1,c||0,e||0,f||0,h||0,m||1,k||0,n||0,u||0,p||0,v||1,t||0,x||0,w||0,z||0,y||1);this.flat=Array(16);this.m33=new THREE.Matrix3};
+THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.n11=b;this.n12=c;this.n13=e;this.n14=f;this.n21=h;this.n22=m;this.n23=k;this.n24=n;this.n31=u;this.n32=p;this.n33=v;this.n34=t;this.n41=x;this.n42=w;this.n43=z;this.n44=y;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(b){this.set(b.n11,b.n12,b.n13,b.n14,b.n21,b.n22,b.n23,b.n24,b.n31,b.n32,b.n33,b.n34,b.n41,b.n42,b.n43,b.n44);return this},lookAt:function(b,
+c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;m.sub(b,c).normalize();if(m.length()===0)m.z=1;f.cross(e,m).normalize();f.length()===0&&(m.x+=1.0E-4,f.cross(e,m).normalize());h.cross(m,f).normalize();this.n11=f.x;this.n12=h.x;this.n13=m.x;this.n21=f.y;this.n22=h.y;this.n23=m.y;this.n31=f.z;this.n32=h.z;this.n33=m.z;return this},multiplyVector3:function(b){var c=b.x,e=b.y,f=b.z,h=1/(this.n41*c+this.n42*e+this.n43*f+this.n44);b.x=(this.n11*c+this.n12*e+this.n13*f+this.n14)*h;
+b.y=(this.n21*c+this.n22*e+this.n23*f+this.n24)*h;b.z=(this.n31*c+this.n32*e+this.n33*f+this.n34)*h;return b},multiplyVector4:function(b){var c=b.x,e=b.y,f=b.z,h=b.w;b.x=this.n11*c+this.n12*e+this.n13*f+this.n14*h;b.y=this.n21*c+this.n22*e+this.n23*f+this.n24*h;b.z=this.n31*c+this.n32*e+this.n33*f+this.n34*h;b.w=this.n41*c+this.n42*e+this.n43*f+this.n44*h;return b},rotateAxis:function(b){var c=b.x,e=b.y,f=b.z;b.x=c*this.n11+e*this.n12+f*this.n13;b.y=c*this.n21+e*this.n22+f*this.n23;b.z=c*this.n31+
+e*this.n32+f*this.n33;b.normalize();return b},crossVector:function(b){var c=new THREE.Vector4;c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=b.w?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44,G=c.n11,H=c.n12,
+E=c.n13,N=c.n14,F=c.n21,I=c.n22,C=c.n23,K=c.n24,U=c.n31,L=c.n32,O=c.n33,S=c.n34,P=c.n41,o=c.n42,W=c.n43,na=c.n44;this.n11=e*G+f*F+h*U+m*P;this.n12=e*H+f*I+h*L+m*o;this.n13=e*E+f*C+h*O+m*W;this.n14=e*N+f*K+h*S+m*na;this.n21=k*G+n*F+u*U+p*P;this.n22=k*H+n*I+u*L+p*o;this.n23=k*E+n*C+u*O+p*W;this.n24=k*N+n*K+u*S+p*na;this.n31=v*G+t*F+x*U+w*P;this.n32=v*H+t*I+x*L+w*o;this.n33=v*E+t*C+x*O+w*W;this.n34=v*N+t*K+x*S+w*na;this.n41=z*G+y*F+B*U+D*P;this.n42=z*H+y*I+B*L+D*o;this.n43=z*E+y*C+B*O+D*W;this.n44=z*
+N+y*K+B*S+D*na;return this},multiplyToArray:function(b,c,e){this.multiply(b,c);e[0]=this.n11;e[1]=this.n21;e[2]=this.n31;e[3]=this.n41;e[4]=this.n12;e[5]=this.n22;e[6]=this.n32;e[7]=this.n42;e[8]=this.n13;e[9]=this.n23;e[10]=this.n33;e[11]=this.n43;e[12]=this.n14;e[13]=this.n24;e[14]=this.n34;e[15]=this.n44;return this},multiplySelf:function(b){this.multiply(this,b);return this},multiplyScalar:function(b){this.n11*=b;this.n12*=b;this.n13*=b;this.n14*=b;this.n21*=b;this.n22*=b;this.n23*=b;this.n24*=
+b;this.n31*=b;this.n32*=b;this.n33*=b;this.n34*=b;this.n41*=b;this.n42*=b;this.n43*=b;this.n44*=b;return this},determinant:function(){var b=this.n11,c=this.n12,e=this.n13,f=this.n14,h=this.n21,m=this.n22,k=this.n23,n=this.n24,u=this.n31,p=this.n32,v=this.n33,t=this.n34,x=this.n41,w=this.n42,z=this.n43,y=this.n44;return f*k*p*x-e*n*p*x-f*m*v*x+c*n*v*x+e*m*t*x-c*k*t*x-f*k*u*w+e*n*u*w+f*h*v*w-b*n*v*w-e*h*t*w+b*k*t*w+f*m*u*z-c*n*u*z-f*h*p*z+b*n*p*z+c*h*t*z-b*m*t*z-e*m*u*y+c*k*u*y+e*h*p*y-b*k*p*y-c*h*
+v*y+b*m*v*y},transpose:function(){var b;b=this.n21;this.n21=this.n12;this.n12=b;b=this.n31;this.n31=this.n13;this.n13=b;b=this.n32;this.n32=this.n23;this.n23=b;b=this.n41;this.n41=this.n14;this.n14=b;b=this.n42;this.n42=this.n24;this.n24=b;b=this.n43;this.n43=this.n34;this.n43=b;return this},clone:function(){var b=new THREE.Matrix4;b.n11=this.n11;b.n12=this.n12;b.n13=this.n13;b.n14=this.n14;b.n21=this.n21;b.n22=this.n22;b.n23=this.n23;b.n24=this.n24;b.n31=this.n31;b.n32=this.n32;b.n33=this.n33;b.n34=
+this.n34;b.n41=this.n41;b.n42=this.n42;b.n43=this.n43;b.n44=this.n44;return b},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(b){b[0]=
+this.n11;b[1]=this.n21;b[2]=this.n31;b[3]=this.n41;b[4]=this.n12;b[5]=this.n22;b[6]=this.n32;b[7]=this.n42;b[8]=this.n13;b[9]=this.n23;b[10]=this.n33;b[11]=this.n43;b[12]=this.n14;b[13]=this.n24;b[14]=this.n34;b[15]=this.n44;return b},flattenToArrayOffset:function(b,c){b[c]=this.n11;b[c+1]=this.n21;b[c+2]=this.n31;b[c+3]=this.n41;b[c+4]=this.n12;b[c+5]=this.n22;b[c+6]=this.n32;b[c+7]=this.n42;b[c+8]=this.n13;b[c+9]=this.n23;b[c+10]=this.n33;b[c+11]=this.n43;b[c+12]=this.n14;b[c+13]=this.n24;b[c+14]=
+this.n34;b[c+15]=this.n44;return b},setTranslation:function(b,c,e){this.set(1,0,0,b,0,1,0,c,0,0,1,e,0,0,0,1);return this},setScale:function(b,c,e){this.set(b,0,0,0,0,c,0,0,0,0,e,0,0,0,0,1);return this},setRotationX:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(1,0,0,0,0,c,-b,0,0,b,c,0,0,0,0,1);return this},setRotationY:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,0,b,0,0,1,0,0,-b,0,c,0,0,0,0,1);return this},setRotationZ:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,-b,0,
+0,b,c,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(b,c){var e=Math.cos(c),f=Math.sin(c),h=1-e,m=b.x,k=b.y,n=b.z,u=h*m,p=h*k;this.set(u*m+e,u*k-f*n,u*n+f*k,0,u*k+f*n,p*k+e,p*n-f*m,0,u*n-f*k,p*n+f*m,h*n*n+e,0,0,0,0,1);return this},setPosition:function(b){this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},getPosition:function(){if(!this.position)this.position=new THREE.Vector3;this.position.set(this.n14,this.n24,this.n34);return this.position},getColumnX:function(){if(!this.columnX)this.columnX=
+new THREE.Vector3;this.columnX.set(this.n11,this.n21,this.n31);return this.columnX},getColumnY:function(){if(!this.columnY)this.columnY=new THREE.Vector3;this.columnY.set(this.n12,this.n22,this.n32);return this.columnY},getColumnZ:function(){if(!this.columnZ)this.columnZ=new THREE.Vector3;this.columnZ.set(this.n13,this.n23,this.n33);return this.columnZ},setRotationFromEuler:function(b,c){var e=b.x,f=b.y,h=b.z,m=Math.cos(e),e=Math.sin(e),k=Math.cos(f),f=Math.sin(f),n=Math.cos(h),h=Math.sin(h);switch(c){case "YXZ":var u=
+k*n,p=k*h,v=f*n,t=f*h;this.n11=u+t*e;this.n12=v*e-p;this.n13=m*f;this.n21=m*h;this.n22=m*n;this.n23=-e;this.n31=p*e-v;this.n32=t+u*e;this.n33=m*k;break;case "ZXY":u=k*n;p=k*h;v=f*n;t=f*h;this.n11=u-t*e;this.n12=-m*h;this.n13=v+p*e;this.n21=p+v*e;this.n22=m*n;this.n23=t-u*e;this.n31=-m*f;this.n32=e;this.n33=m*k;break;case "ZYX":u=m*n;p=m*h;v=e*n;t=e*h;this.n11=k*n;this.n12=v*f-p;this.n13=u*f+t;this.n21=k*h;this.n22=t*f+u;this.n23=p*f-v;this.n31=-f;this.n32=e*k;this.n33=m*k;break;case "YZX":u=m*k;p=
+m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=t-u*h;this.n13=v*h+p;this.n21=h;this.n22=m*n;this.n23=-e*n;this.n31=-f*n;this.n32=p*h+v;this.n33=u-t*h;break;case "XZY":u=m*k;p=m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=-h;this.n13=f*n;this.n21=u*h+t;this.n22=m*n;this.n23=p*h-v;this.n31=v*h-p;this.n32=e*n;this.n33=t*h+u;break;default:u=m*n,p=m*h,v=e*n,t=e*h,this.n11=k*n,this.n12=-k*h,this.n13=f,this.n21=p+v*f,this.n22=u-t*f,this.n23=-e*k,this.n31=t-u*f,this.n32=v+p*f,this.n33=m*k}return this},setRotationFromQuaternion:function(b){var c=
+b.x,e=b.y,f=b.z,h=b.w,m=c+c,k=e+e,n=f+f,b=c*m,u=c*k;c*=n;var p=e*k;e*=n;f*=n;m*=h;k*=h;h*=n;this.n11=1-(p+f);this.n12=u-h;this.n13=c+k;this.n21=u+h;this.n22=1-(b+f);this.n23=e-m;this.n31=c-k;this.n32=e+m;this.n33=1-(b+p);return this},scale:function(b){var c=b.x,e=b.y,b=b.z;this.n11*=c;this.n12*=e;this.n13*=b;this.n21*=c;this.n22*=e;this.n23*=b;this.n31*=c;this.n32*=e;this.n33*=b;this.n41*=c;this.n42*=e;this.n43*=b;return this},compose:function(b,c,e){var f=THREE.Matrix4.__m1,h=THREE.Matrix4.__m2;
+f.identity();f.setRotationFromQuaternion(c);h.setScale(e.x,e.y,e.z);this.multiply(f,h);this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},decompose:function(b,c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;f.set(this.n11,this.n21,this.n31);h.set(this.n12,this.n22,this.n32);m.set(this.n13,this.n23,this.n33);b=b instanceof THREE.Vector3?b:new THREE.Vector3;c=c instanceof THREE.Quaternion?c:new THREE.Quaternion;e=e instanceof THREE.Vector3?e:new THREE.Vector3;e.x=f.length();
+e.y=h.length();e.z=m.length();b.x=this.n14;b.y=this.n24;b.z=this.n34;f=THREE.Matrix4.__m1;f.copy(this);f.n11/=e.x;f.n21/=e.x;f.n31/=e.x;f.n12/=e.y;f.n22/=e.y;f.n32/=e.y;f.n13/=e.z;f.n23/=e.z;f.n33/=e.z;c.setFromRotationMatrix(f);return[b,c,e]},extractPosition:function(b){this.n14=b.n14;this.n24=b.n24;this.n34=b.n34},extractRotation:function(b,c){var e=1/c.x,f=1/c.y,h=1/c.z;this.n11=b.n11*e;this.n21=b.n21*e;this.n31=b.n31*e;this.n12=b.n12*f;this.n22=b.n22*f;this.n32=b.n32*f;this.n13=b.n13*h;this.n23=
+b.n23*h;this.n33=b.n33*h}};
+THREE.Matrix4.makeInvert=function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44;c===void 0&&(c=new THREE.Matrix4);c.n11=u*w*y-p*x*y+p*t*B-n*w*B-u*t*D+n*x*D;c.n12=m*x*y-h*w*y-m*t*B+f*w*B+h*t*D-f*x*D;c.n13=h*p*y-m*u*y+m*n*B-f*p*B-h*n*D+f*u*D;c.n14=m*u*t-h*p*t-m*n*x+f*p*x+h*n*w-f*u*w;c.n21=p*x*z-u*w*z-p*v*B+k*w*B+u*v*D-k*x*D;c.n22=h*w*z-m*x*z+m*v*B-e*w*B-h*v*D+e*x*D;c.n23=m*u*z-h*p*z-m*k*B+e*p*B+h*k*D-e*u*D;c.n24=
+h*p*v-m*u*v+m*k*x-e*p*x-h*k*w+e*u*w;c.n31=n*w*z-p*t*z+p*v*y-k*w*y-n*v*D+k*t*D;c.n32=m*t*z-f*w*z-m*v*y+e*w*y+f*v*D-e*t*D;c.n33=h*p*z-m*n*z+m*k*y-e*p*y-f*k*D+e*n*D;c.n34=m*n*v-f*p*v-m*k*t+e*p*t+f*k*w-e*n*w;c.n41=u*t*z-n*x*z-u*v*y+k*x*y+n*v*B-k*t*B;c.n42=f*x*z-h*t*z+h*v*y-e*x*y-f*v*B+e*t*B;c.n43=h*n*z-f*u*z-h*k*y+e*u*y+f*k*B-e*n*B;c.n44=f*u*v-h*n*v+h*k*t-e*u*t-f*k*x+e*n*x;c.multiplyScalar(1/b.determinant());return c};
+THREE.Matrix4.makeInvert3x3=function(b){var c=b.m33,e=c.m,f=b.n33*b.n22-b.n32*b.n23,h=-b.n33*b.n21+b.n31*b.n23,m=b.n32*b.n21-b.n31*b.n22,k=-b.n33*b.n12+b.n32*b.n13,n=b.n33*b.n11-b.n31*b.n13,u=-b.n32*b.n11+b.n31*b.n12,p=b.n23*b.n12-b.n22*b.n13,v=-b.n23*b.n11+b.n21*b.n13,t=b.n22*b.n11-b.n21*b.n12,b=b.n11*f+b.n21*k+b.n31*p;b==0&&console.error("THREE.Matrix4.makeInvert3x3: Matrix not invertible.");b=1/b;e[0]=b*f;e[1]=b*h;e[2]=b*m;e[3]=b*k;e[4]=b*n;e[5]=b*u;e[6]=b*p;e[7]=b*v;e[8]=b*t;return c};
+THREE.Matrix4.makeFrustum=function(b,c,e,f,h,m){var k;k=new THREE.Matrix4;k.n11=2*h/(c-b);k.n12=0;k.n13=(c+b)/(c-b);k.n14=0;k.n21=0;k.n22=2*h/(f-e);k.n23=(f+e)/(f-e);k.n24=0;k.n31=0;k.n32=0;k.n33=-(m+h)/(m-h);k.n34=-2*m*h/(m-h);k.n41=0;k.n42=0;k.n43=-1;k.n44=0;return k};THREE.Matrix4.makePerspective=function(b,c,e,f){var h,b=e*Math.tan(b*Math.PI/360);h=-b;return THREE.Matrix4.makeFrustum(h*c,b*c,h,b,e,f)};
+THREE.Matrix4.makeOrtho=function(b,c,e,f,h,m){var k,n,u,p;k=new THREE.Matrix4;n=c-b;u=e-f;p=m-h;k.n11=2/n;k.n12=0;k.n13=0;k.n14=-((c+b)/n);k.n21=0;k.n22=2/u;k.n23=0;k.n24=-((e+f)/u);k.n31=0;k.n32=0;k.n33=-2/p;k.n34=-((m+h)/p);k.n41=0;k.n42=0;k.n43=0;k.n44=1;return k};THREE.Matrix4.__v1=new THREE.Vector3;THREE.Matrix4.__v2=new THREE.Vector3;THREE.Matrix4.__v3=new THREE.Vector3;THREE.Matrix4.__m1=new THREE.Matrix4;THREE.Matrix4.__m2=new THREE.Matrix4;
+THREE.Object3D=function(){this.id=THREE.Object3DCount++;this.name="";this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder="XYZ";this.scale=new THREE.Vector3(1,1,1);this.flipSided=this.doubleSided=this.dynamic=!1;this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
+!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.boundRadius=0;this.boundRadiusScale=1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
+THREE.Object3D.prototype={constructor:THREE.Object3D,translate:function(b,c){this.matrix.rotateAxis(c);this.position.addSelf(c.multiplyScalar(b))},translateX:function(b){this.translate(b,this._vector.set(1,0,0))},translateY:function(b){this.translate(b,this._vector.set(0,1,0))},translateZ:function(b){this.translate(b,this._vector.set(0,0,1))},lookAt:function(b){this.matrix.lookAt(b,this.position,this.up);this.rotationAutoUpdate&&this.rotation.setRotationFromMatrix(this.matrix)},addChild:function(b){if(this.children.indexOf(b)===
+-1){b.parent!==void 0&&b.parent.removeChild(b);b.parent=this;this.children.push(b);for(var c=this;c.parent!==void 0;)c=c.parent;c!==void 0&&c instanceof THREE.Scene&&c.addChildRecurse(b)}},removeChild:function(b){var c=this.children.indexOf(b);if(c!==-1)b.parent=void 0,this.children.splice(c,1)},getChildByName:function(b,c){var e,f,h;e=0;for(f=this.children.length;e<f;e++){h=this.children[e];if(h.name===b)return h;if(c&&(h=h.getChildByName(b,c),h!==void 0))return h}},updateMatrix:function(){this.matrix.setPosition(this.position);
+this.useQuaternion?this.matrix.setRotationFromQuaternion(this.quaternion):this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder);if(this.scale.x!==1||this.scale.y!==1||this.scale.z!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,Math.max(this.scale.y,this.scale.z));this.matrixWorldNeedsUpdate=!0},update:function(b,c,e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||c)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),
+this.matrixRotationWorld.extractRotation(this.matrixWorld,this.scale),this.matrixWorldNeedsUpdate=!1,c=!0;for(var b=0,f=this.children.length;b<f;b++)this.children[b].update(this.matrixWorld,c,e)}};THREE.Object3DCount=0;
+THREE.Projector=function(){function b(){var b=u[n]=u[n]||new THREE.RenderableVertex;n++;return b}function c(b,e){return e.z-b.z}function e(b,e){var c=0,f=1,k=b.z+b.w,h=e.z+e.w,m=-b.z+b.w,n=-e.z+e.w;return k>=0&&h>=0&&m>=0&&n>=0?!0:k<0&&h<0||m<0&&n<0?!1:(k<0?c=Math.max(c,k/(k-h)):h<0&&(f=Math.min(f,k/(k-h))),m<0?c=Math.max(c,m/(m-n)):n<0&&(f=Math.min(f,m/(m-n))),f<c?!1:(b.lerpSelf(e,c),e.lerpSelf(b,1-f),!0))}var f,h,m=[],k,n,u=[],p,v,t=[],x,w=[],z,y,B=[],D,G,H=[],E=[],N=[],F=new THREE.Vector4,I=new THREE.Vector4,
+C=new THREE.Matrix4,K=new THREE.Matrix4,U=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],L=new THREE.Vector4,O=new THREE.Vector4;this.projectVector=function(b,e){C.multiply(e.projectionMatrix,e.matrixWorldInverse);C.multiplyVector3(b);return b};this.unprojectVector=function(b,e){C.multiply(e.matrixWorld,THREE.Matrix4.makeInvert(e.projectionMatrix));C.multiplyVector3(b);return b};this.projectObjects=function(b,e,k){var n,u;h=E.length=0;
+n=b.objects;b=0;for(e=n.length;b<e;b++){u=n[b];var w;if(!(w=!u.visible))if(w=u instanceof THREE.Mesh)if(w=u.frustumCulled){a:{w=void 0;for(var t=u.matrixWorld,p=-u.geometry.boundingSphere.radius*Math.max(u.scale.x,Math.max(u.scale.y,u.scale.z)),v=0;v<6;v++)if(w=U[v].x*t.n14+U[v].y*t.n24+U[v].z*t.n34+U[v].w,w<=p){w=!1;break a}w=!0}w=!w}if(!w)w=m[h]=m[h]||new THREE.RenderableObject,h++,f=w,F.copy(u.position),C.multiplyVector3(F),f.object=u,f.z=F.z,E.push(f)}k&&E.sort(c);return E};this.projectScene=
+function(f,h,m){var E=h.near,F=h.far,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa,V,pa,va,ra;G=y=x=v=N.length=0;h.matrixAutoUpdate&&h.update(void 0,!0);f.update(void 0,!1,h);C.multiply(h.projectionMatrix,h.matrixWorldInverse);U[0].set(C.n41-C.n11,C.n42-C.n12,C.n43-C.n13,C.n44-C.n14);U[1].set(C.n41+C.n11,C.n42+C.n12,C.n43+C.n13,C.n44+C.n14);U[2].set(C.n41+C.n21,C.n42+C.n22,C.n43+C.n23,C.n44+C.n24);U[3].set(C.n41-C.n21,C.n42-C.n22,C.n43-C.n23,C.n44-C.n24);U[4].set(C.n41-C.n31,C.n42-C.n32,C.n43-C.n33,C.n44-C.n34);
+U[5].set(C.n41+C.n31,C.n42+C.n32,C.n43+C.n33,C.n44+C.n34);for(R=0;R<6;R++)ca=U[R],ca.divideScalar(Math.sqrt(ca.x*ca.x+ca.y*ca.y+ca.z*ca.z));ca=this.projectObjects(f,h,!0);f=0;for(R=ca.length;f<R;f++)if(X=ca[f].object,X.visible)if(ja=X.matrixWorld,ea=X.matrixRotationWorld,qa=X.materials,V=X.overdraw,n=0,X instanceof THREE.Mesh){pa=X.geometry;ma=pa.vertices;va=pa.faces;pa=pa.faceVertexUvs;ia=0;for(aa=ma.length;ia<aa;ia++)k=b(),k.positionWorld.copy(ma[ia].position),ja.multiplyVector3(k.positionWorld),
+k.positionScreen.copy(k.positionWorld),C.multiplyVector4(k.positionScreen),k.positionScreen.x/=k.positionScreen.w,k.positionScreen.y/=k.positionScreen.w,k.visible=k.positionScreen.z>E&&k.positionScreen.z<F;ma=0;for(ia=va.length;ma<ia;ma++){aa=va[ma];if(aa instanceof THREE.Face3)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],fa.visible&&ga.visible&&da.visible&&(X.doubleSided||X.flipSided!=(da.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-(da.positionScreen.y-fa.positionScreen.y)*
+(ga.positionScreen.x-fa.positionScreen.x)<0))$=t[v]=t[v]||new THREE.RenderableFace3,v++,p=$,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da);else continue;else if(aa instanceof THREE.Face4)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],$=u[aa.d],fa.visible&&ga.visible&&da.visible&&$.visible&&(X.doubleSided||X.flipSided!=(($.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-($.positionScreen.y-fa.positionScreen.y)*(ga.positionScreen.x-fa.positionScreen.x)<0||(ga.positionScreen.x-da.positionScreen.x)*
+($.positionScreen.y-da.positionScreen.y)-(ga.positionScreen.y-da.positionScreen.y)*($.positionScreen.x-da.positionScreen.x)<0)))ra=w[x]=w[x]||new THREE.RenderableFace4,x++,p=ra,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da),p.v4.copy($);else continue;p.normalWorld.copy(aa.normal);ea.multiplyVector3(p.normalWorld);p.centroidWorld.copy(aa.centroid);ja.multiplyVector3(p.centroidWorld);p.centroidScreen.copy(p.centroidWorld);C.multiplyVector3(p.centroidScreen);da=aa.vertexNormals;fa=0;for(ga=da.length;fa<ga;fa++)$=
+p.vertexNormalsWorld[fa],$.copy(da[fa]),ea.multiplyVector3($);fa=0;for(ga=pa.length;fa<ga;fa++)if(ra=pa[fa][ma]){da=0;for($=ra.length;da<$;da++)p.uvs[fa][da]=ra[da]}p.meshMaterials=qa;p.faceMaterials=aa.materials;p.overdraw=V;p.z=p.centroidScreen.z;N.push(p)}}else if(X instanceof THREE.Line){K.multiply(C,ja);ma=X.geometry.vertices;fa=b();fa.positionScreen.copy(ma[0].position);K.multiplyVector4(fa.positionScreen);ia=1;for(aa=ma.length;ia<aa;ia++)if(fa=b(),fa.positionScreen.copy(ma[ia].position),K.multiplyVector4(fa.positionScreen),
+ga=u[n-2],L.copy(fa.positionScreen),O.copy(ga.positionScreen),e(L,O))L.multiplyScalar(1/L.w),O.multiplyScalar(1/O.w),ja=B[y]=B[y]||new THREE.RenderableLine,y++,z=ja,z.v1.positionScreen.copy(L),z.v2.positionScreen.copy(O),z.z=Math.max(L.z,O.z),z.materials=X.materials,N.push(z)}else if(X instanceof THREE.Particle&&(I.set(X.matrixWorld.n14,X.matrixWorld.n24,X.matrixWorld.n34,1),C.multiplyVector4(I),I.z/=I.w,I.z>0&&I.z<1))ja=H[G]=H[G]||new THREE.RenderableParticle,G++,D=ja,D.x=I.x/I.w,D.y=I.y/I.w,D.z=
+I.z,D.rotation=X.rotation.z,D.scale.x=X.scale.x*Math.abs(D.x-(I.x+h.projectionMatrix.n11)/(I.w+h.projectionMatrix.n14)),D.scale.y=X.scale.y*Math.abs(D.y-(I.y+h.projectionMatrix.n22)/(I.w+h.projectionMatrix.n24)),D.materials=X.materials,N.push(D);m&&N.sort(c);return N}};THREE.Quaternion=function(b,c,e,f){this.set(b||0,c||0,e||0,f!==void 0?f:1)};
+THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w;return this},setFromEuler:function(b){var c=0.5*Math.PI/360,e=b.x*c,f=b.y*c,h=b.z*c,b=Math.cos(f),f=Math.sin(f),c=Math.cos(-h),h=Math.sin(-h),m=Math.cos(e),e=Math.sin(e),k=b*c,n=f*h;this.w=k*m-n*e;this.x=k*e+n*m;this.y=f*c*m+b*h*e;this.z=b*h*m-f*c*e;return this},setFromAxisAngle:function(b,c){var e=c/2,f=Math.sin(e);
+this.x=b.x*f;this.y=b.y*f;this.z=b.z*f;this.w=Math.cos(e);return this},setFromRotationMatrix:function(b){var c=Math.pow(b.determinant(),1/3);this.w=Math.sqrt(Math.max(0,c+b.n11+b.n22+b.n33))/2;this.x=Math.sqrt(Math.max(0,c+b.n11-b.n22-b.n33))/2;this.y=Math.sqrt(Math.max(0,c-b.n11+b.n22-b.n33))/2;this.z=Math.sqrt(Math.max(0,c-b.n11-b.n22+b.n33))/2;this.x=b.n32-b.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=b.n13-b.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=b.n21-b.n12<0?-Math.abs(this.z):Math.abs(this.z);
+this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var b=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);b==0?this.w=this.z=this.y=this.x=0:(b=1/b,this.x*=b,this.y*=b,this.z*=b,this.w*=b);return this},multiplySelf:function(b){var c=
+this.x,e=this.y,f=this.z,h=this.w,m=b.x,k=b.y,n=b.z,b=b.w;this.x=c*b+h*m+e*n-f*k;this.y=e*b+h*k+f*m-c*n;this.z=f*b+h*n+c*k-e*m;this.w=h*b-c*m-e*k-f*n;return this},multiply:function(b,c){this.x=b.x*c.w+b.y*c.z-b.z*c.y+b.w*c.x;this.y=-b.x*c.z+b.y*c.w+b.z*c.x+b.w*c.y;this.z=b.x*c.y-b.y*c.x+b.z*c.w+b.w*c.z;this.w=-b.x*c.x-b.y*c.y-b.z*c.z+b.w*c.w;return this},multiplyVector3:function(b,c){c||(c=b);var e=b.x,f=b.y,h=b.z,m=this.x,k=this.y,n=this.z,u=this.w,p=u*e+k*h-n*f,v=u*f+n*e-m*h,t=u*h+m*f-k*e,e=-m*
+e-k*f-n*h;c.x=p*u+e*-m+v*-n-t*-k;c.y=v*u+e*-k+t*-m-p*-n;c.z=t*u+e*-n+p*-k-v*-m;return c}};THREE.Quaternion.slerp=function(b,c,e,f){var h=b.w*c.w+b.x*c.x+b.y*c.y+b.z*c.z;if(Math.abs(h)>=1)return e.w=b.w,e.x=b.x,e.y=b.y,e.z=b.z,e;var m=Math.acos(h),k=Math.sqrt(1-h*h);if(Math.abs(k)<0.001)return e.w=0.5*(b.w+c.w),e.x=0.5*(b.x+c.x),e.y=0.5*(b.y+c.y),e.z=0.5*(b.z+c.z),e;h=Math.sin((1-f)*m)/k;f=Math.sin(f*m)/k;e.w=b.w*h+c.w*f;e.x=b.x*h+c.x*f;e.y=b.y*h+c.y*f;e.z=b.z*h+c.z*f;return e};
+THREE.Vertex=function(b){this.position=b||new THREE.Vector3};THREE.Face3=function(b,c,e,f,h,m){this.a=b;this.b=c;this.c=e;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=h instanceof THREE.Color?h:new THREE.Color;this.vertexColors=h instanceof Array?h:[];this.vertexTangents=[];this.materials=m instanceof Array?m:[m];this.centroid=new THREE.Vector3};
+THREE.Face4=function(b,c,e,f,h,m,k){this.a=b;this.b=c;this.c=e;this.d=f;this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3;this.vertexNormals=h instanceof Array?h:[];this.color=m instanceof THREE.Color?m:new THREE.Color;this.vertexColors=m instanceof Array?m:[];this.vertexTangents=[];this.materials=k instanceof Array?k:[k];this.centroid=new THREE.Vector3};THREE.UV=function(b,c){this.u=b||0;this.v=c||0};
+THREE.UV.prototype={constructor:THREE.UV,set:function(b,c){this.u=b;this.v=c;return this},copy:function(b){this.u=b.u;this.v=b.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}};
+THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.faces=[];this.edges=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1};
+THREE.Geometry.prototype={constructor:THREE.Geometry,computeCentroids:function(){var b,c,e;b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e.centroid.set(0,0,0),e instanceof THREE.Face3?(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),e.centroid.divideScalar(3)):e instanceof THREE.Face4&&(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),
+e.centroid.addSelf(this.vertices[e.d].position),e.centroid.divideScalar(4))},computeFaceNormals:function(b){var c,e,f,h,m,k,n=new THREE.Vector3,u=new THREE.Vector3;f=0;for(h=this.faces.length;f<h;f++){m=this.faces[f];if(b&&m.vertexNormals.length){n.set(0,0,0);c=0;for(e=m.vertexNormals.length;c<e;c++)n.addSelf(m.vertexNormals[c]);n.divideScalar(3)}else c=this.vertices[m.a],e=this.vertices[m.b],k=this.vertices[m.c],n.sub(k.position,e.position),u.sub(c.position,e.position),n.crossSelf(u);n.isZero()||
+n.normalize();m.normal.copy(n)}},computeVertexNormals:function(){var b,c,e,f;if(this.__tmpVertices==void 0){f=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)f[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)if(e=this.faces[b],e instanceof THREE.Face3)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(e instanceof THREE.Face4)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}else{f=
+this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)f[b].set(0,0,0)}b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal)):e instanceof THREE.Face4&&(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal),f[e.d].addSelf(e.normal));b=0;for(c=this.vertices.length;b<c;b++)f[b].normalize();b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(e.vertexNormals[0].copy(f[e.a]),
+e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c])):e instanceof THREE.Face4&&(e.vertexNormals[0].copy(f[e.a]),e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c]),e.vertexNormals[3].copy(f[e.d]))},computeTangents:function(){function b(b,e,c,f,h,m,o){n=b.vertices[e].position;u=b.vertices[c].position;p=b.vertices[f].position;v=k[h];t=k[m];x=k[o];w=u.x-n.x;z=p.x-n.x;y=u.y-n.y;B=p.y-n.y;D=u.z-n.z;G=p.z-n.z;H=t.u-v.u;E=x.u-v.u;N=t.v-v.v;F=x.v-v.v;I=1/(H*F-E*N);L.set((F*w-N*z)*
+I,(F*y-N*B)*I,(F*D-N*G)*I);O.set((H*z-E*w)*I,(H*B-E*y)*I,(H*G-E*D)*I);K[e].addSelf(L);K[c].addSelf(L);K[f].addSelf(L);U[e].addSelf(O);U[c].addSelf(O);U[f].addSelf(O)}var c,e,f,h,m,k,n,u,p,v,t,x,w,z,y,B,D,G,H,E,N,F,I,C,K=[],U=[],L=new THREE.Vector3,O=new THREE.Vector3,S=new THREE.Vector3,P=new THREE.Vector3,o=new THREE.Vector3;c=0;for(e=this.vertices.length;c<e;c++)K[c]=new THREE.Vector3,U[c]=new THREE.Vector3;c=0;for(e=this.faces.length;c<e;c++)m=this.faces[c],k=this.faceVertexUvs[0][c],m instanceof
+THREE.Face3?b(this,m.a,m.b,m.c,0,1,2):m instanceof THREE.Face4&&(b(this,m.a,m.b,m.c,0,1,2),b(this,m.a,m.b,m.d,0,1,3));var W=["a","b","c","d"];c=0;for(e=this.faces.length;c<e;c++){m=this.faces[c];for(f=0;f<m.vertexNormals.length;f++)o.copy(m.vertexNormals[f]),h=m[W[f]],C=K[h],S.copy(C),S.subSelf(o.multiplyScalar(o.dot(C))).normalize(),P.cross(m.vertexNormals[f],C),h=P.dot(U[h]),h=h<0?-1:1,m.vertexTangents[f]=new THREE.Vector4(S.x,S.y,S.z,h)}this.hasTangents=!0},computeBoundingBox:function(){var b;
+if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,e=this.vertices.length;c<e;c++){b=this.vertices[c];if(b.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=b.position.x;else if(b.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=b.position.x;if(b.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=b.position.y;
+else if(b.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=b.position.y;if(b.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=b.position.z;else if(b.position.z>this.boundingBox.z[1])this.boundingBox.z[1]=b.position.z}}},computeBoundingSphere:function(){for(var b=0,c=0,e=this.vertices.length;c<e;c++)b=Math.max(b,this.vertices[c].position.length());this.boundingSphere={radius:b}},computeEdgeFaces:function(){function b(b,e){return Math.min(b,e)+"_"+Math.max(b,e)}function c(b,e,c){b[e]===
+void 0?(b[e]={set:{},array:[]},b[e].set[c]=1,b[e].array.push(c)):b[e].set[c]===void 0&&(b[e].set[c]=1,b[e].array.push(c))}var e,f,h,m,k,n={};e=0;for(f=this.faces.length;e<f;e++)k=this.faces[e],k instanceof THREE.Face3?(h=b(k.a,k.b),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.a,k.c),c(n,h,e)):k instanceof THREE.Face4&&(h=b(k.b,k.d),c(n,h,e),h=b(k.a,k.b),c(n,h,e),h=b(k.a,k.d),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.c,k.d),c(n,h,e));e=0;for(f=this.edges.length;e<f;e++){k=this.edges[e];h=k.vertexIndices[0];m=k.vertexIndices[1];
+k.faceIndices=n[b(h,m)].array;for(h=0;h<k.faceIndices.length;h++)m=k.faceIndices[h],k.faces.push(this.faces[m])}}};THREE.GeometryCount=0;
+THREE.Spline=function(b){function c(b,e,c,f,k,h,m){b=(c-b)*0.5;f=(f-e)*0.5;return(2*(e-c)+b+f)*m+(-3*(e-c)-2*b-f)*h+b*k+e}this.points=b;var e=[],f={x:0,y:0,z:0},h,m,k,n,u,p,v,t,x;this.initFromArray=function(b){this.points=[];for(var e=0;e<b.length;e++)this.points[e]={x:b[e][0],y:b[e][1],z:b[e][2]}};this.getPoint=function(b){h=(this.points.length-1)*b;m=Math.floor(h);k=h-m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>this.points.length-2?m:m+1;e[3]=m>this.points.length-3?m:m+2;p=this.points[e[0]];v=this.points[e[1]];
+t=this.points[e[2]];x=this.points[e[3]];n=k*k;u=k*n;f.x=c(p.x,v.x,t.x,x.x,k,n,u);f.y=c(p.y,v.y,t.y,x.y,k,n,u);f.z=c(p.z,v.z,t.z,x.z,k,n,u);return f};this.getControlPointsArray=function(){var b,e,c=this.points.length,f=[];for(b=0;b<c;b++)e=this.points[b],f[b]=[e.x,e.y,e.z];return f};this.getLength=function(b){var e,c,f=e=e=0,k=new THREE.Vector3,h=new THREE.Vector3,m=[],n=0;m[0]=0;b||(b=100);c=this.points.length*b;k.copy(this.points[0]);for(b=1;b<c;b++)e=b/c,position=this.getPoint(e),h.copy(position),
+n+=h.distanceTo(k),k.copy(position),e*=this.points.length-1,e=Math.floor(e),e!=f&&(m[e]=n,f=e);m[m.length]=n;return{chunks:m,total:n}};this.reparametrizeByArcLength=function(b){var e,c,f,k,h,m,n=[],u=new THREE.Vector3,t=this.getLength();n.push(u.copy(this.points[0]).clone());for(e=1;e<this.points.length;e++){c=t.chunks[e]-t.chunks[e-1];m=Math.ceil(b*c/t.total);k=(e-1)/(this.points.length-1);h=e/(this.points.length-1);for(c=1;c<m-1;c++)f=k+c*(1/m)*(h-k),position=this.getPoint(f),n.push(u.copy(position).clone());
+n.push(u.copy(this.points[e]).clone())}this.points=n}};THREE.Edge=function(b,c,e,f){this.vertices=[b,c];this.vertexIndices=[e,f];this.faces=[];this.faceIndices=[]};THREE.Camera=function(b,c,e,f,h){THREE.Object3D.call(this);this.fov=b||50;this.aspect=c||1;this.near=e||0.1;this.far=f||2E3;this.target=h||new THREE.Object3D;this.useTarget=!0;this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=null;this.updateProjectionMatrix()};THREE.Camera.prototype=new THREE.Object3D;
+THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.supr=THREE.Object3D.prototype;THREE.Camera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);c.multiplyScalar(b);this.position.addSelf(c);this.target.position.addSelf(c)};
+THREE.Camera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var b=this.fullWidth/this.fullHeight,c=Math.tan(this.fov*Math.PI/360)*this.near,e=-c,f=b*e,b=Math.abs(b*c-f),e=Math.abs(c-e);this.projectionMatrix=THREE.Matrix4.makeFrustum(f+this.x*b/this.fullWidth,f+(this.x+this.width)*b/this.fullWidth,c-(this.y+this.height)*e/this.fullHeight,c-this.y*e/this.fullHeight,this.near,this.far)}else this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};
+THREE.Camera.prototype.setViewOffset=function(b,c,e,f,h,m){this.fullWidth=b;this.fullHeight=c;this.x=e;this.y=f;this.width=h;this.height=m;this.updateProjectionMatrix()};
+THREE.Camera.prototype.update=function(b,c,e){if(this.useTarget)this.matrix.lookAt(this.position,this.target.position,this.up),this.matrix.setPosition(this.position),b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse),c=!0;else if(this.matrixAutoUpdate&&this.updateMatrix(),c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=
+!1,c=!0,THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse);for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};THREE.OrthoCamera=function(b,c,e,f,h,m,k){THREE.Camera.call(this,45,1,h,m,k);this.left=b;this.right=c;this.top=e;this.bottom=f;this.updateProjectionMatrix()};THREE.OrthoCamera.prototype=new THREE.Camera;THREE.OrthoCamera.prototype.constructor=THREE.OrthoCamera;
+THREE.OrthoCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makeOrtho(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.Light=function(b){THREE.Object3D.call(this);this.color=new THREE.Color(b)};THREE.Light.prototype=new THREE.Object3D;THREE.Light.prototype.constructor=THREE.Light;THREE.Light.prototype.supr=THREE.Object3D.prototype;THREE.AmbientLight=function(b){THREE.Light.call(this,b)};THREE.AmbientLight.prototype=new THREE.Light;
+THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.DirectionalLight.prototype=new THREE.Light;THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,c,e){THREE.Light.call(this,b);this.position=new THREE.Vector3;this.intensity=c||1;this.distance=e||0};
+THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;THREE.SpotLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.SpotLight.prototype=new THREE.Light;THREE.SpotLight.prototype.constructor=THREE.SpotLight;
+THREE.Material=function(b){this.id=THREE.MaterialCount++;b=b||{};this.opacity=b.opacity!==void 0?b.opacity:1;this.transparent=b.transparent!==void 0?b.transparent:!1;this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.depthTest=b.depthTest!==void 0?b.depthTest:!0;this.polygonOffset=b.polygonOffset!==void 0?b.polygonOffset:!1;this.polygonOffsetFactor=b.polygonOffsetFactor!==void 0?b.polygonOffsetFactor:0;this.polygonOffsetUnits=b.polygonOffsetUnits!==void 0?b.polygonOffsetUnits:
+0;this.alphaTest=b.alphaTest!==void 0?b.alphaTest:0};THREE.MaterialCount=0;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;THREE.MultiplyBlending=3;THREE.AdditiveAlphaBlending=4;
+THREE.LineBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.linewidth=b.linewidth!==void 0?b.linewidth:1;this.linecap=b.linecap!==void 0?b.linecap:"round";this.linejoin=b.linejoin!==void 0?b.linejoin:"round";this.vertexColors=b.vertexColors?b.vertexColors:!1};THREE.LineBasicMaterial.prototype=new THREE.Material;THREE.LineBasicMaterial.prototype.constructor=THREE.LineBasicMaterial;
+THREE.MeshBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshBasicMaterial.prototype=new THREE.Material;THREE.MeshBasicMaterial.prototype.constructor=THREE.MeshBasicMaterial;
+THREE.MeshLambertMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshLambertMaterial.prototype=new THREE.Material;THREE.MeshLambertMaterial.prototype.constructor=THREE.MeshLambertMaterial;
+THREE.MeshPhongMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.ambient=b.ambient!==void 0?new THREE.Color(b.ambient):new THREE.Color(328965);this.specular=b.specular!==void 0?new THREE.Color(b.specular):new THREE.Color(1118481);this.shininess=b.shininess!==void 0?b.shininess:30;this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;
+this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==
+void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshPhongMaterial.prototype=new THREE.Material;THREE.MeshPhongMaterial.prototype.constructor=THREE.MeshPhongMaterial;
+THREE.MeshDepthMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1};THREE.MeshDepthMaterial.prototype=new THREE.Material;THREE.MeshDepthMaterial.prototype.constructor=THREE.MeshDepthMaterial;
+THREE.MeshNormalMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading?b.shading:THREE.FlatShading;this.wireframe=b.wireframe?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth?b.wireframeLinewidth:1};THREE.MeshNormalMaterial.prototype=new THREE.Material;THREE.MeshNormalMaterial.prototype.constructor=THREE.MeshNormalMaterial;THREE.MeshFaceMaterial=function(){};
+THREE.MeshShaderMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.fragmentShader=b.fragmentShader!==void 0?b.fragmentShader:"void main() {}";this.vertexShader=b.vertexShader!==void 0?b.vertexShader:"void main() {}";this.uniforms=b.uniforms!==void 0?b.uniforms:{};this.attributes=b.attributes;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.fog=
+b.fog!==void 0?b.fog:!1;this.lights=b.lights!==void 0?b.lights:!1;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshShaderMaterial.prototype=new THREE.Material;THREE.MeshShaderMaterial.prototype.constructor=THREE.MeshShaderMaterial;
+THREE.ParticleBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.size=b.size!==void 0?b.size:1;this.sizeAttenuation=b.sizeAttenuation!==void 0?b.sizeAttenuation:!0;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1};THREE.ParticleBasicMaterial.prototype=new THREE.Material;THREE.ParticleBasicMaterial.prototype.constructor=THREE.ParticleBasicMaterial;
+THREE.ParticleCanvasMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.program=b.program!==void 0?b.program:function(){}};THREE.ParticleCanvasMaterial.prototype=new THREE.Material;THREE.ParticleCanvasMaterial.prototype.constructor=THREE.ParticleCanvasMaterial;THREE.ParticleDOMMaterial=function(b){THREE.Material.call(this);this.domElement=b};
+THREE.Texture=function(b,c,e,f,h,m){this.id=THREE.TextureCount++;this.image=b;this.mapping=c!==void 0?c:new THREE.UVMapping;this.wrapS=e!==void 0?e:THREE.ClampToEdgeWrapping;this.wrapT=f!==void 0?f:THREE.ClampToEdgeWrapping;this.magFilter=h!==void 0?h:THREE.LinearFilter;this.minFilter=m!==void 0?m:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.needsUpdate=!1};
+THREE.Texture.prototype={constructor:THREE.Texture,clone:function(){var b=new THREE.Texture(this.image,this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b}};THREE.TextureCount=0;THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
+THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;
+THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;THREE.DataTexture=function(b,c,e,f,h,m,k,n,u){THREE.Texture.call(this,null,h,m,k,n,u);this.image={data:b,width:c,height:e};this.format=f!==void 0?f:THREE.RGBAFormat};THREE.DataTexture.prototype=new THREE.Texture;THREE.DataTexture.prototype.constructor=THREE.DataTexture;
+THREE.DataTexture.prototype.clone=function(){var b=new THREE.DataTexture(this.data.slice(0),this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b};THREE.Particle=function(b){THREE.Object3D.call(this);this.materials=b instanceof Array?b:[b]};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;
+THREE.ParticleSystem=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.sortParticles=!1};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;THREE.Line=function(b,c,e){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.type=e!=void 0?e:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;
+THREE.Line.prototype.constructor=THREE.Line;
+THREE.Mesh=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c&&c.length?c:[c];this.overdraw=!1;if(this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere(),this.boundRadius=b.boundingSphere.radius,this.geometry.morphTargets.length)){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var e=0;e<this.geometry.morphTargets.length;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[e].name]=
+e}};THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.supr=THREE.Object3D.prototype;THREE.Mesh.prototype.getMorphTargetIndexByName=function(b){if(this.morphTargetDictionary[b]!==void 0)return this.morphTargetDictionary[b];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+b+" does not exist. Returning 0.");return 0};
+THREE.Bone=function(b){THREE.Object3D.call(this);this.skin=b;this.skinMatrix=new THREE.Matrix4;this.hasNoneBoneChildren=!1};THREE.Bone.prototype=new THREE.Object3D;THREE.Bone.prototype.constructor=THREE.Bone;THREE.Bone.prototype.supr=THREE.Object3D.prototype;
+THREE.Bone.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.skinMatrix.multiply(b,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;if(this.hasNoneBoneChildren){this.matrixWorld.multiply(this.skin.matrixWorld,this.skinMatrix);for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.skinMatrix,c,e):b.update(this.matrixWorld,!0,e)}else for(f=0;f<h;f++)this.children[f].update(this.skinMatrix,
+c,e)};THREE.Bone.prototype.addChild=function(b){if(this.children.indexOf(b)===-1&&(b.parent!==void 0&&b.parent.removeChild(b),b.parent=this,this.children.push(b),!(b instanceof THREE.Bone)))this.hasNoneBoneChildren=!0};
+THREE.SkinnedMesh=function(b,c){THREE.Mesh.call(this,b,c);this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var e,f,h,m,k,n;if(this.geometry.bones!==void 0){for(e=0;e<this.geometry.bones.length;e++)h=this.geometry.bones[e],m=h.pos,k=h.rotq,n=h.scl,f=this.addBone(),f.name=h.name,f.position.set(m[0],m[1],m[2]),f.quaternion.set(k[0],k[1],k[2],k[3]),f.useQuaternion=!0,n!==void 0?f.scale.set(n[0],n[1],n[2]):f.scale.set(1,1,1);for(e=0;e<this.bones.length;e++)h=this.geometry.bones[e],
+f=this.bones[e],h.parent===-1?this.addChild(f):this.bones[h.parent].addChild(f);this.boneMatrices=new Float32Array(16*this.bones.length);this.pose()}};THREE.SkinnedMesh.prototype=new THREE.Mesh;THREE.SkinnedMesh.prototype.constructor=THREE.SkinnedMesh;
+THREE.SkinnedMesh.prototype.update=function(b,c,e){if(this.visible){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.identityMatrix,!1,e):b.update(this.matrixWorld,c,e);e=this.bones.length;ba=this.bones;bm=this.boneMatrices;for(c=0;c<e;c++)ba[c].skinMatrix.flattenToArrayOffset(bm,
+c*16)}};THREE.SkinnedMesh.prototype.addBone=function(b){b===void 0&&(b=new THREE.Bone(this));this.bones.push(b);return b};
+THREE.SkinnedMesh.prototype.pose=function(){this.update(void 0,!0);for(var b,c=[],e=0;e<this.bones.length;e++)b=this.bones[e],c.push(THREE.Matrix4.makeInvert(b.skinMatrix)),b.skinMatrix.flattenToArrayOffset(this.boneMatrices,e*16);if(this.geometry.skinVerticesA===void 0){this.geometry.skinVerticesA=[];this.geometry.skinVerticesB=[];var f;for(b=0;b<this.geometry.skinIndices.length;b++){var e=this.geometry.vertices[b].position,h=this.geometry.skinIndices[b].x,m=this.geometry.skinIndices[b].y;f=new THREE.Vector3(e.x,
+e.y,e.z);this.geometry.skinVerticesA.push(c[h].multiplyVector3(f));f=new THREE.Vector3(e.x,e.y,e.z);this.geometry.skinVerticesB.push(c[m].multiplyVector3(f));this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y!==1&&(e=(1-(this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y))*0.5,this.geometry.skinWeights[b].x+=e,this.geometry.skinWeights[b].y+=e)}}};THREE.Ribbon=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c]};
+THREE.Ribbon.prototype=new THREE.Object3D;THREE.Ribbon.prototype.constructor=THREE.Ribbon;THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=new THREE.Object3D;THREE.LOD.prototype.constructor=THREE.LOD;THREE.LOD.prototype.supr=THREE.Object3D.prototype;THREE.LOD.prototype.add=function(b,c){c===void 0&&(c=0);for(var c=Math.abs(c),e=0;e<this.LODs.length;e++)if(c<this.LODs[e].visibleAtDistance)break;this.LODs.splice(e,0,{visibleAtDistance:c,object3D:b});this.addChild(b)};
+THREE.LOD.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;if(this.LODs.length>1){b=e.matrixWorldInverse;b=-(b.n31*this.position.x+b.n32*this.position.y+b.n33*this.position.z+b.n34);this.LODs[0].object3D.visible=!0;for(var f=1;f<this.LODs.length;f++)if(b>=this.LODs[f].visibleAtDistance)this.LODs[f-1].object3D.visible=!1,
+this.LODs[f].object3D.visible=!0;else break;for(;f<this.LODs.length;f++)this.LODs[f].object3D.visible=!1}for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};
+THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==void 0)this.material=b.material,this.map=void 0,this.blending=material.blending;else if(b.map!==void 0)this.map=b.map instanceof THREE.Texture?b.map:THREE.ImageUtils.loadTexture(b.map),this.material=void 0,this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.useScreenCoordinates=b.useScreenCoordinates!==void 0?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==void 0?b.mergeWith3D:!this.useScreenCoordinates;
+this.affectedByDistance=b.affectedByDistance!==void 0?b.affectedByDistance:!this.useScreenCoordinates;this.scaleByViewport=b.scaleByViewport!==void 0?b.scaleByViewport:!this.affectedByDistance;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.Sprite;
+THREE.Sprite.prototype.supr=THREE.Object3D.prototype;THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,this.scale.y);this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
+THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
+THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.collisions=this.overrideMaterial=this.fog=null;this.objects=[];this.lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
+THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1)this.objects.push(b),this.__objectsAdded.push(b);for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};
+THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else b instanceof THREE.Camera||(c=this.objects.indexOf(b),c!==-1&&(this.objects.splice(c,1),this.__objectsRemoved.push(b)));for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};THREE.Scene.prototype.addObject=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeObject=THREE.Scene.prototype.removeChild;
+THREE.Scene.prototype.addLight=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeLight=THREE.Scene.prototype.removeChild;THREE.Fog=function(b,c,e){this.color=new THREE.Color(b);this.near=c||1;this.far=e||1E3};THREE.FogExp2=function(b,c){this.color=new THREE.Color(b);this.density=c!==void 0?c:2.5E-4};
+THREE.DOMRenderer=function(){THREE.Renderer.call(this);var b=null,c=new THREE.Projector,e,f,h,m;this.domElement=document.createElement("div");this.setSize=function(b,c){e=b;f=c;h=e/2;m=f/2};this.render=function(e,f){var u,p,v,t,x,w,z,y;b=c.projectScene(e,f);u=0;for(p=b.length;u<p;u++)if(x=b[u],x instanceof THREE.RenderableParticle){z=x.x*h+h;y=x.y*m+m;v=0;for(t=x.material.length;v<t;v++)if(w=x.material[v],w instanceof THREE.ParticleDOMMaterial)w=w.domElement,w.style.left=z+"px",w.style.top=y+"px"}}};
+THREE.CanvasRenderer=function(b){function c(b){if(B!=b)w.globalAlpha=B=b}function e(b){if(D!=b){switch(b){case THREE.NormalBlending:w.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:w.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:w.globalCompositeOperation="darker"}D=b}}function f(b){if(G!=b)w.strokeStyle=G=b}function h(b){if(H!=b)w.fillStyle=H=b}var m=this,k=null,n=new THREE.Projector,b=b||{},u=b.canvas!==void 0?b.canvas:document.createElement("canvas"),
+p,v,t,x,w=u.getContext("2d"),z=new THREE.Color(0),y=0,B=1,D=0,G=null,H=null,E=null,N=null,F=null,I,C,K,U,L=new THREE.RenderableVertex,O=new THREE.RenderableVertex,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$=new THREE.Color(0),ca=new THREE.Color(0),X=new THREE.Color(0),ja=new THREE.Color(0),ea=new THREE.Color(0),qa=[],V,pa,va,ra,sa,Ca,wa,Aa,za,Fa,M=new THREE.Rectangle,Z=new THREE.Rectangle,T=new THREE.Rectangle,xa=!1,ha=new THREE.Color,ka=new THREE.Color,ya=new THREE.Color,ta=new THREE.Color,oa=new THREE.Vector3,
+Y,Ga,la,Ba,Va,Da,b=16;Y=document.createElement("canvas");Y.width=Y.height=2;Ga=Y.getContext("2d");Ga.fillStyle="rgba(0,0,0,1)";Ga.fillRect(0,0,2,2);la=Ga.getImageData(0,0,2,2);Ba=la.data;Va=document.createElement("canvas");Va.width=Va.height=b;Da=Va.getContext("2d");Da.translate(-b/2,-b/2);Da.scale(b,b);b--;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setSize=function(b,e){p=b;v=e;t=Math.floor(p/2);x=Math.floor(v/2);u.width=p;u.height=
+v;M.set(-t,-x,t,x);Z.set(-t,-x,t,x);B=1;D=0;F=N=E=H=G=null};this.setClearColor=function(b,e){z.copy(b);y=e;Z.set(-t,-x,t,x)};this.setClearColorHex=function(b,e){z.setHex(b);y=e;Z.set(-t,-x,t,x)};this.clear=function(){w.setTransform(1,0,0,-1,t,x);Z.isEmpty()||(Z.minSelf(M),Z.inflate(2),y<1&&w.clearRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight())),y>0&&(e(THREE.NormalBlending),c(1),h("rgba("+Math.floor(z.r*255)+","+Math.floor(z.g*255)+","+Math.floor(z.b*
+255)+","+y+")"),w.fillRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(b,u){function p(b){var e,c,f,k=b.lights;ka.setRGB(0,0,0);ya.setRGB(0,0,0);ta.setRGB(0,0,0);b=0;for(e=k.length;b<e;b++)c=k[b],f=c.color,c instanceof THREE.AmbientLight?(ka.r+=f.r,ka.g+=f.g,ka.b+=f.b):c instanceof THREE.DirectionalLight?(ya.r+=f.r,ya.g+=f.g,ya.b+=f.b):c instanceof THREE.PointLight&&(ta.r+=f.r,ta.g+=f.g,ta.b+=f.b)}function v(b,e,c,
+f){var k,h,m,o,n=b.lights,b=0;for(k=n.length;b<k;b++)h=n[b],m=h.color,h instanceof THREE.DirectionalLight?(o=c.dot(h.position),o<=0||(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)):h instanceof THREE.PointLight&&(o=c.dot(oa.sub(h.position,e).normalize()),o<=0||(o*=h.distance==0?1:1-Math.min(e.distanceTo(h.position)/h.distance,1),o!=0&&(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)))}function z(b,k,m){c(m.opacity);e(m.blending);var o,n,u,la,p,v;if(m instanceof THREE.ParticleBasicMaterial){if(m.map)la=
+m.map.image,p=la.width>>1,v=la.height>>1,m=k.scale.x*t,u=k.scale.y*x,o=m*p,n=u*v,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(m,-u),w.translate(-p,-v),w.drawImage(la,0,0),w.restore())}else m instanceof THREE.ParticleCanvasMaterial&&(o=k.scale.x*t,n=k.scale.y*x,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(f(m.color.getContextStyle()),h(m.color.getContextStyle()),w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(o,n),m.program(w),
+w.restore()))}function B(b,k,h,m){c(m.opacity);e(m.blending);w.beginPath();w.moveTo(b.positionScreen.x,b.positionScreen.y);w.lineTo(k.positionScreen.x,k.positionScreen.y);w.closePath();if(m instanceof THREE.LineBasicMaterial){b=m.linewidth;if(E!=b)w.lineWidth=E=b;b=m.linecap;if(N!=b)w.lineCap=N=b;b=m.linejoin;if(F!=b)w.lineJoin=F=b;f(m.color.getContextStyle());w.stroke();T.inflate(m.linewidth*2)}}function y(b,f,k,h,n,t,la,p,w){m.data.vertices+=3;m.data.faces++;c(p.opacity);e(p.blending);S=b.positionScreen.x;
+P=b.positionScreen.y;o=f.positionScreen.x;W=f.positionScreen.y;na=k.positionScreen.x;R=k.positionScreen.y;G(S,P,o,W,na,R);if(p instanceof THREE.MeshBasicMaterial)if(p.map)p.map.mapping instanceof THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map));else if(p.envMap){if(p.envMap.mapping instanceof THREE.SphericalReflectionMapping)b=u.matrixWorldInverse,oa.copy(la.vertexNormalsWorld[0]),sa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Ca=-(oa.x*b.n21+oa.y*
+b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[1]),wa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Aa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[2]),za=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Fa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,Ya(S,P,o,W,na,R,sa,Ca,wa,Aa,za,Fa,p.envMap)}else p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshLambertMaterial)p.map&&!p.wireframe&&(p.map.mapping instanceof
+THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map)),e(THREE.SubtractiveBlending)),xa?!p.wireframe&&p.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==3?(ca.r=X.r=ja.r=ka.r,ca.g=X.g=ja.g=ka.g,ca.b=X.b=ja.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ja),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,
+ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(p.color.r*ha.r,1)),$.g=Math.max(0,Math.min(p.color.g*ha.g,1)),$.b=Math.max(0,Math.min(p.color.b*ha.b,1)),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)):p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-
+Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(k.positionScreen.z,V,pa),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va);else if(p instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)}function D(b,f,k,h,n,p,la,t,w){m.data.vertices+=4;m.data.faces++;c(t.opacity);
+e(t.blending);if(t.map||t.envMap)y(b,f,h,0,1,3,la,t,w),y(n,k,p,1,2,3,la,t,w);else if(S=b.positionScreen.x,P=b.positionScreen.y,o=f.positionScreen.x,W=f.positionScreen.y,na=k.positionScreen.x,R=k.positionScreen.y,ia=h.positionScreen.x,aa=h.positionScreen.y,ma=n.positionScreen.x,fa=n.positionScreen.y,ga=p.positionScreen.x,da=p.positionScreen.y,t instanceof THREE.MeshBasicMaterial)H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color);else if(t instanceof
+THREE.MeshLambertMaterial)xa?!t.wireframe&&t.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==4?(ca.r=X.r=ja.r=ea.r=ka.r,ca.g=X.g=ja.g=ea.g=ka.g,ca.b=X.b=ja.b=ea.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v4.positionWorld,la.vertexNormalsWorld[3],ja),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ea),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,da,1,
+0,1,1,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(t.color.r*ha.r,1)),$.g=Math.max(0,Math.min(t.color.g*ha.g,1)),$.b=Math.max(0,Math.min(t.color.b*ha.b,1)),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($)):(H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color));else if(t instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),
+$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($);else if(t instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(h.positionScreen.z,V,pa),ea.r=ea.g=ea.b=1-Na(k.positionScreen.z,V,pa),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,
+da,1,0,1,1,0,1,va)}function G(b,e,c,f,k,h){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(b,e);w.closePath()}function H(b,e,c,f,k,h,m,o){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(m,o);w.lineTo(b,e);w.closePath()}function Ja(b,e,c,k){if(E!=e)w.lineWidth=E=e;if(N!=c)w.lineCap=N=c;if(F!=k)w.lineJoin=F=k;f(b.getContextStyle());w.stroke();T.inflate(e*2)}function Ka(b){h(b.getContextStyle());w.fill()}function Ya(b,e,c,f,k,m,o,n,t,p,la,u,v){if(v.image.width!=0){if(v.needsUpdate==
+!0||qa[v.id]==void 0){var x=v.wrapS==THREE.RepeatWrapping,Da=v.wrapT==THREE.RepeatWrapping;qa[v.id]=w.createPattern(v.image,x&&Da?"repeat":x&&!Da?"repeat-x":!x&&Da?"repeat-y":"no-repeat");v.needsUpdate=!1}h(qa[v.id]);var x=v.offset.x/v.repeat.x,Da=v.offset.y/v.repeat.y,M=(v.image.width-1)*v.repeat.x,v=(v.image.height-1)*v.repeat.y,o=(o+x)*M,n=(n+Da)*v,t=(t+x)*M,p=(p+Da)*v,la=(la+x)*M,u=(u+Da)*v;c-=b;f-=e;k-=b;m-=e;t-=o;p-=n;la-=o;u-=n;x=1/(t*u-la*p);v=(u*c-p*k)*x;p=(u*f-p*m)*x;c=(t*k-la*c)*x;f=(t*
+m-la*f)*x;b=b-v*o-c*n;e=e-p*o-f*n;w.save();w.transform(v,p,c,f,b,e);w.fill();w.restore()}}function Sa(b,e,c,f,k,h,m,o,n,t,p,la,u){var v,x;v=u.width-1;x=u.height-1;m*=v;o*=x;n*=v;t*=x;p*=v;la*=x;c-=b;f-=e;k-=b;h-=e;n-=m;t-=o;p-=m;la-=o;x=1/(n*la-p*t);v=(la*c-t*k)*x;t=(la*f-t*h)*x;c=(n*k-p*c)*x;f=(n*h-p*f)*x;b=b-v*m-c*o;e=e-t*m-f*o;w.save();w.transform(v,t,c,f,b,e);w.clip();w.drawImage(u,0,0);w.restore()}function Wa(b,e,c,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(e.r*255),o=~~(e.g*255),
+e=~~(e.b*255),n=~~(c.r*255),t=~~(c.g*255),c=~~(c.b*255),p=~~(f.r*255),u=~~(f.g*255),f=~~(f.b*255);Ba[0]=k<0?0:k>255?255:k;Ba[1]=h<0?0:h>255?255:h;Ba[2]=b<0?0:b>255?255:b;Ba[4]=m<0?0:m>255?255:m;Ba[5]=o<0?0:o>255?255:o;Ba[6]=e<0?0:e>255?255:e;Ba[8]=n<0?0:n>255?255:n;Ba[9]=t<0?0:t>255?255:t;Ba[10]=c<0?0:c>255?255:c;Ba[12]=p<0?0:p>255?255:p;Ba[13]=u<0?0:u>255?255:u;Ba[14]=f<0?0:f>255?255:f;Ga.putImageData(la,0,0);Da.drawImage(Y,0,0);return Va}function Na(b,e,c){b=(b-e)/(c-e);return b*b*(3-2*b)}function Ta(b){b=
+(b+1)*0.5;return b<0?0:b>1?1:b}function La(b,e){var c=e.x-b.x,f=e.y-b.y,k=c*c+f*f;k!=0&&(k=1/Math.sqrt(k),c*=k,f*=k,e.x+=c,e.y+=f,b.x-=c,b.y-=f)}var Xa,bb,ua,Ea,Ma,Ua,J,A;this.autoClear?this.clear():w.setTransform(1,0,0,-1,t,x);m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,u,this.sortElements);(xa=b.lights.length>0)&&p(b);Xa=0;for(bb=k.length;Xa<bb;Xa++){ua=k[Xa];T.empty();if(ua instanceof THREE.RenderableParticle){I=ua;I.x*=t;I.y*=x;Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],
+A.opacity!=0&&z(I,ua,A,b)}else if(ua instanceof THREE.RenderableLine){if(I=ua.v1,C=ua.v2,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],A.opacity!=0&&B(I,C,ua,A,b)}}else if(ua instanceof THREE.RenderableFace3){if(I=ua.v1,C=ua.v2,K=ua.v3,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=
+t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,K.positionScreen),La(K.positionScreen,I.positionScreen)),T.add3Points(I.positionScreen.x,I.positionScreen.y,C.positionScreen.x,C.positionScreen.y,K.positionScreen.x,K.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}else A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}}else if(ua instanceof THREE.RenderableFace4&&(I=ua.v1,C=ua.v2,K=ua.v3,U=ua.v4,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,U.positionScreen.x*=t,U.positionScreen.y*=x,L.positionScreen.copy(C.positionScreen),O.positionScreen.copy(U.positionScreen),ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,U.positionScreen),
+La(U.positionScreen,I.positionScreen),La(K.positionScreen,L.positionScreen),La(K.positionScreen,O.positionScreen)),T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),T.addPoint(K.positionScreen.x,K.positionScreen.y),T.addPoint(U.positionScreen.x,U.positionScreen.y),M.instersects(T))){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}else A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}Z.addRectangle(T)}w.setTransform(1,0,0,1,0,0)}};
+THREE.SVGRenderer=function(){function b(b,e,c){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.lights[f],h instanceof THREE.DirectionalLight?(m=e.normalWorld.dot(h.position)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m)):h instanceof THREE.PointLight&&(U.sub(h.position,e.centroidWorld),U.normalize(),m=e.normalWorld.dot(U)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m))}function c(e,c,k,o,n,t){m.data.vertices+=3;m.data.faces++;S=f(P++);S.setAttribute("d",
+"M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+"z");n instanceof THREE.MeshBasicMaterial?E.copy(n.color):n instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(t,o,N),E.r=Math.max(0,Math.min(n.color.r*N.r,1)),E.g=Math.max(0,Math.min(n.color.g*N.g,1)),E.b=Math.max(0,Math.min(n.color.b*N.b,1))):E.copy(n.color):n instanceof THREE.MeshDepthMaterial?(K=1-n.__2near/(n.__farPlusNear-o.z*n.__farMinusNear),
+E.setRGB(K,K,K)):n instanceof THREE.MeshNormalMaterial&&E.setRGB(h(o.normalWorld.x),h(o.normalWorld.y),h(o.normalWorld.z));n.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+n.wireframeLinewidth+"; stroke-opacity: "+n.opacity+"; stroke-linecap: "+n.wireframeLinecap+"; stroke-linejoin: "+n.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+n.opacity);u.appendChild(S)}function e(e,c,k,o,n,t,p){m.data.vertices+=4;m.data.faces++;
+S=f(P++);S.setAttribute("d","M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+" L "+o.positionScreen.x+","+o.positionScreen.y+"z");t instanceof THREE.MeshBasicMaterial?E.copy(t.color):t instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(p,n,N),E.r=Math.max(0,Math.min(t.color.r*N.r,1)),E.g=Math.max(0,Math.min(t.color.g*N.g,1)),E.b=Math.max(0,Math.min(t.color.b*N.b,1))):E.copy(t.color):t instanceof
+THREE.MeshDepthMaterial?(K=1-t.__2near/(t.__farPlusNear-n.z*t.__farMinusNear),E.setRGB(K,K,K)):t instanceof THREE.MeshNormalMaterial&&E.setRGB(h(n.normalWorld.x),h(n.normalWorld.y),h(n.normalWorld.z));t.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+t.wireframeLinewidth+"; stroke-opacity: "+t.opacity+"; stroke-linecap: "+t.wireframeLinecap+"; stroke-linejoin: "+t.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+
+t.opacity);u.appendChild(S)}function f(b){L[b]==null&&(L[b]=document.createElementNS("http://www.w3.org/2000/svg","path"),W==0&&L[b].setAttribute("shape-rendering","crispEdges"));return L[b]}function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}var m=this,k=null,n=new THREE.Projector,u=document.createElementNS("http://www.w3.org/2000/svg","svg"),p,v,t,x,w,z,y,B,D=new THREE.Rectangle,G=new THREE.Rectangle,H=!1,E=new THREE.Color(16777215),N=new THREE.Color(16777215),F=new THREE.Color(0),I=new THREE.Color(0),
+C=new THREE.Color(0),K,U=new THREE.Vector3,L=[],O=[],S,P,o,W=1;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setQuality=function(b){switch(b){case "high":W=1;break;case "low":W=0}};this.setSize=function(b,e){p=b;v=e;t=p/2;x=v/2;u.setAttribute("viewBox",-t+" "+-x+" "+p+" "+v);u.setAttribute("width",p);u.setAttribute("height",v);D.set(-t,-x,t,x)};this.clear=function(){for(;u.childNodes.length>0;)u.removeChild(u.childNodes[0])};this.render=
+function(b,f){var h,p,v,E,N,L,K,ca;this.autoClear&&this.clear();m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,f,this.sortElements);o=P=0;if(H=b.lights.length>0){K=b.lights;F.setRGB(0,0,0);I.setRGB(0,0,0);C.setRGB(0,0,0);h=0;for(p=K.length;h<p;h++)v=K[h],E=v.color,v instanceof THREE.AmbientLight?(F.r+=E.r,F.g+=E.g,F.b+=E.b):v instanceof THREE.DirectionalLight?(I.r+=E.r,I.g+=E.g,I.b+=E.b):v instanceof THREE.PointLight&&(C.r+=E.r,C.g+=E.g,C.b+=E.b)}h=0;for(p=k.length;h<p;h++)if(K=k[h],G.empty(),
+K instanceof THREE.RenderableParticle){w=K;w.x*=t;w.y*=-x;v=0;for(E=K.materials.length;v<E;)v++}else if(K instanceof THREE.RenderableLine){if(w=K.v1,z=K.v2,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),D.instersects(G)){v=0;for(E=K.materials.length;v<E;)if((ca=K.materials[v++])&&ca.opacity!=0){N=w;L=z;var X=o++;O[X]==null&&(O[X]=document.createElementNS("http://www.w3.org/2000/svg",
+"line"),W==0&&O[X].setAttribute("shape-rendering","crispEdges"));S=O[X];S.setAttribute("x1",N.positionScreen.x);S.setAttribute("y1",N.positionScreen.y);S.setAttribute("x2",L.positionScreen.x);S.setAttribute("y2",L.positionScreen.y);ca instanceof THREE.LineBasicMaterial&&(S.setAttribute("style","fill: none; stroke: "+ca.color.getContextStyle()+"; stroke-width: "+ca.linewidth+"; stroke-opacity: "+ca.opacity+"; stroke-linecap: "+ca.linecap+"; stroke-linejoin: "+ca.linejoin),u.appendChild(S))}}}else if(K instanceof
+THREE.RenderableFace3){if(w=K.v1,z=K.v2,y=K.v3,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),D.instersects(G)){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&
+ca.opacity!=0&&c(w,z,y,K,ca,b)}else ca&&ca.opacity!=0&&c(w,z,y,K,ca,b)}}else if(K instanceof THREE.RenderableFace4&&(w=K.v1,z=K.v2,y=K.v3,B=K.v4,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,B.positionScreen.x*=t,B.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),G.addPoint(B.positionScreen.x,
+B.positionScreen.y),D.instersects(G))){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}else ca&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}}};
+THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform int combine;\n#endif",
+envmap_fragment:"#ifdef USE_ENVMAP\nvec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = vec4( mix( gl_FragColor.xyz, cubeColor.xyz, reflectivity ), opacity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
+map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, gl_PointCoord );\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif",
+lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
+lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat pointLightWeighting = max( dot( transformedNormal, lVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef PHONG\nvPointLight[ i ] = vec4( lVector, lDistance );\n#endif\n}\n#endif\n}",
+lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mColor = vec4( diffuse, opacity );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 pointSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight * pointDistance;\npointSpecular += mSpecular * pointSpecularWeight * pointDistance;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 dirSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\nvColor = color;\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n#endif",skinning_vertex:"#ifdef USE_SKINNING\ngl_Position = ( boneGlobalMatrices[ int( skinIndex.x ) ] * skinVertexA ) * skinWeight.x;\ngl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;\ngl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;\n#endif",
+morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\nuniform float morphTargetInfluences[ 8 ];\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0, 0.0, 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif",
+default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform float shadowDarkness;\nuniform float shadowBias;\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",
+shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_SOFT\nconst float xPixelOffset = 1.0 / SHADOWMAP_WIDTH;\nconst float yPixelOffset = 1.0 / SHADOWMAP_HEIGHT;\n#endif\nvec4 shadowColor = vec4( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nif ( shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0 ) {\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nfor ( float y = -1.25; y <= 1.25; y += 1.25 )\nfor ( float x = -1.25; x <= 1.25; x += 1.25 ) {\nvec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadow += 1.0;\n}\nshadow /= 9.0;\nshadowColor = shadowColor * vec4( vec3( ( 1.0 - shadowDarkness * shadow ) ), 1.0 );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadowColor = shadowColor * vec4( vec3( shadowDarkness ), 1.0 );\n#endif\n}\n}\ngl_FragColor = gl_FragColor * shadowColor;\n#endif",
+shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif"};
+THREE.UniformsUtils={merge:function(b){var c,e,f,h={};for(c=0;c<b.length;c++)for(e in f=this.clone(b[c]),f)h[e]=f[e];return h},clone:function(b){var c,e,f,h={};for(c in b)for(e in h[c]={},b[c])f=b[c][e],h[c][e]=f instanceof THREE.Color||f instanceof THREE.Vector2||f instanceof THREE.Vector3||f instanceof THREE.Vector4||f instanceof THREE.Matrix4||f instanceof THREE.Texture?f.clone():f instanceof Array?f.slice():f;return h}};
+THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:2,texture:null},envMap:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",
+value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",value:1},scale:{type:"f",
+value:1},map:{type:"t",value:0,texture:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:3,texture:[]},shadowMatrix:{type:"m4v",value:[]},shadowBias:{type:"f",value:0.0039},shadowDarkness:{type:"f",value:0.2}}};
+THREE.ShaderLib={lensFlareVertexTexture:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = ( visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n( visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * vVisibility;\ngl_FragColor = color;\n}\n}"},
+lensFlare:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * visibility;\ngl_FragColor = color;\n}\n}"},
+sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int affectedByDistance;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( affectedByDistance == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
+fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity;\ngl_FragColor = color;\n}"},shadowPost:{vertexShader:"uniform \tmat4 \tprojectionMatrix;\nattribute \tvec3 \tposition;\nvoid main() {\ngl_Position = projectionMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform \tfloat \tdarkness;\nvoid main() {\ngl_FragColor = vec4( 0, 0, 0, darkness );\n}"},
+shadowVolumeDynamic:{uniforms:{directionalLightDirection:{type:"fv",value:[]}},vertexShader:"uniform \tvec3 \tdirectionalLightDirection;\nvoid main() {\nvec4 pos = objectMatrix * vec4( position, 1.0 );\nvec3 norm = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nvec4 extruded = vec4( directionalLightDirection * 5000.0 * step( 0.0, dot( directionalLightDirection, norm ) ), 0.0 );\ngl_Position = projectionMatrix * viewMatrix * ( pos + extruded );\n}",
+fragmentShader:"void main() {\ngl_FragColor = vec4( 1.0 );\n}"},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}",vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},
+normal:{uniforms:{opacity:{type:"f",value:1}},fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}",vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),
+fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,
+THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
+THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,"gl_FragColor = gl_FragColor * vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,
+"}"].join("\n"),vertexShader:["varying vec3 vLightWeighting;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(328965)},
+specular:{type:"c",value:new THREE.Color(1118481)},shininess:{type:"f",value:30}}]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lights_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,
+THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = -mvPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
+THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
+THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},depthRGBA:{uniforms:{},fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}",vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,
+"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n")}};
+THREE.WebGLRenderer=function(b){function c(b,e,c){var f,k,h,m=b.vertices,n=m.length,t=b.colors,p=t.length,u=b.__vertexArray,v=b.__colorArray,w=b.__sortArray,x=b.__dirtyVertices,M=b.__dirtyColors,T=b.__webglCustomAttributes,z,y;if(T)for(z in T)T[z].offset=0;if(c.sortParticles){pa.multiplySelf(c.matrixWorld);for(f=0;f<n;f++)k=m[f].position,sa.copy(k),pa.multiplyVector3(sa),w[f]=[sa.z,f];w.sort(function(b,e){return e[0]-b[0]});for(f=0;f<n;f++)k=m[w[f][1]].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;
+for(f=0;f<p;f++)h=f*3,color=t[w[f][1]],v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T){f=T[z];t=f.value.length;for(h=0;h<t;h++){index=w[h][1];p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[index]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[index];f.size===2?(f.array[p]=y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=
+y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}else{if(x)for(f=0;f<n;f++)k=m[f].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;if(M)for(f=0;f<p;f++)color=t[f],h=f*3,v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T)if(f=T[z],f.__original.needsUpdate){t=f.value.length;for(h=0;h<t;h++){p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[h]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[h];f.size===2?(f.array[p]=
+y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}if(x||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,u,e);if(M||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,v,e);if(T)for(z in T)if(f=T[z],f.__original.needsUpdate||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,
+f.buffer),o.bufferData(o.ARRAY_BUFFER,f.array,e)}function e(b,e,c,f,h){f.program||P.initMaterial(f,e,c,h);if(f.morphTargets&&!h.__webglMorphTargetInfluences){h.__webglMorphTargetInfluences=new Float32Array(P.maxMorphTargets);for(var k=0,m=P.maxMorphTargets;k<m;k++)h.__webglMorphTargetInfluences[k]=0}var k=f.program,m=k.uniforms,n=f.uniforms;k!=na&&(o.useProgram(k),na=k);o.uniformMatrix4fv(m.projectionMatrix,!1,va);if(c&&(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||
+f instanceof THREE.MeshPhongMaterial||f instanceof THREE.LineBasicMaterial||f instanceof THREE.ParticleBasicMaterial||f.fog))if(n.fogColor.value=c.color,c instanceof THREE.Fog)n.fogNear.value=c.near,n.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)n.fogDensity.value=c.density;if(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f.lights){var p,t,u,v=0,w=0,x=0,M,T,z,y=Ca,B=y.directional.colors,Z=y.directional.positions,D=y.point.colors,G=y.point.positions,H=y.point.distances,
+E=0,V=0,c=t=z=0;for(p=e.length;c<p;c++)if(t=e[c],u=t.color,M=t.position,T=t.intensity,z=t.distance,t instanceof THREE.AmbientLight)v+=u.r,w+=u.g,x+=u.b;else if(t instanceof THREE.DirectionalLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,Z[z]=M.x,Z[z+1]=M.y,Z[z+2]=M.z,E+=1;else if(t instanceof THREE.SpotLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,u=1/M.length(),Z[z]=M.x*u,Z[z+1]=M.y*u,Z[z+2]=M.z*u,E+=1;else if(t instanceof THREE.PointLight)t=V*3,D[t]=u.r*T,D[t+1]=u.g*T,D[t+2]=u.b*T,G[t]=M.x,
+G[t+1]=M.y,G[t+2]=M.z,H[V]=z,V+=1;for(c=E*3;c<B.length;c++)B[c]=0;for(c=V*3;c<D.length;c++)D[c]=0;y.point.length=V;y.directional.length=E;y.ambient[0]=v;y.ambient[1]=w;y.ambient[2]=x;e=Ca;n.enableLighting.value=e.directional.length+e.point.length;n.ambientLightColor.value=e.ambient;n.directionalLightColor.value=e.directional.colors;n.directionalLightDirection.value=e.directional.positions;n.pointLightColor.value=e.point.colors;n.pointLightPosition.value=e.point.positions;n.pointLightDistance.value=
+e.point.distances}if(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshPhongMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity,(n.map.texture=f.map)&&n.offsetRepeat.value.set(f.map.offset.x,f.map.offset.y,f.map.repeat.x,f.map.repeat.y),n.lightMap.texture=f.lightMap,n.envMap.texture=f.envMap,n.reflectivity.value=f.reflectivity,n.refractionRatio.value=f.refractionRatio,n.combine.value=f.combine,n.useRefract.value=f.envMap&&f.envMap.mapping instanceof
+THREE.CubeRefractionMapping;if(f instanceof THREE.LineBasicMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity;else if(f instanceof THREE.ParticleBasicMaterial)n.psColor.value=f.color,n.opacity.value=f.opacity,n.size.value=f.size,n.scale.value=wa.height/2,n.map.texture=f.map;else if(f instanceof THREE.MeshPhongMaterial)n.ambient.value=f.ambient,n.specular.value=f.specular,n.shininess.value=f.shininess;else if(f instanceof THREE.MeshDepthMaterial)n.mNear.value=b.near,n.mFar.value=b.far,n.opacity.value=
+f.opacity;else if(f instanceof THREE.MeshNormalMaterial)n.opacity.value=f.opacity;if(h.receiveShadow&&!f._shadowPass&&n.shadowMatrix){for(e=0;e<xa.length;e++)n.shadowMatrix.value[e]=xa[e],n.shadowMap.texture[e]=P.shadowMap[e];n.shadowDarkness.value=P.shadowMapDarkness;n.shadowBias.value=P.shadowMapBias}for(var ka in n)if(p=k.uniforms[ka])if(c=n[ka],v=c.type,e=c.value,v=="i")o.uniform1i(p,e);else if(v=="f")o.uniform1f(p,e);else if(v=="v2")o.uniform2f(p,e.x,e.y);else if(v=="v3")o.uniform3f(p,e.x,e.y,
+e.z);else if(v=="v4")o.uniform4f(p,e.x,e.y,e.z,e.w);else if(v=="c")o.uniform3f(p,e.r,e.g,e.b);else if(v=="fv1")o.uniform1fv(p,e);else if(v=="fv")o.uniform3fv(p,e);else if(v=="v3v"){if(!c._array)c._array=new Float32Array(3*e.length);v=0;for(w=e.length;v<w;v++)x=v*3,c._array[x]=e[v].x,c._array[x+1]=e[v].y,c._array[x+2]=e[v].z;o.uniform3fv(p,c._array)}else if(v=="m4"){if(!c._array)c._array=new Float32Array(16);e.flattenToArray(c._array);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="m4v"){if(!c._array)c._array=
+new Float32Array(16*e.length);v=0;for(w=e.length;v<w;v++)e[v].flattenToArrayOffset(c._array,v*16);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="t"){if(o.uniform1i(p,e),p=c.texture)if(p.image instanceof Array&&p.image.length==6){if(c=p,c.image.length==6)if(c.needsUpdate){if(!c.image.__webglTextureCube)c.image.__webglTextureCube=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);for(e=0;e<6;e++)o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,
+o.RGBA,o.RGBA,o.UNSIGNED_BYTE,c.image[e]);I(o.TEXTURE_CUBE_MAP,c,c.image[0]);c.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else p instanceof THREE.WebGLRenderTargetCube?(c=p,o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.__webglTexture)):C(p,e)}else if(v=="tv"){if(!c._array){c._array=[];v=0;for(w=c.texture.length;v<w;v++)c._array[v]=e+v}o.uniform1iv(p,c._array);v=0;for(w=c.texture.length;v<w;v++)(p=c.texture[v])&&
+C(p,c._array[v])}o.uniformMatrix4fv(m.modelViewMatrix,!1,h._modelViewMatrixArray);m.normalMatrix&&o.uniformMatrix3fv(m.normalMatrix,!1,h._normalMatrixArray);(f instanceof THREE.MeshShaderMaterial||f instanceof THREE.MeshPhongMaterial||f.envMap)&&m.cameraPosition!==null&&o.uniform3f(m.cameraPosition,b.position.x,b.position.y,b.position.z);(f instanceof THREE.MeshShaderMaterial||f.envMap||f.skinning||h.receiveShadow)&&m.objectMatrix!==null&&o.uniformMatrix4fv(m.objectMatrix,!1,h._objectMatrixArray);
+(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshShaderMaterial||f.skinning)&&m.viewMatrix!==null&&o.uniformMatrix4fv(m.viewMatrix,!1,ra);f.skinning&&(o.uniformMatrix4fv(m.cameraInverseMatrix,!1,ra),o.uniformMatrix4fv(m.boneGlobalMatrices,!1,h.boneMatrices));return k}function f(b,c,f,h,k,m){if(h.opacity!=0){var n,b=e(b,c,f,h,m).attributes;if(!h.morphTargets&&b.position>=0)o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(b.position,
+3,o.FLOAT,!1,0,0);else if(m.morphTargetBase){c=h.program.attributes;m.morphTargetBase!==-1?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[m.morphTargetBase]),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0)):c.position>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0));if(m.morphTargetForcedOrder.length)for(var f=0,p=m.morphTargetForcedOrder,t=m.morphTargetInfluences;f<h.numSupportedMorphTargets&&f<p.length;)o.bindBuffer(o.ARRAY_BUFFER,
+k.__webglMorphTargetsBuffers[p[f]]),o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0),m.__webglMorphTargetInfluences[f]=t[p[f]],f++;else{var p=[],u=-1,v=0,t=m.morphTargetInfluences,w,x=t.length,f=0;for(m.morphTargetBase!==-1&&(p[m.morphTargetBase]=!0);f<h.numSupportedMorphTargets;){for(w=0;w<x;w++)!p[w]&&t[w]>u&&(v=w,u=t[v]);o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[v]);o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0);m.__webglMorphTargetInfluences[f]=u;p[v]=1;u=
+-1;f++}}h.program.uniforms.morphTargetInfluences!==null&&o.uniform1fv(h.program.uniforms.morphTargetInfluences,m.__webglMorphTargetInfluences)}if(k.__webglCustomAttributes)for(n in k.__webglCustomAttributes)b[n]>=0&&(c=k.__webglCustomAttributes[n],o.bindBuffer(o.ARRAY_BUFFER,c.buffer),o.vertexAttribPointer(b[n],c.size,o.FLOAT,!1,0,0));b.color>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer),o.vertexAttribPointer(b.color,3,o.FLOAT,!1,0,0));b.normal>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglNormalBuffer),
+o.vertexAttribPointer(b.normal,3,o.FLOAT,!1,0,0));b.tangent>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglTangentBuffer),o.vertexAttribPointer(b.tangent,4,o.FLOAT,!1,0,0));b.uv>=0&&(k.__webglUVBuffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUVBuffer),o.vertexAttribPointer(b.uv,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv)):o.disableVertexAttribArray(b.uv));b.uv2>=0&&(k.__webglUV2Buffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUV2Buffer),o.vertexAttribPointer(b.uv2,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv2)):
+o.disableVertexAttribArray(b.uv2));h.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexABuffer),o.vertexAttribPointer(b.skinVertexA,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexBBuffer),o.vertexAttribPointer(b.skinVertexB,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinIndicesBuffer),o.vertexAttribPointer(b.skinIndex,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinWeightsBuffer),
+o.vertexAttribPointer(b.skinWeight,4,o.FLOAT,!1,0,0));m instanceof THREE.Mesh?(h.wireframe?(o.lineWidth(h.wireframeLinewidth),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglLineBuffer),o.drawElements(o.LINES,k.__webglLineCount,o.UNSIGNED_SHORT,0)):(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglFaceBuffer),o.drawElements(o.TRIANGLES,k.__webglFaceCount,o.UNSIGNED_SHORT,0)),P.data.vertices+=k.__webglFaceCount,P.data.faces+=k.__webglFaceCount/3,P.data.drawCalls++):m instanceof THREE.Line?(m=m.type==THREE.LineStrip?
+o.LINE_STRIP:o.LINES,o.lineWidth(h.linewidth),o.drawArrays(m,0,k.__webglLineCount),P.data.drawCalls++):m instanceof THREE.ParticleSystem?(o.drawArrays(o.POINTS,0,k.__webglParticleCount),P.data.drawCalls++):m instanceof THREE.Ribbon&&(o.drawArrays(o.TRIANGLE_STRIP,0,k.__webglVertexCount),P.data.drawCalls++)}}function h(b,e,c){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.createBuffer();if(!b.__webglNormalBuffer)b.__webglNormalBuffer=o.createBuffer();b.hasPos&&(o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),
+o.bufferData(o.ARRAY_BUFFER,b.positionArray,o.DYNAMIC_DRAW),o.enableVertexAttribArray(e.attributes.position),o.vertexAttribPointer(e.attributes.position,3,o.FLOAT,!1,0,0));if(b.hasNormal){o.bindBuffer(o.ARRAY_BUFFER,b.__webglNormalBuffer);if(c==THREE.FlatShading){var f,k,h,m,n,p,t,u,v,w,x=b.count*3;for(w=0;w<x;w+=9)c=b.normalArray,f=c[w],k=c[w+1],h=c[w+2],m=c[w+3],p=c[w+4],u=c[w+5],n=c[w+6],t=c[w+7],v=c[w+8],f=(f+m+n)/3,k=(k+p+t)/3,h=(h+u+v)/3,c[w]=f,c[w+1]=k,c[w+2]=h,c[w+3]=f,c[w+4]=k,c[w+5]=h,c[w+
+6]=f,c[w+7]=k,c[w+8]=h}o.bufferData(o.ARRAY_BUFFER,b.normalArray,o.DYNAMIC_DRAW);o.enableVertexAttribArray(e.attributes.normal);o.vertexAttribPointer(e.attributes.normal,3,o.FLOAT,!1,0,0)}o.drawArrays(o.TRIANGLES,0,b.count);b.count=0}function m(b){if(aa!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):o.enable(o.CULL_FACE),aa=b.doubleSided;if(ma!=b.flipSided)b.flipSided?o.frontFace(o.CW):o.frontFace(o.CCW),ma=b.flipSided}function k(b){ga!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),ga=
+b)}function n(b,e,c){da!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o.POLYGON_OFFSET_FILL),da=b);if(b&&($!=e||ca!=c))o.polygonOffset(e,c),$=e,ca=c}function u(b){V[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-b.n14);V[1].set(b.n41+b.n11,b.n42+b.n12,b.n43+b.n13,b.n44+b.n14);V[2].set(b.n41+b.n21,b.n42+b.n22,b.n43+b.n23,b.n44+b.n24);V[3].set(b.n41-b.n21,b.n42-b.n22,b.n43-b.n23,b.n44-b.n24);V[4].set(b.n41-b.n31,b.n42-b.n32,b.n43-b.n33,b.n44-b.n34);V[5].set(b.n41+b.n31,b.n42+b.n32,b.n43+b.n33,
+b.n44+b.n34);for(var e,b=0;b<6;b++)e=V[b],e.divideScalar(Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z))}function p(b){for(var e=b.matrixWorld,c=-b.geometry.boundingSphere.radius*Math.max(b.scale.x,Math.max(b.scale.y,b.scale.z)),f=0;f<6;f++)if(b=V[f].x*e.n14+V[f].y*e.n24+V[f].z*e.n34+V[f].w,b<=c)return!1;return!0}function v(b,e){b.list[b.count]=e;b.count+=1}function t(b){var e,c,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=k.count=0;for(e=f.materials.length;b<e;b++)c=f.materials[b],c.transparent?v(h,c):
+v(k,c)}function x(b){var e,c,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transparent;o.count=0;b=n.count=0;for(f=h.materials.length;b<f;b++)if(e=h.materials[b],e instanceof THREE.MeshFaceMaterial){e=0;for(c=m.materials.length;e<c;e++)(k=m.materials[e])&&(k.transparent?v(o,k):v(n,k))}else(k=e)&&(k.transparent?v(o,k):v(n,k))}function w(b,e){return e.z-b.z}function z(b,c){var n,t,v,w=0,x,z,y,D,G=b.lights;T||(T=new THREE.Camera(P.shadowCameraFov,c.aspect,P.shadowCameraNear,P.shadowCameraFar));n=0;for(t=
+G.length;n<t;n++)if(v=G[n],v instanceof THREE.SpotLight&&v.castShadow){P.shadowMap[w]||(P.shadowMap[w]=new THREE.WebGLRenderTarget(P.shadowMapWidth,P.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}));xa[w]||(xa[w]=new THREE.Matrix4);x=P.shadowMap[w];z=xa[w];T.position.copy(v.position);T.target.position.copy(v.target.position);T.update(void 0,!0);b.update(void 0,!1,T);z.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);z.multiplySelf(T.projectionMatrix);
+z.multiplySelf(T.matrixWorldInverse);T.matrixWorldInverse.flattenToArray(ra);T.projectionMatrix.flattenToArray(va);pa.multiply(T.projectionMatrix,T.matrixWorldInverse);u(pa);P.initWebGLObjects(b);K(x);o.clearColor(1,1,1,1);P.clear();o.clearColor(M.r,M.g,M.b,Z);z=b.__webglObjects.length;v=b.__webglObjectsImmediate.length;for(x=0;x<z;x++)y=b.__webglObjects[x],D=y.object,D.visible&&D.castShadow?!(D instanceof THREE.Mesh)||!D.frustumCulled||p(D)?(D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,
+T,!1),y.render=!0):y.render=!1:y.render=!1;k(!0);F(THREE.NormalBlending);for(x=0;x<z;x++)if(y=b.__webglObjects[x],y.render)D=y.object,buffer=y.buffer,m(D),y=D.customDepthMaterial?D.customDepthMaterial:D.geometry.morphTargets.length?ya:ka,f(T,G,null,y,buffer,D);for(x=0;x<v;x++)y=b.__webglObjectsImmediate[x],D=y.object,D.visible&&D.castShadow&&(D.matrixAutoUpdate&&D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,T,!1),m(D),program=e(T,G,null,ka,D),D.render(function(b){h(b,program,ka.shading)}));
+w++}}function y(b,e){var c,f,k;c=Y.attributes;var h=Y.uniforms,m=qa/ea,n,p=[],t=ea*0.5,u=qa*0.5,v=!0;o.useProgram(Y.program);na=Y.program;ga=fa=-1;Ga||(o.enableVertexAttribArray(Y.attributes.position),o.enableVertexAttribArray(Y.attributes.uv),Ga=!0);o.disable(o.CULL_FACE);o.enable(o.BLEND);o.depthMask(!0);o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.vertexAttribPointer(c.position,2,o.FLOAT,!1,16,0);o.vertexAttribPointer(c.uv,2,o.FLOAT,!1,16,8);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);
+o.uniformMatrix4fv(h.projectionMatrix,!1,va);o.activeTexture(o.TEXTURE0);o.uniform1i(h.map,0);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.useScreenCoordinates?k.z=-k.position.z:(k._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,k.matrixWorld,k._modelViewMatrixArray),k.z=-k._modelViewMatrix.n34);b.__webglSprites.sort(w);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.material===void 0&&k.map&&k.map.image&&k.map.image.width&&(k.useScreenCoordinates?(o.uniform1i(h.useScreenCoordinates,
+1),o.uniform3f(h.screenPosition,(k.position.x-t)/t,(u-k.position.y)/u,Math.max(0,Math.min(1,k.position.z)))):(o.uniform1i(h.useScreenCoordinates,0),o.uniform1i(h.affectedByDistance,k.affectedByDistance?1:0),o.uniformMatrix4fv(h.modelViewMatrix,!1,k._modelViewMatrixArray)),n=k.map.image.width/(k.scaleByViewport?qa:1),p[0]=n*m*k.scale.x,p[1]=n*k.scale.y,o.uniform2f(h.uvScale,k.uvScale.x,k.uvScale.y),o.uniform2f(h.uvOffset,k.uvOffset.x,k.uvOffset.y),o.uniform2f(h.alignment,k.alignment.x,k.alignment.y),
+o.uniform1f(h.opacity,k.opacity),o.uniform1f(h.rotation,k.rotation),o.uniform2fv(h.scale,p),k.mergeWith3D&&!v?(o.enable(o.DEPTH_TEST),v=!0):!k.mergeWith3D&&v&&(o.disable(o.DEPTH_TEST),v=!1),F(k.blending),C(k.map,0),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));o.enable(o.CULL_FACE);o.enable(o.DEPTH_TEST);o.depthMask(ia)}function B(b,e,c){b._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,b.matrixWorld,b._modelViewMatrixArray);c&&THREE.Matrix4.makeInvert3x3(b._modelViewMatrix).transposeIntoArray(b._normalMatrixArray)}
+function D(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)if(f.attributes[e].needsUpdate)return!0;return!1}function G(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)f.attributes[e].needsUpdate=!1}function H(b,e){var c;for(c=b.length-1;c>=0;c--)b[c].object==e&&b.splice(c,1)}function E(b){function e(b){var k=[];c=0;for(f=b.length;c<f;c++)b[c]==void 0?k.push("undefined"):k.push(b[c].id);return k.join("_")}
+var c,f,k,h,m,n,o,p,t={},u=b.morphTargets!==void 0?b.morphTargets.length:0;b.geometryGroups={};k=0;for(h=b.faces.length;k<h;k++)m=b.faces[k],n=m.materials,o=e(n),t[o]==void 0&&(t[o]={hash:o,counter:0}),p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],materials:n,vertices:0,numMorphTargets:u}),m=m instanceof THREE.Face3?3:4,b.geometryGroups[p].vertices+m>65535&&(t[o].counter+=1,p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],
+materials:n,vertices:0,numMorphTargets:u})),b.geometryGroups[p].faces.push(k),b.geometryGroups[p].vertices+=m;b.geometryGroupsList=[];for(var v in b.geometryGroups)b.geometryGroupsList.push(b.geometryGroups[v])}function N(b,e,c){b.push({buffer:e,object:c,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function F(b){if(b!=fa){switch(b){case THREE.AdditiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE);break;case THREE.SubtractiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,
+o.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,o.SRC_COLOR);break;default:o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}fa=b}}function I(b,e,c){(c.width&c.width-1)==0&&(c.height&c.height-1)==0?(o.texParameteri(b,o.TEXTURE_WRAP_S,S(e.wrapS)),o.texParameteri(b,o.TEXTURE_WRAP_T,S(e.wrapT)),o.texParameteri(b,o.TEXTURE_MAG_FILTER,S(e.magFilter)),o.texParameteri(b,
+o.TEXTURE_MIN_FILTER,S(e.minFilter)),o.generateMipmap(b)):(o.texParameteri(b,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_MAG_FILTER,O(e.magFilter)),o.texParameteri(b,o.TEXTURE_MIN_FILTER,O(e.minFilter)))}function C(b,e){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b.__webglTexture=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_2D,b.__webglTexture);b instanceof THREE.DataTexture?o.texImage2D(o.TEXTURE_2D,
+0,S(b.format),b.image.width,b.image.height,0,S(b.format),o.UNSIGNED_BYTE,b.image.data):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,b.image);I(o.TEXTURE_2D,b,b.image);b.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_2D,b.__webglTexture)}function K(b){var e=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.depthBuffer=!0;if(b.stencilBuffer===void 0)b.stencilBuffer=!0;b.__webglRenderbuffer=o.createRenderbuffer();
+b.__webglTexture=o.createTexture();if(e){o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture);I(o.TEXTURE_CUBE_MAP,b,b);b.__webglFramebuffer=[];for(var c=0;c<6;c++)b.__webglFramebuffer[c]=o.createFramebuffer(),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),null)}else b.__webglFramebuffer=o.createFramebuffer(),o.bindTexture(o.TEXTURE_2D,b.__webglTexture),I(o.TEXTURE_2D,b,b),o.texImage2D(o.TEXTURE_2D,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),
+null);o.bindRenderbuffer(o.RENDERBUFFER,b.__webglRenderbuffer);if(e)for(c=0;c<6;++c)o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer[c]),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+c,b.__webglTexture,0);else o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,b.__webglTexture,0);b.depthBuffer&&!b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,b.width,b.height),
+o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):b.depthBuffer&&b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,b.width,b.height),o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_STENCIL_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,b.width,b.height);e?o.bindTexture(o.TEXTURE_CUBE_MAP,null):o.bindTexture(o.TEXTURE_2D,null);o.bindRenderbuffer(o.RENDERBUFFER,null);o.bindFramebuffer(o.FRAMEBUFFER,
+null)}var f,k;b?(e=e?b.__webglFramebuffer[b.activeCubeFace]:b.__webglFramebuffer,c=b.width,b=b.height,k=f=0):(e=null,c=ea,b=qa,f=X,k=ja);e!=R&&(o.bindFramebuffer(o.FRAMEBUFFER,e),o.viewport(f,k,c,b),R=e)}function U(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture),o.generateMipmap(o.TEXTURE_CUBE_MAP),o.bindTexture(o.TEXTURE_CUBE_MAP,null)):(o.bindTexture(o.TEXTURE_2D,b.__webglTexture),o.generateMipmap(o.TEXTURE_2D),o.bindTexture(o.TEXTURE_2D,null))}function L(b,
+e){var c;b=="fragment"?c=o.createShader(o.FRAGMENT_SHADER):b=="vertex"&&(c=o.createShader(o.VERTEX_SHADER));o.shaderSource(c,e);o.compileShader(c);if(!o.getShaderParameter(c,o.COMPILE_STATUS))return console.error(o.getShaderInfoLog(c)),console.error(e),null;return c}function O(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return o.NEAREST;default:return o.LINEAR}}function S(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;case THREE.ClampToEdgeWrapping:return o.CLAMP_TO_EDGE;
+case THREE.MirroredRepeatWrapping:return o.MIRRORED_REPEAT;case THREE.NearestFilter:return o.NEAREST;case THREE.NearestMipMapNearestFilter:return o.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return o.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return o.LINEAR;case THREE.LinearMipMapNearestFilter:return o.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return o.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return o.BYTE;case THREE.UnsignedByteType:return o.UNSIGNED_BYTE;case THREE.ShortType:return o.SHORT;
+case THREE.UnsignedShortType:return o.UNSIGNED_SHORT;case THREE.IntType:return o.INT;case THREE.UnsignedShortType:return o.UNSIGNED_INT;case THREE.FloatType:return o.FLOAT;case THREE.AlphaFormat:return o.ALPHA;case THREE.RGBFormat:return o.RGB;case THREE.RGBAFormat:return o.RGBA;case THREE.LuminanceFormat:return o.LUMINANCE;case THREE.LuminanceAlphaFormat:return o.LUMINANCE_ALPHA}return 0}var P=this,o,W=[],na=null,R=null,ia=!0,aa=null,ma=null,fa=null,ga=null,da=null,$=null,ca=null,X=0,ja=0,ea=0,qa=
+0,V=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],pa=new THREE.Matrix4,va=new Float32Array(16),ra=new Float32Array(16),sa=new THREE.Vector4,Ca={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]}},b=b||{},wa=b.canvas!==void 0?b.canvas:document.createElement("canvas"),Aa=b.stencil!==void 0?b.stencil:!0,za=b.preserveDrawingBuffer!==void 0?b.preserveDrawingBuffer:!1,Fa=b.antialias!==
+void 0?b.antialias:!1,M=b.clearColor!==void 0?new THREE.Color(b.clearColor):new THREE.Color(0),Z=b.clearAlpha!==void 0?b.clearAlpha:0;_maxLights=b.maxLights!==void 0?b.maxLights:4;this.data={vertices:0,faces:0,drawCalls:0};this.maxMorphTargets=8;this.domElement=wa;this.sortObjects=this.autoClear=!0;this.shadowMapBias=0.0039;this.shadowMapDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCameraNear=1;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowMap=[];this.shadowMapEnabled=
+!1;this.shadowMapSoft=!0;var T,xa=[],b=THREE.ShaderLib.depthRGBA,ha=THREE.UniformsUtils.clone(b.uniforms),ka=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha}),ya=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha,morphTargets:!0});ka._shadowPass=!0;ya._shadowPass=!0;try{if(!(o=wa.getContext("experimental-webgl",{antialias:Fa,stencil:Aa,preserveDrawingBuffer:za})))throw"Error creating WebGL context.";
+console.log(navigator.userAgent+" | "+o.getParameter(o.VERSION)+" | "+o.getParameter(o.VENDOR)+" | "+o.getParameter(o.RENDERER)+" | "+o.getParameter(o.SHADING_LANGUAGE_VERSION))}catch(ta){console.error(ta)}o.clearColor(0,0,0,1);o.clearDepth(1);o.clearStencil(0);o.enable(o.DEPTH_TEST);o.depthFunc(o.LEQUAL);o.frontFace(o.CCW);o.cullFace(o.BACK);o.enable(o.CULL_FACE);o.enable(o.BLEND);o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA);o.clearColor(M.r,M.g,M.b,Z);this.context=
+o;var oa=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,Y={};Y.vertices=new Float32Array(16);Y.faces=new Uint16Array(6);i=0;Y.vertices[i++]=-1;Y.vertices[i++]=-1;Y.vertices[i++]=0;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=0;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=0;i=Y.vertices[i++]=0;Y.faces[i++]=0;Y.faces[i++]=1;Y.faces[i++]=2;Y.faces[i++]=0;Y.faces[i++]=2;Y.faces[i++]=
+3;Y.vertexBuffer=o.createBuffer();Y.elementBuffer=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.bufferData(o.ARRAY_BUFFER,Y.vertices,o.STATIC_DRAW);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);o.bufferData(o.ELEMENT_ARRAY_BUFFER,Y.faces,o.STATIC_DRAW);Y.program=o.createProgram();o.attachShader(Y.program,L("fragment",THREE.ShaderLib.sprite.fragmentShader));o.attachShader(Y.program,L("vertex",THREE.ShaderLib.sprite.vertexShader));o.linkProgram(Y.program);Y.attributes={};Y.uniforms=
+{};Y.attributes.position=o.getAttribLocation(Y.program,"position");Y.attributes.uv=o.getAttribLocation(Y.program,"uv");Y.uniforms.uvOffset=o.getUniformLocation(Y.program,"uvOffset");Y.uniforms.uvScale=o.getUniformLocation(Y.program,"uvScale");Y.uniforms.rotation=o.getUniformLocation(Y.program,"rotation");Y.uniforms.scale=o.getUniformLocation(Y.program,"scale");Y.uniforms.alignment=o.getUniformLocation(Y.program,"alignment");Y.uniforms.map=o.getUniformLocation(Y.program,"map");Y.uniforms.opacity=o.getUniformLocation(Y.program,
+"opacity");Y.uniforms.useScreenCoordinates=o.getUniformLocation(Y.program,"useScreenCoordinates");Y.uniforms.affectedByDistance=o.getUniformLocation(Y.program,"affectedByDistance");Y.uniforms.screenPosition=o.getUniformLocation(Y.program,"screenPosition");Y.uniforms.modelViewMatrix=o.getUniformLocation(Y.program,"modelViewMatrix");Y.uniforms.projectionMatrix=o.getUniformLocation(Y.program,"projectionMatrix");var Ga=!1;this.setSize=function(b,e){wa.width=b;wa.height=e;this.setViewport(0,0,wa.width,
+wa.height)};this.setViewport=function(b,e,c,f){X=b;ja=e;ea=c;qa=f;o.viewport(X,ja,ea,qa)};this.setScissor=function(b,e,c,f){o.scissor(b,e,c,f)};this.enableScissorTest=function(b){b?o.enable(o.SCISSOR_TEST):o.disable(o.SCISSOR_TEST)};this.enableDepthBufferWrite=function(b){ia=b;o.depthMask(b)};this.setClearColorHex=function(b,e){M.setHex(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.setClearColor=function(b,e){M.copy(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.clear=function(){o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT|
+o.STENCIL_BUFFER_BIT)};this.getContext=function(){return o};this.deallocateObject=function(b){if(b.__webglInit)if(b.__webglInit=!1,delete b._modelViewMatrix,delete b._normalMatrixArray,delete b._modelViewMatrixArray,delete b._objectMatrixArray,b instanceof THREE.Mesh)for(g in b.geometry.geometryGroups){var e=b.geometry.geometryGroups[g];o.deleteBuffer(e.__webglVertexBuffer);o.deleteBuffer(e.__webglNormalBuffer);o.deleteBuffer(e.__webglTangentBuffer);o.deleteBuffer(e.__webglColorBuffer);o.deleteBuffer(e.__webglUVBuffer);
+o.deleteBuffer(e.__webglUV2Buffer);o.deleteBuffer(e.__webglSkinVertexABuffer);o.deleteBuffer(e.__webglSkinVertexBBuffer);o.deleteBuffer(e.__webglSkinIndicesBuffer);o.deleteBuffer(e.__webglSkinWeightsBuffer);o.deleteBuffer(e.__webglFaceBuffer);o.deleteBuffer(e.__webglLineBuffer);if(e.numMorphTargets)for(var c=0,f=e.numMorphTargets;c<f;c++)o.deleteBuffer(e.__webglMorphTargetsBuffers[c])}else if(b instanceof THREE.Ribbon)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);
+else if(b instanceof THREE.Line)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);else if(b instanceof THREE.ParticleSystem)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer)};this.deallocateTexture=function(b){if(b.__webglInit)b.__webglInit=!1,o.deleteTexture(b.__webglTexture)};this.initMaterial=function(b,e,c,f){var k,h,m;b instanceof THREE.MeshDepthMaterial?m="depth":b instanceof THREE.MeshNormalMaterial?m="normal":b instanceof
+THREE.MeshBasicMaterial?m="basic":b instanceof THREE.MeshLambertMaterial?m="lambert":b instanceof THREE.MeshPhongMaterial?m="phong":b instanceof THREE.LineBasicMaterial?m="basic":b instanceof THREE.ParticleBasicMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];b.uniforms=THREE.UniformsUtils.clone(n.uniforms);b.vertexShader=n.vertexShader;b.fragmentShader=n.fragmentShader}var p,t,u;p=u=n=0;for(t=e.length;p<t;p++)h=e[p],h instanceof THREE.SpotLight&&u++,h instanceof THREE.DirectionalLight&&
+u++,h instanceof THREE.PointLight&&n++;n+u<=_maxLights?p=u:(p=Math.ceil(_maxLights*u/(n+u)),n=_maxLights-p);h={directional:p,point:n};n=u=0;for(p=e.length;n<p;n++)t=e[n],t instanceof THREE.SpotLight&&t.castShadow&&u++;var v=50;if(f!==void 0&&f instanceof THREE.SkinnedMesh)v=f.bones.length;var w;a:{p=b.fragmentShader;t=b.vertexShader;var n=b.uniforms,e=b.attributes,c={map:!!b.map,envMap:!!b.envMap,lightMap:!!b.lightMap,vertexColors:b.vertexColors,fog:c,sizeAttenuation:b.sizeAttenuation,skinning:b.skinning,
+morphTargets:b.morphTargets,maxMorphTargets:this.maxMorphTargets,maxDirLights:h.directional,maxPointLights:h.point,maxBones:v,shadowMapEnabled:this.shadowMapEnabled&&f.receiveShadow,shadowMapSoft:this.shadowMapSoft,shadowMapWidth:this.shadowMapWidth,shadowMapHeight:this.shadowMapHeight,maxShadows:u,alphaTest:b.alphaTest},x,f=[];m?f.push(m):(f.push(p),f.push(t));for(x in c)f.push(x),f.push(c[x]);m=f.join();x=0;for(f=W.length;x<f;x++)if(W[x].code==m){w=W[x].program;break a}x=o.createProgram();f=[oa?
+"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":"",c.sizeAttenuation?
+"#define USE_SIZEATTENUATION":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform mat4 cameraInverseMatrix;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinVertexA;\nattribute vec4 skinVertexB;\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
+h=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",c.fog?"#define USE_FOG":"",c.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":
+"",c.shadowMapSoft?"#define SHADOWMAP_WIDTH "+c.shadowMapWidth.toFixed(1):"",c.shadowMapSoft?"#define SHADOWMAP_HEIGHT "+c.shadowMapHeight.toFixed(1):"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");o.attachShader(x,L("fragment",h+p));o.attachShader(x,L("vertex",f+t));o.linkProgram(x);o.getProgramParameter(x,o.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+o.getProgramParameter(x,o.VALIDATE_STATUS)+", gl error ["+o.getError()+"]");x.uniforms=
+{};x.attributes={};var M,f=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition","cameraInverseMatrix","boneGlobalMatrices","morphTargetInfluences"];for(M in n)f.push(M);M=f;f=0;for(n=M.length;f<n;f++)p=M[f],x.uniforms[p]=o.getUniformLocation(x,p);f=["position","normal","uv","uv2","tangent","color","skinVertexA","skinVertexB","skinIndex","skinWeight"];for(M=0;M<c.maxMorphTargets;M++)f.push("morphTarget"+M);for(w in e)f.push(w);w=f;M=0;for(e=w.length;M<e;M++)c=
+w[M],x.attributes[c]=o.getAttribLocation(x,c);W.push({program:x,code:m});w=x}b.program=w;w=b.program.attributes;w.position>=0&&o.enableVertexAttribArray(w.position);w.color>=0&&o.enableVertexAttribArray(w.color);w.normal>=0&&o.enableVertexAttribArray(w.normal);w.tangent>=0&&o.enableVertexAttribArray(w.tangent);b.skinning&&w.skinVertexA>=0&&w.skinVertexB>=0&&w.skinIndex>=0&&w.skinWeight>=0&&(o.enableVertexAttribArray(w.skinVertexA),o.enableVertexAttribArray(w.skinVertexB),o.enableVertexAttribArray(w.skinIndex),
+o.enableVertexAttribArray(w.skinWeight));if(b.attributes)for(k in b.attributes)w[k]!==void 0&&w[k]>=0&&o.enableVertexAttribArray(w[k]);if(b.morphTargets)for(k=b.numSupportedMorphTargets=0;k<this.maxMorphTargets;k++)M="morphTarget"+k,w[M]>=0&&(o.enableVertexAttribArray(w[M]),b.numSupportedMorphTargets++)};this.clearTarget=function(b,c,e,f){K(b);b=0;c&&(b|=o.COLOR_BUFFER_BIT);e&&(b|=o.DEPTH_BUFFER_BIT);f&&(b|=o.STENCIL_BUFFER_BIT);o.clear(b)};this.render=function(b,c,o,v){var M,T,D,Z,G,H,E,V,ka=b.lights,
+C=b.fog;this.shadowMapEnabled&&z(b,c);P.data.vertices=0;P.data.faces=0;P.data.drawCalls=0;c.matrixAutoUpdate&&c.update(void 0,!0);b.update(void 0,!1,c);c.matrixWorldInverse.flattenToArray(ra);c.projectionMatrix.flattenToArray(va);pa.multiply(c.projectionMatrix,c.matrixWorldInverse);u(pa);this.initWebGLObjects(b);K(o);(this.autoClear||v)&&this.clear();G=b.__webglObjects.length;for(v=0;v<G;v++)if(M=b.__webglObjects[v],E=M.object,E.visible)if(!(E instanceof THREE.Mesh)||!E.frustumCulled||p(E)){if(E.matrixWorld.flattenToArray(E._objectMatrixArray),
+B(E,c,!0),x(M),M.render=!0,this.sortObjects)M.object.renderDepth?M.z=M.object.renderDepth:(sa.copy(E.position),pa.multiplyVector3(sa),M.z=sa.z)}else M.render=!1;else M.render=!1;this.sortObjects&&b.__webglObjects.sort(w);H=b.__webglObjectsImmediate.length;for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(E.matrixAutoUpdate&&E.matrixWorld.flattenToArray(E._objectMatrixArray),B(E,c,!0),t(M));if(b.overrideMaterial){k(b.overrideMaterial.depthTest);F(b.overrideMaterial.blending);for(v=
+0;v<G;v++)if(M=b.__webglObjects[v],M.render)E=M.object,V=M.buffer,m(E),f(c,ka,C,b.overrideMaterial,V,E);for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(m(E),T=e(c,ka,C,b.overrideMaterial,E),E.render(function(c){h(c,T,b.overrideMaterial.shading)}))}else{F(THREE.NormalBlending);for(v=G-1;v>=0;v--)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),
+f(c,ka,C,Z,V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}for(v=0;v<G;v++)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),f(c,ka,C,Z,
+V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}}b.__webglSprites.length&&y(b,c);o&&o.minFilter!==THREE.NearestFilter&&o.minFilter!==THREE.LinearFilter&&U(o)};this.initWebGLObjects=function(b){if(!b.__webglObjects)b.__webglObjects=[],b.__webglObjectsImmediate=[],b.__webglSprites=
+[];for(;b.__objectsAdded.length;){var e=b.__objectsAdded[0],f=b,k=void 0,h=void 0,m=void 0;if(!e.__webglInit)if(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrixArray=new Float32Array(9),e._modelViewMatrixArray=new Float32Array(16),e._objectMatrixArray=new Float32Array(16),e.matrixWorld.flattenToArray(e._objectMatrixArray),e instanceof THREE.Mesh)for(k in h=e.geometry,h.geometryGroups==void 0&&E(h),h.geometryGroups){m=h.geometryGroups[k];if(!m.__webglVertexBuffer){var n=m;n.__webglVertexBuffer=
+o.createBuffer();n.__webglNormalBuffer=o.createBuffer();n.__webglTangentBuffer=o.createBuffer();n.__webglColorBuffer=o.createBuffer();n.__webglUVBuffer=o.createBuffer();n.__webglUV2Buffer=o.createBuffer();n.__webglSkinVertexABuffer=o.createBuffer();n.__webglSkinVertexBBuffer=o.createBuffer();n.__webglSkinIndicesBuffer=o.createBuffer();n.__webglSkinWeightsBuffer=o.createBuffer();n.__webglFaceBuffer=o.createBuffer();n.__webglLineBuffer=o.createBuffer();if(n.numMorphTargets){var p=void 0,t=void 0;n.__webglMorphTargetsBuffers=
+[];p=0;for(t=n.numMorphTargets;p<t;p++)n.__webglMorphTargetsBuffers.push(o.createBuffer())}for(var n=m,p=e,v=void 0,u=void 0,w=void 0,x=w=void 0,M=void 0,T=void 0,z=T=t=0,y=w=u=void 0,Z=y=u=v=void 0,w=void 0,x=p.geometry,M=x.faces,y=n.faces,v=0,u=y.length;v<u;v++)w=y[v],w=M[w],w instanceof THREE.Face3?(t+=3,T+=1,z+=3):w instanceof THREE.Face4&&(t+=4,T+=2,z+=4);for(var v=n,u=p,B=y=M=void 0,V=void 0,B=void 0,w=[],M=0,y=u.materials.length;M<y;M++)if(B=u.materials[M],B instanceof THREE.MeshFaceMaterial){B=
+0;for(l=v.materials.length;B<l;B++)(V=v.materials[B])&&w.push(V)}else(V=B)&&w.push(V);v=w;n.__materials=v;a:{M=u=void 0;y=v.length;for(u=0;u<y;u++)if(M=v[u],M.map||M.lightMap||M instanceof THREE.MeshShaderMaterial){u=!0;break a}u=!1}a:{y=M=void 0;w=v.length;for(M=0;M<w;M++)if(y=v[M],!(y instanceof THREE.MeshBasicMaterial&&!y.envMap||y instanceof THREE.MeshDepthMaterial)){y=y&&y.shading!=void 0&&y.shading==THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading;break a}y=!1}a:{w=M=void 0;B=v.length;
+for(M=0;M<B;M++)if(w=v[M],w.vertexColors){w=w.vertexColors;break a}w=!1}n.__vertexArray=new Float32Array(t*3);if(y)n.__normalArray=new Float32Array(t*3);if(x.hasTangents)n.__tangentArray=new Float32Array(t*4);if(w)n.__colorArray=new Float32Array(t*3);if(u){if(x.faceUvs.length>0||x.faceVertexUvs.length>0)n.__uvArray=new Float32Array(t*2);if(x.faceUvs.length>1||x.faceVertexUvs.length>1)n.__uv2Array=new Float32Array(t*2)}if(p.geometry.skinWeights.length&&p.geometry.skinIndices.length)n.__skinVertexAArray=
+new Float32Array(t*4),n.__skinVertexBArray=new Float32Array(t*4),n.__skinIndexArray=new Float32Array(t*4),n.__skinWeightArray=new Float32Array(t*4);n.__faceArray=new Uint16Array(T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0));n.__lineArray=new Uint16Array(z*2);if(n.numMorphTargets){n.__morphTargetsArrays=[];x=0;for(M=n.numMorphTargets;x<M;x++)n.__morphTargetsArrays.push(new Float32Array(t*3))}n.__needsSmoothNormals=y==THREE.SmoothShading;n.__uvType=u;n.__vertexColorType=w;n.__normalType=
+y;n.__webglFaceCount=T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0);n.__webglLineCount=z*2;x=0;for(M=v.length;x<M;x++)if(u=v[x],u.attributes){if(n.__webglCustomAttributes===void 0)n.__webglCustomAttributes={};for(a in u.attributes){w=u.attributes[a];y={};for(Z in w)y[Z]=w[Z];if(!y.__webglInitialized||y.createUniqueBuffers)y.__webglInitialized=!0,T=1,y.type==="v2"?T=2:y.type==="v3"?T=3:y.type==="v4"?T=4:y.type==="c"&&(T=3),y.size=T,y.array=new Float32Array(t*T),y.buffer=o.createBuffer(),
+y.buffer.belongsToAttribute=a,w.needsUpdate=!0,y.__original=w;n.__webglCustomAttributes[a]=y}}n.__inittedArrays=!0;h.__dirtyVertices=!0;h.__dirtyMorphTargets=!0;h.__dirtyElements=!0;h.__dirtyUvs=!0;h.__dirtyNormals=!0;h.__dirtyTangents=!0;h.__dirtyColors=!0}N(f.__webglObjects,m,e)}else if(e instanceof THREE.Ribbon){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=
+new Float32Array(m*3),k.__webglVertexCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.Line){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=new Float32Array(m*3),k.__webglLineCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.ParticleSystem){h=e.geometry;
+if(!h.__webglVertexBuffer){k=h;k.__webglVertexBuffer=o.createBuffer();k.__webglColorBuffer=o.createBuffer();k=h;m=e;n=k.vertices.length;k.__vertexArray=new Float32Array(n*3);k.__colorArray=new Float32Array(n*3);k.__sortArray=[];k.__webglParticleCount=n;k.__materials=m.materials;Z=t=p=void 0;p=0;for(t=m.materials.length;p<t;p++)if(Z=m.materials[p],Z.attributes){if(k.__webglCustomAttributes===void 0)k.__webglCustomAttributes={};for(a in Z.attributes){originalAttribute=Z.attributes[a];attribute={};for(property in originalAttribute)attribute[property]=
+originalAttribute[property];if(!attribute.__webglInitialized||attribute.createUniqueBuffers)attribute.__webglInitialized=!0,size=1,attribute.type==="v2"?size=2:attribute.type==="v3"?size=3:attribute.type==="v4"?size=4:attribute.type==="c"&&(size=3),attribute.size=size,attribute.array=new Float32Array(n*size),attribute.buffer=o.createBuffer(),attribute.buffer.belongsToAttribute=a,originalAttribute.needsUpdate=!0,attribute.__original=originalAttribute;k.__webglCustomAttributes[a]=attribute}}h.__dirtyVertices=
+!0;h.__dirtyColors=!0}N(f.__webglObjects,h,e)}else THREE.MarchingCubes!==void 0&&e instanceof THREE.MarchingCubes?f.__webglObjectsImmediate.push({object:e,opaque:{list:[],count:0},transparent:{list:[],count:0}}):e instanceof THREE.Sprite&&f.__webglSprites.push(e);b.__objectsAdded.splice(0,1)}for(;b.__objectsRemoved.length;){f=b.__objectsRemoved[0];e=b;if(f instanceof THREE.Mesh||f instanceof THREE.ParticleSystem||f instanceof THREE.Ribbon||f instanceof THREE.Line)H(e.__webglObjects,f);else if(f instanceof
+THREE.Sprite){e=e.__webglSprites;h=void 0;for(h=e.length-1;h>=0;h--)e[h]==f&&e.splice(h,1)}else f instanceof THREE.MarchingCubes&&H(e.__webglObjectsImmediate,f);b.__objectsRemoved.splice(0,1)}e=0;for(f=b.__webglObjects.length;e<f;e++)if(k=b.__webglObjects[e].object,t=m=h=void 0,k instanceof THREE.Mesh){h=k.geometry;n=0;for(p=h.geometryGroupsList.length;n<p;n++)if(m=h.geometryGroupsList[n],t=D(m),h.__dirtyVertices||h.__dirtyMorphTargets||h.__dirtyElements||h.__dirtyUvs||h.__dirtyNormals||h.__dirtyColors||
+h.__dirtyTangents||t)if(t=m,Z=o.DYNAMIC_DRAW,T=!h.dynamic,t.__inittedArrays){var ka=x=z=void 0,C=void 0,xa=ka=void 0,K=void 0,pa=void 0,ha=void 0,I=V=B=w=y=M=u=v=void 0,L=void 0,J=C=ha=C=pa=K=void 0,A=void 0,F=A=J=K=void 0,Y=void 0,va=F=A=J=ka=ka=xa=ha=C=F=A=J=Y=F=A=J=Y=F=A=J=void 0,O=0,X=0,S=0,ra=0,R=0,ca=0,P=0,ya=0,oa=0,Q=0,U=0,F=J=0,F=void 0,W=t.__vertexArray,ja=t.__uvArray,fa=t.__uv2Array,ma=t.__normalArray,$=t.__tangentArray,sa=t.__colorArray,aa=t.__skinVertexAArray,ea=t.__skinVertexBArray,ta=
+t.__skinIndexArray,da=t.__skinWeightArray,na=t.__morphTargetsArrays,ga=t.__webglCustomAttributes,A=void 0,qa=t.__faceArray,ia=t.__lineArray,Ga=t.__needsSmoothNormals,u=t.__vertexColorType,v=t.__uvType,M=t.__normalType,wa=k.geometry,Ca=wa.__dirtyVertices,Aa=wa.__dirtyElements,za=wa.__dirtyUvs,Fa=wa.__dirtyNormals,Za=wa.__dirtyTangents,$a=wa.__dirtyColors,ab=wa.__dirtyMorphTargets,Oa=wa.vertices,cb=t.faces,fb=wa.faces,db=wa.faceVertexUvs[0],eb=wa.faceVertexUvs[1],Pa=wa.skinVerticesA,Qa=wa.skinVerticesB,
+Ra=wa.skinIndices,Ia=wa.skinWeights,Ha=wa.morphTargets;if(ga)for(va in ga)ga[va].offset=0,ga[va].offsetSrc=0;z=0;for(x=cb.length;z<x;z++)if(ka=cb[z],C=fb[ka],db&&(y=db[ka]),eb&&(w=eb[ka]),ka=C.vertexNormals,xa=C.normal,K=C.vertexColors,pa=C.color,ha=C.vertexTangents,C instanceof THREE.Face3){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,X+=9;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=
+A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],A.array[J+2]=A.value[C.c]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.offsetSrc+=3),A.offset+=3):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c]):A.boundTo==="faces"?(I=V=B=F=A.value[F],
+A.offsetSrc++):A.boundTo==="faceVertices"&&(B=A.value[F],V=A.value[F+1],I=A.value[F+2],A.offsetSrc+=3),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.offset+=6):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=
+V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z),A.offset+=9):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.offset+=12));if(ab){J=0;for(A=Ha.length;J<A;J++)B=Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+
+7]=I.y,F[U+8]=I.z;U+=9}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=
+1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,Q+=12;if($a&&u)K.length==3&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2]):A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,oa+=9;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+
+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,P+=12;if(Fa&&M)if(ka.length==3&&Ga)for(ha=0;ha<3;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<3;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<3;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<3;ha++)ka=w[ha],fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+2,R+=3,ia[ya]=O,ia[ya+1]=O+
+1,ia[ya+2]=O,ia[ya+3]=O+2,ia[ya+4]=O+1,ia[ya+5]=O+2,ya+=6,O+=3)}else if(C instanceof THREE.Face4){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,L=Oa[C.d].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,W[X+9]=L.x,W[X+10]=L.y,W[X+11]=L.z,X+=12;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],
+A.array[J+2]=A.value[C.c],A.array[J+3]=A.value[C.d]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.array[J+3]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.array[J+3]=A.value[F+3],A.offsetSrc+=4),A.offset+=4):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c],L=A.value[C.d]):A.boundTo==="faces"?(L=I=V=B=F=A.value[F],A.offsetSrc++):A.boundTo==="faceVertices"&&
+(B=A.value[F],V=A.value[F+1],I=A.value[F+2],L=A.value[F+3],A.offsetSrc+=4),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.array[J+6]=L.x,A.array[J+7]=L.y,A.offset+=8):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b,A.array[J+9]=L.r,A.array[J+10]=L.g,A.array[J+11]=L.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+
+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z,A.array[J+9]=L.x,A.array[J+10]=L.y,A.array[J+11]=L.z),A.offset+=12):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.array[J+12]=L.x,A.array[J+13]=L.y,A.array[J+14]=L.z,A.array[J+15]=L.w,A.offset+=16));if(ab){J=0;for(A=Ha.length;J<A;J++)B=
+Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,L=Ha[J].vertices[C.d].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+7]=I.y,F[U+8]=I.z,F[U+9]=L.x,F[U+10]=L.y,F[U+11]=L.z;U+=12}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],Y=Ia[C.d],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,da[Q+12]=Y.x,da[Q+13]=Y.y,da[Q+14]=Y.z,
+da[Q+15]=Y.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],Y=Ra[C.d],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,ta[Q+12]=Y.x,ta[Q+13]=Y.y,ta[Q+14]=Y.z,ta[Q+15]=Y.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],Y=Pa[C.d],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,aa[Q+12]=Y.x,aa[Q+13]=Y.y,aa[Q+14]=Y.z,aa[Q+15]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],
+C=Qa[C.d],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,ea[Q+12]=C.x,ea[Q+13]=C.y,ea[Q+14]=C.z,ea[Q+15]=1,Q+=16;if($a&&u)K.length==4&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2],K=K[3]):K=A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,sa[oa+9]=K.r,sa[oa+10]=K.g,sa[oa+11]=K.b,oa+=12;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],ha=
+ha[3],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,$[P+12]=ha.x,$[P+13]=ha.y,$[P+14]=ha.z,$[P+15]=ha.w,P+=16;if(Fa&&M)if(ka.length==4&&Ga)for(ha=0;ha<4;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<4;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<4;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<4;ha++)ka=w[ha],
+fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+3,qa[R+3]=O+1,qa[R+4]=O+2,qa[R+5]=O+3,R+=6,ia[ya]=O,ia[ya+1]=O+1,ia[ya+2]=O,ia[ya+3]=O+3,ia[ya+4]=O+1,ia[ya+5]=O+2,ia[ya+6]=O+2,ia[ya+7]=O+3,ya+=8,O+=4)}Ca&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,W,Z));if(ga)for(va in ga)A=ga[va],A.__original.needsUpdate&&(o.bindBuffer(o.ARRAY_BUFFER,A.buffer),o.bufferData(o.ARRAY_BUFFER,A.array,Z));if(ab){J=0;for(A=Ha.length;J<A;J++)o.bindBuffer(o.ARRAY_BUFFER,
+t.__webglMorphTargetsBuffers[J]),o.bufferData(o.ARRAY_BUFFER,na[J],Z)}$a&&oa>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,sa,Z));Fa&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglNormalBuffer),o.bufferData(o.ARRAY_BUFFER,ma,Z));Za&&wa.hasTangents&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglTangentBuffer),o.bufferData(o.ARRAY_BUFFER,$,Z));za&&S>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUVBuffer),o.bufferData(o.ARRAY_BUFFER,ja,Z));za&&ra>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUV2Buffer),
+o.bufferData(o.ARRAY_BUFFER,fa,Z));Aa&&(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglFaceBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,qa,Z),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglLineBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,ia,Z));Q>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexABuffer),o.bufferData(o.ARRAY_BUFFER,aa,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexBBuffer),o.bufferData(o.ARRAY_BUFFER,ea,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinIndicesBuffer),o.bufferData(o.ARRAY_BUFFER,
+ta,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinWeightsBuffer),o.bufferData(o.ARRAY_BUFFER,da,Z));T&&(delete t.__inittedArrays,delete t.__colorArray,delete t.__normalArray,delete t.__tangentArray,delete t.__uvArray,delete t.__uv2Array,delete t.__faceArray,delete t.__vertexArray,delete t.__lineArray,delete t.__skinVertexAArray,delete t.__skinVertexBArray,delete t.__skinIndexArray,delete t.__skinWeightArray)}h.__dirtyVertices=!1;h.__dirtyMorphTargets=!1;h.__dirtyElements=!1;h.__dirtyUvs=!1;h.__dirtyNormals=
+!1;h.__dirtyTangents=!1;h.__dirtyColors=!1;G(m)}else if(k instanceof THREE.Ribbon){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+
+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.Line){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);
+o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.ParticleSystem)h=k.geometry,t=D(h),(h.__dirtyVertices||h.__dirtyColors||k.sortParticles||t)&&c(h,o.DYNAMIC_DRAW,k),h.__dirtyVertices=!1,h.__dirtyColors=!1,G(h)};this.setFaceCulling=function(b,e){b?(!e||e=="ccw"?o.frontFace(o.CCW):o.frontFace(o.CW),
+b=="back"?o.cullFace(o.BACK):b=="front"?o.cullFace(o.FRONT):o.cullFace(o.FRONT_AND_BACK),o.enable(o.CULL_FACE)):o.disable(o.CULL_FACE)};this.supportsVertexTextures=function(){return oa}};
+THREE.WebGLRenderTarget=function(b,c,e){this.width=b;this.height=c;e=e||{};this.wrapS=e.wrapS!==void 0?e.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=e.wrapT!==void 0?e.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=e.magFilter!==void 0?e.magFilter:THREE.LinearFilter;this.minFilter=e.minFilter!==void 0?e.minFilter:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=e.format!==void 0?e.format:THREE.RGBAFormat;this.type=e.type!==void 0?e.type:
+THREE.UnsignedByteType;this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0;this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!0};
+THREE.WebGLRenderTarget.prototype.clone=function(){var b=new THREE.WebGLRenderTarget(this.width,this.height);b.wrapS=this.wrapS;b.wrapT=this.wrapT;b.magFilter=this.magFilter;b.minFilter=this.minFilter;b.offset.copy(this.offset);b.repeat.copy(this.repeat);b.format=this.format;b.type=this.type;b.depthBuffer=this.depthBuffer;b.stencilBuffer=this.stencilBuffer;return b};THREE.WebGLRenderTargetCube=function(b,c,e){THREE.WebGLRenderTarget.call(this,b,c,e);this.activeCubeFace=0};
+THREE.WebGLRenderTargetCube.prototype=new THREE.WebGLRenderTarget;THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(b){this.positionWorld.copy(b.positionWorld);this.positionScreen.copy(b.positionScreen)};
+THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.materials=null};
+THREE.ColorUtils={adjustHSV:function(b,c,e,f){var h=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(b,h);h.h=THREE.ColorUtils.clamp(h.h+c,0,1);h.s=THREE.ColorUtils.clamp(h.s+e,0,1);h.v=THREE.ColorUtils.clamp(h.v+f,0,1);b.setHSV(h.h,h.s,h.v)},rgbToHsv:function(b,c){var e=b.r,f=b.g,h=b.b,m=Math.max(Math.max(e,f),h),k=Math.min(Math.min(e,f),h);if(k==m)k=e=0;else{var n=m-k,k=n/m,e=e==m?(f-h)/n:f==m?2+(h-e)/n:4+(e-f)/n;e/=6;e<0&&(e+=1);e>1&&(e-=1)}c===void 0&&(c={h:0,s:0,v:0});c.h=e;c.s=k;c.v=m;return c},
+clamp:function(b,c,e){return b<c?c:b>e?e:b}};THREE.ColorUtils.__hsv={h:0,s:0,v:0};
+THREE.GeometryUtils={merge:function(b,c){var e=c instanceof THREE.Mesh,f=b.vertices.length,h=e?c.geometry:c,m=b.vertices,k=h.vertices,n=b.faces,u=h.faces,p=b.faceVertexUvs[0],h=h.faceVertexUvs[0];e&&c.matrixAutoUpdate&&c.updateMatrix();for(var v=0,t=k.length;v<t;v++){var x=new THREE.Vertex(k[v].position.clone());e&&c.matrix.multiplyVector3(x.position);m.push(x)}v=0;for(t=u.length;v<t;v++){var k=u[v],w,z,y=k.vertexNormals,x=k.vertexColors;k instanceof THREE.Face3?w=new THREE.Face3(k.a+f,k.b+f,k.c+
+f):k instanceof THREE.Face4&&(w=new THREE.Face4(k.a+f,k.b+f,k.c+f,k.d+f));w.normal.copy(k.normal);e=0;for(m=y.length;e<m;e++)z=y[e],w.vertexNormals.push(z.clone());w.color.copy(k.color);e=0;for(m=x.length;e<m;e++)z=x[e],w.vertexColors.push(z.clone());w.materials=k.materials.slice();w.centroid.copy(k.centroid);n.push(w)}v=0;for(t=h.length;v<t;v++){f=h[v];n=[];e=0;for(m=f.length;e<m;e++)n.push(new THREE.UV(f[e].u,f[e].v));p.push(n)}},clone:function(b){var c=new THREE.Geometry,e,f=b.vertices,h=b.faces,
+m=b.faceVertexUvs[0],b=0;for(e=f.length;b<e;b++){var k=new THREE.Vertex(f[b].position.clone());c.vertices.push(k)}b=0;for(e=h.length;b<e;b++){var n=h[b],u,p,v=n.vertexNormals,t=n.vertexColors;n instanceof THREE.Face3?u=new THREE.Face3(n.a,n.b,n.c):n instanceof THREE.Face4&&(u=new THREE.Face4(n.a,n.b,n.c,n.d));u.normal.copy(n.normal);f=0;for(k=v.length;f<k;f++)p=v[f],u.vertexNormals.push(p.clone());u.color.copy(n.color);f=0;for(k=t.length;f<k;f++)p=t[f],u.vertexColors.push(p.clone());u.materials=n.materials.slice();
+u.centroid.copy(n.centroid);c.faces.push(u)}b=0;for(e=m.length;b<e;b++){h=m[b];u=[];f=0;for(k=h.length;f<k;f++)u.push(new THREE.UV(h[f].u,h[f].v));c.faceVertexUvs[0].push(u)}return c},randomPointInTriangle:function(b,c,e){var f,h,m,k=new THREE.Vector3,n=THREE.GeometryUtils.__v1;f=THREE.GeometryUtils.random();h=THREE.GeometryUtils.random();f+h>1&&(f=1-f,h=1-h);m=1-f-h;k.copy(b);k.multiplyScalar(f);n.copy(c);n.multiplyScalar(h);k.addSelf(n);n.copy(e);n.multiplyScalar(m);k.addSelf(n);return k},randomPointInFace:function(b,
+c,e){var f,h,m;if(b instanceof THREE.Face3)return f=c.vertices[b.a].position,h=c.vertices[b.b].position,m=c.vertices[b.c].position,THREE.GeometryUtils.randomPointInTriangle(f,h,m);else if(b instanceof THREE.Face4){f=c.vertices[b.a].position;h=c.vertices[b.b].position;m=c.vertices[b.c].position;var c=c.vertices[b.d].position,k;e?b._area1&&b._area2?(e=b._area1,k=b._area2):(e=THREE.GeometryUtils.triangleArea(f,h,c),k=THREE.GeometryUtils.triangleArea(h,m,c),b._area1=e,b._area2=k):(e=THREE.GeometryUtils.triangleArea(f,
+h,c),k=THREE.GeometryUtils.triangleArea(h,m,c));return THREE.GeometryUtils.random()*(e+k)<e?THREE.GeometryUtils.randomPointInTriangle(f,h,c):THREE.GeometryUtils.randomPointInTriangle(h,m,c)}},randomPointsInGeometry:function(b,c){function e(b){function e(c,f){if(f<c)return c;var k=c+Math.floor((f-c)/2);return p[k]>b?e(c,k-1):p[k]<b?e(k+1,f):k}return e(0,p.length-1)}var f,h,m=b.faces,k=b.vertices,n=m.length,u=0,p=[],v,t,x,w;for(h=0;h<n;h++){f=m[h];if(f instanceof THREE.Face3)v=k[f.a].position,t=k[f.b].position,
+x=k[f.c].position,f._area=THREE.GeometryUtils.triangleArea(v,t,x);else if(f instanceof THREE.Face4)v=k[f.a].position,t=k[f.b].position,x=k[f.c].position,w=k[f.d].position,f._area1=THREE.GeometryUtils.triangleArea(v,t,w),f._area2=THREE.GeometryUtils.triangleArea(t,x,w),f._area=f._area1+f._area2;u+=f._area;p[h]=u}f=[];k={};for(h=0;h<c;h++)n=THREE.GeometryUtils.random()*u,n=e(n),f[h]=THREE.GeometryUtils.randomPointInFace(m[n],b,!0),k[n]?k[n]+=1:k[n]=1;return f},triangleArea:function(b,c,e){var f,h=THREE.GeometryUtils.__v1;
+h.sub(b,c);f=h.length();h.sub(b,e);b=h.length();h.sub(c,e);e=h.length();c=0.5*(f+b+e);return Math.sqrt(c*(c-f)*(c-b)*(c-e))},random16:function(){return(65280*Math.random()+255*Math.random())/65535}};THREE.GeometryUtils.random=THREE.GeometryUtils.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
+THREE.ImageUtils={loadTexture:function(b,c,e){var f=new Image,h=new THREE.Texture(f,c);f.onload=function(){h.needsUpdate=!0;e&&e(this)};f.crossOrigin="";f.src=b;return h},loadTextureCube:function(b,c,e){var f,h=[],m=new THREE.Texture(h,c),c=h.loadCount=0;for(f=b.length;c<f;++c)h[c]=new Image,h[c].onload=function(){h.loadCount+=1;if(h.loadCount==6)m.needsUpdate=!0;e&&e(this)},h[c].crossOrigin="",h[c].src=b[c];return m},getNormalMap:function(b,c){var e=function(b){var e=Math.sqrt(b[0]*b[0]+b[1]*b[1]+
+b[2]*b[2]);return[b[0]/e,b[1]/e,b[2]/e]};c|=1;var f=b.width,h=b.height,m=document.createElement("canvas");m.width=f;m.height=h;var k=m.getContext("2d");k.drawImage(b,0,0);for(var n=k.getImageData(0,0,f,h).data,u=k.createImageData(f,h),p=u.data,v=0;v<f;v++)for(var t=1;t<h;t++){var x=t-1<0?h-1:t-1,w=(t+1)%h,z=v-1<0?f-1:v-1,y=(v+1)%f,B=[],D=[0,0,n[(t*f+v)*4]/255*c];B.push([-1,0,n[(t*f+z)*4]/255*c]);B.push([-1,-1,n[(x*f+z)*4]/255*c]);B.push([0,-1,n[(x*f+v)*4]/255*c]);B.push([1,-1,n[(x*f+y)*4]/255*c]);
+B.push([1,0,n[(t*f+y)*4]/255*c]);B.push([1,1,n[(w*f+y)*4]/255*c]);B.push([0,1,n[(w*f+v)*4]/255*c]);B.push([-1,1,n[(w*f+z)*4]/255*c]);x=[];z=B.length;for(w=0;w<z;w++){var y=B[w],G=B[(w+1)%z],y=[y[0]-D[0],y[1]-D[1],y[2]-D[2]],G=[G[0]-D[0],G[1]-D[1],G[2]-D[2]];x.push(e([y[1]*G[2]-y[2]*G[1],y[2]*G[0]-y[0]*G[2],y[0]*G[1]-y[1]*G[0]]))}B=[0,0,0];for(w=0;w<x.length;w++)B[0]+=x[w][0],B[1]+=x[w][1],B[2]+=x[w][2];B[0]/=x.length;B[1]/=x.length;B[2]/=x.length;D=(t*f+v)*4;p[D]=(B[0]+1)/2*255|0;p[D+1]=(B[1]+0.5)*
+255|0;p[D+2]=B[2]*255|0;p[D+3]=255}k.putImageData(u,0,0);return m}};THREE.SceneUtils={showHierarchy:function(b,c){THREE.SceneUtils.traverseHierarchy(b,function(b){b.visible=c})},traverseHierarchy:function(b,c){var e,f,h=b.children.length;for(f=0;f<h;f++)e=b.children[f],c(e),THREE.SceneUtils.traverseHierarchy(e,c)}};
+if(THREE.WebGLRenderer)THREE.ShaderUtils={lib:{fresnel:{uniforms:{mRefractionRatio:{type:"f",value:1.02},mFresnelBias:{type:"f",value:0.1},mFresnelPower:{type:"f",value:2},mFresnelScale:{type:"f",value:1},tCube:{type:"t",value:1,texture:null}},fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\nvec4 refractedColor = vec4( 1.0, 1.0, 1.0, 1.0 );\nrefractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;\nrefractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;\nrefractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;\nrefractedColor.a = 1.0;\ngl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );\n}",
+vertexShader:"uniform float mRefractionRatio;\nuniform float mFresnelBias;\nuniform float mFresnelScale;\nuniform float mFresnelPower;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = normalize ( mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal );\nvec3 I = mPosition.xyz - cameraPosition;\nvReflect = reflect( I, nWorld );\nvRefract[0] = refract( normalize( I ), nWorld, mRefractionRatio );\nvRefract[1] = refract( normalize( I ), nWorld, mRefractionRatio * 0.99 );\nvRefract[2] = refract( normalize( I ), nWorld, mRefractionRatio * 0.98 );\nvReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), nWorld ), mFresnelPower );\ngl_Position = projectionMatrix * mvPosition;\n}"},
+normal:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},tDiffuse:{type:"t",value:0,texture:null},tNormal:{type:"t",value:2,texture:null},tSpecular:{type:"t",value:3,texture:null},tAO:{type:"t",value:4,texture:null},uNormalScale:{type:"f",value:1},tDisplacement:{type:"t",value:5,texture:null},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",
+value:new THREE.Color(15658734)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(328965)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform float uNormalScale;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( 1.0 );\nvec4 mColor = vec4( uDiffuseColor, uOpacity );\nvec4 mSpecular = vec4( uSpecularColor, uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse )\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\nif( enableAO )\ngl_FragColor = gl_FragColor * texture2D( tAO, vUv );\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( vTangent, vBinormal, vNormal );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointTotal = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = specularTex.r * pow( pointDotNormalHalf, uShininess );\npointTotal += pointDistance * vec4( pointLightColor[ i ], 1.0 ) * ( mColor * pointDiffuseWeight + mSpecular * pointSpecularWeight * pointDiffuseWeight );\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirTotal = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = specularTex.r * pow( dirDotNormalHalf, uShininess );\ndirTotal += vec4( directionalLightColor[ i ], 1.0 ) * ( mColor * dirDiffuseWeight + mSpecular * dirSpecularWeight * dirDiffuseWeight );\n}\n#endif\nvec4 totalLight = vec4( ambientLightColor * uAmbientColor, uOpacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirTotal;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointTotal;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:"attribute vec4 tangent;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvViewPosition = -mvPosition.xyz;\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvBinormal = normalize( vBinormal );\nvUv = uv;\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#ifdef VERTEX_TEXTURES\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\nvec4 displacedPosition = vec4( vNormal.xyz * df, 0.0 ) + mvPosition;\ngl_Position = projectionMatrix * displacedPosition;\n#else\ngl_Position = projectionMatrix * mvPosition;\n#endif\n}"},
+cube:{uniforms:{tCube:{type:"t",value:1,texture:null}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( - wPos.x, wPos.yz ) );\n}"}}};
+THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(b){return this.getPoint(this.getUtoTmapping(b))};THREE.Curve.prototype.getPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPoint(c/b));return e};THREE.Curve.prototype.getSpacedPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPointAt(c/b));return e};
+THREE.Curve.prototype.getLength=function(){var b=this.getLengths();return b[b.length-1]};THREE.Curve.prototype.getLengths=function(b){b||(b=200);if(this.cacheArcLengths&&this.cacheArcLengths.length==b+1)return this.cacheArcLengths;var c=[],e,f=this.getPoint(0),h,m=0;c.push(0);for(h=1;h<=b;h++)e=this.getPoint(h/b),m+=e.distanceTo(f),c.push(m),f=e;return this.cacheArcLengths=c};
+THREE.Curve.prototype.getUtoTmapping=function(b,c){var e=this.getLengths(),f=0,h=e.length,m;m=c?c:b*e[h-1];time=Date.now();for(var k=0,n=h-1,u;k<=n;)if(f=Math.floor(k+(n-k)/2),u=e[f]-m,u<0)k=f+1;else if(u>0)n=f-1;else{n=f;break}f=n;if(e[f]==m)return f/(h-1);k=e[f];return e=(f+(m-k)/(e[f+1]-k))/(h-1)};THREE.Curve.prototype.getNormalVector=function(b){b=this.getTangent(b);return new THREE.Vector2(-b.y,b.x)};
+THREE.Curve.prototype.getTangent=function(b){var c=b-1.0E-4;b+=1.0E-4;c<0&&(c=0);b>1&&(b=1);var c=this.getPoint(c),b=this.getPoint(b),e=new THREE.Vector2;e.sub(b,c);return e.unit()};THREE.LineCurve=function(b,c){b instanceof THREE.Vector2?(this.v1=b,this.v2=c):THREE.LineCurve.oldConstructor.apply(this,arguments)};THREE.LineCurve.oldConstructor=function(b,c,e,f){this.constructor(new THREE.Vector2(b,c),new THREE.Vector2(e,f))};THREE.LineCurve.prototype=new THREE.Curve;
+THREE.LineCurve.prototype.constructor=THREE.LineCurve;THREE.LineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2;c.sub(this.v2,this.v1);c.multiplyScalar(b).addSelf(this.v1);return c};THREE.LineCurve.prototype.getPointAt=function(b){return this.getPoint(b)};THREE.LineCurve.prototype.getTangent=function(){var b=new THREE.Vector2;b.sub(this.v2,this.v1);b.normalize();return b};
+THREE.QuadraticBezierCurve=function(b,c,e){if(!(c instanceof THREE.Vector2))var f=Array.prototype.slice.call(arguments),b=new THREE.Vector2(f[0],f[1]),c=new THREE.Vector2(f[2],f[3]),e=new THREE.Vector2(f[4],f[5]);this.v0=b;this.v1=c;this.v2=e};THREE.QuadraticBezierCurve.prototype=new THREE.Curve;THREE.QuadraticBezierCurve.prototype.constructor=THREE.QuadraticBezierCurve;
+THREE.QuadraticBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(c,b)};THREE.QuadraticBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.y,this.v1.y,this.v2.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.CubicBezierCurve=function(b,c,e,f){if(!(c instanceof THREE.Vector2))var h=Array.prototype.slice.call(arguments),b=new THREE.Vector2(h[0],h[1]),c=new THREE.Vector2(h[2],h[3]),e=new THREE.Vector2(h[4],h[5]),f=new THREE.Vector2(h[6],h[7]);this.v0=b;this.v1=c;this.v2=e;this.v3=f};THREE.CubicBezierCurve.prototype=new THREE.Curve;THREE.CubicBezierCurve.prototype.constructor=THREE.CubicBezierCurve;
+THREE.CubicBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b3(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Shape.Utils.b3(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(c,b)};THREE.CubicBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.SplineCurve=function(b){this.points=b};THREE.SplineCurve.prototype=new THREE.Curve;THREE.SplineCurve.prototype.constructor=THREE.SplineCurve;
+THREE.SplineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2,e=[],f=this.points,h;h=(f.length-1)*b;b=Math.floor(h);h-=b;e[0]=b==0?b:b-1;e[1]=b;e[2]=b>f.length-2?b:b+1;e[3]=b>f.length-3?b:b+2;c.x=THREE.Curve.Utils.interpolate(f[e[0]].x,f[e[1]].x,f[e[2]].x,f[e[3]].x,h);c.y=THREE.Curve.Utils.interpolate(f[e[0]].y,f[e[1]].y,f[e[2]].y,f[e[3]].y,h);return c};THREE.ArcCurve=function(b,c,e,f,h,m){this.aX=b;this.aY=c;this.aRadius=e;this.aStartAngle=f;this.aEndAngle=h;this.aClockwise=m};
+THREE.ArcCurve.prototype=new THREE.Curve;THREE.ArcCurve.prototype.constructor=THREE.ArcCurve;THREE.ArcCurve.prototype.getPoint=function(b){var c=this.aEndAngle-this.aStartAngle;this.aClockwise||(b=1-b);b=this.aStartAngle+b*c;return new THREE.Vector2(this.aX+this.aRadius*Math.cos(b),this.aY+this.aRadius*Math.sin(b))};
+THREE.Curve.Utils={tangentQuadraticBezier:function(b,c,e,f){return 2*(1-b)*(e-c)+2*b*(f-e)},tangentCubicBezier:function(b,c,e,f,h){return-3*c*(1-b)*(1-b)+3*e*(1-b)*(1-b)-6*b*e*(1-b)+6*b*f*(1-b)-3*b*b*f+3*b*b*h},tangentSpline:function(b){return 6*b*b-6*b+(3*b*b-4*b+1)+(-6*b*b+6*b)+(3*b*b-2*b)},interpolate:function(b,c,e,f,h){var b=(e-b)*0.5,f=(f-c)*0.5,m=h*h;return(2*c-2*e+b+f)*h*m+(-3*c+3*e-2*b-f)*m+b*h+c}};
+THREE.Curve.create=function(b,c){b.prototype=new THREE.Curve;b.prototype.constructor=b;b.prototype.getPoint=c;return b};THREE.LineCurve3=THREE.Curve.create(function(b,c){this.v1=b;this.v2=c},function(b){var c=new THREE.Vector3;c.sub(v2,v1);c.multiplyScalar(b);c.addSelf(this.v1);return c});
+THREE.QuadraticBezierCurve3=THREE.Curve.create(function(b,c,e){this.v0=b;this.v1=c;this.v2=e},function(b){var c,e;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);e=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);b=THREE.Shape.Utils.b2(b,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(c,e,b)});THREE.CurvePath=function(){this.curves=[];this.bends=[]};THREE.CurvePath.prototype=new THREE.Curve;THREE.CurvePath.prototype.constructor=THREE.CurvePath;THREE.CurvePath.prototype.add=function(b){this.curves.push(b)};
+THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){};THREE.CurvePath.prototype.getPoint=function(b){for(var c=b*this.getLength(),e=this.getCurveLengths(),b=0;b<e.length;){if(e[b]>=c)return c=e[b]-c,b=this.curves[b],c=1-c/b.getLength(),b.getPointAt(c);b++}return null};THREE.CurvePath.prototype.getLength=function(){var b=this.getCurveLengths();return b[b.length-1]};
+THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var b=[],c=0,e,f=this.curves.length;for(e=0;e<f;e++)c+=this.curves[e].getLength(),b.push(c);return this.cacheLengths=b};
+THREE.CurvePath.prototype.getBoundingBox=function(){var b=this.getPoints(),c,e,f,h;c=e=Number.NEGATIVE_INFINITY;f=h=Number.POSITIVE_INFINITY;var m,k,n,u;u=new THREE.Vector2;k=0;for(n=b.length;k<n;k++){m=b[k];if(m.x>c)c=m.x;else if(m.x<f)f=m.x;if(m.y>e)e=m.y;else if(m.y<e)h=m.y;u.addSelf(m.x,m.y)}return{minX:f,minY:h,maxX:c,maxY:e,centroid:u.divideScalar(n)}};THREE.CurvePath.prototype.createPointsGeometry=function(b){return this.createGeometry(this.getPoints(b,!0))};
+THREE.CurvePath.prototype.createSpacedPointsGeometry=function(b){return this.createGeometry(this.getSpacedPoints(b,!0))};THREE.CurvePath.prototype.createGeometry=function(b){for(var c=new THREE.Geometry,e=0;e<b.length;e++)c.vertices.push(new THREE.Vertex(new THREE.Vector3(b[e].x,b[e].y,0)));return c};THREE.CurvePath.prototype.addWrapPath=function(b){this.bends.push(b)};
+THREE.CurvePath.prototype.getTransformedPoints=function(b,c){var e=this.getPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(b,c){var e=this.getSpacedPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};
+THREE.CurvePath.prototype.getWrapPoints=function(b,c){var e=this.getBoundingBox(),f,h,m,k,n,u;f=0;for(h=b.length;f<h;f++)m=b[f],k=m.x,n=m.y,u=k/e.maxX,u=c.getUtoTmapping(u,k),k=c.getPoint(u),n=c.getNormalVector(u).multiplyScalar(n),m.x=k.x+n.x,m.y=k.y+n.y;return b};THREE.Path=function(b){THREE.CurvePath.call(this);this.actions=[];b&&this.fromPoints(b)};THREE.Path.prototype=new THREE.CurvePath;THREE.Path.prototype.constructor=THREE.Path;
+THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc"};THREE.Path.prototype.fromPoints=function(b){this.moveTo(b[0].x,b[0].y);var c,e=b.length;for(c=1;c<e;c++)this.lineTo(b[c].x,b[c].y)};THREE.Path.prototype.moveTo=function(){var b=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:b})};
+THREE.Path.prototype.lineTo=function(b,c){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args;this.curves.push(new THREE.LineCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(b,c)));this.actions.push({action:THREE.PathActions.LINE_TO,args:e})};
+THREE.Path.prototype.quadraticCurveTo=function(b,c,e,f){var h=Array.prototype.slice.call(arguments),m=this.actions[this.actions.length-1].args;this.curves.push(new THREE.QuadraticBezierCurve(new THREE.Vector2(m[m.length-2],m[m.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f)));this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:h})};
+THREE.Path.prototype.bezierCurveTo=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments),n=this.actions[this.actions.length-1].args;this.curves.push(new THREE.CubicBezierCurve(new THREE.Vector2(n[n.length-2],n[n.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f),new THREE.Vector2(h,m)));this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:k})};
+THREE.Path.prototype.splineThru=function(b){var c=Array.prototype.slice.call(arguments),e=this.actions[this.actions.length-1].args,e=[new THREE.Vector2(e[e.length-2],e[e.length-1])],e=e.concat(b);this.curves.push(new THREE.SplineCurve(e));this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:c})};THREE.Path.prototype.arc=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments);this.curves.push(new THREE.ArcCurve(b,c,e,f,h,m));this.actions.push({action:THREE.PathActions.ARC,args:k})};
+THREE.Path.prototype.getSpacedPoints=function(b){b||(b=40);for(var c=[],e=0;e<b;e++)c.push(this.getPoint(e/b));return c};
+THREE.Path.prototype.getPoints=function(b,c){var b=b||12,e=[],f,h,m,k,n,u,p,v,t,x,w,z,y;f=0;for(h=this.actions.length;f<h;f++)switch(m=this.actions[f],k=m.action,m=m.args,k){case THREE.PathActions.LINE_TO:e.push(new THREE.Vector2(m[0],m[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:n=m[2];u=m[3];t=m[0];x=m[1];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b2(y,w,t,n),y=THREE.Shape.Utils.b2(y,z,x,
+u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.BEZIER_CURVE_TO:n=m[4];u=m[5];t=m[0];x=m[1];p=m[2];v=m[3];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b3(y,w,t,p,n),y=THREE.Shape.Utils.b3(y,z,x,v,u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.CSPLINE_THRU:k=this.actions[f-1].args;k=[new THREE.Vector2(k[k.length-2],k[k.length-1])];y=b*m[0].length;k=k.concat(m[0]);m=new THREE.SplineCurve(k);
+for(k=1;k<=y;k++)e.push(m.getPointAt(k/y));break;case THREE.PathActions.ARC:k=this.actions[f-1].args;n=m[0];u=m[1];p=m[2];t=m[3];y=m[4];x=!!m[5];v=k[k.length-2];w=k[k.length-1];k.length==0&&(v=w=0);z=y-t;var B=b*2;for(k=1;k<=B;k++)y=k/B,x||(y=1-y),y=t+y*z,m=v+n+p*Math.cos(y),y=w+u+p*Math.sin(y),e.push(new THREE.Vector2(m,y))}c&&e.push(e[0]);return e};THREE.Path.prototype.transform=function(b,c){this.getBoundingBox();return this.getWrapPoints(this.getPoints(c),b)};
+THREE.Path.prototype.nltransform=function(b,c,e,f,h,m){var k=this.getPoints(),n,u,p,v,t;n=0;for(u=k.length;n<u;n++)p=k[n],v=p.x,t=p.y,p.x=b*v+c*t+e,p.y=f*t+h*v+m;return k};
+THREE.Path.prototype.debug=function(b){var c=this.getBoundingBox();b||(b=document.createElement("canvas"),b.setAttribute("width",c.maxX+100),b.setAttribute("height",c.maxY+100),document.body.appendChild(b));c=b.getContext("2d");c.fillStyle="white";c.fillRect(0,0,b.width,b.height);c.strokeStyle="black";c.beginPath();var e,f,h,b=0;for(e=this.actions.length;b<e;b++)f=this.actions[b],h=f.args,f=f.action,f!=THREE.PathActions.CSPLINE_THRU&&c[f].apply(c,h);c.stroke();c.closePath();c.strokeStyle="red";f=
+this.getPoints();b=0;for(e=f.length;b<e;b++)h=f[b],c.beginPath(),c.arc(h.x,h.y,1.5,0,Math.PI*2,!1),c.stroke(),c.closePath()};
+THREE.Path.prototype.toShapes=function(){var b,c,e,f,h=[],m=new THREE.Path;b=0;for(c=this.actions.length;b<c;b++)e=this.actions[b],f=e.args,e=e.action,e==THREE.PathActions.MOVE_TO&&m.actions.length!=0&&(h.push(m),m=new THREE.Path),m[e].apply(m,f);m.actions.length!=0&&h.push(m);if(h.length==0)return[];var k,m=[];if(THREE.Shape.Utils.isClockWise(h[0].getPoints())){b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k&&m.push(k),k=new THREE.Shape,k.actions=f.actions,k.curves=
+f.curves):k.holes.push(f);m.push(k)}else{k=new THREE.Shape;b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k.actions=f.actions,k.curves=f.curves,m.push(k),k=new THREE.Shape):k.holes.push(f)}return m};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=new THREE.Path;THREE.Shape.prototype.constructor=THREE.Path;THREE.Shape.prototype.extrude=function(b){return new THREE.ExtrudeGeometry(this,b)};
+THREE.Shape.prototype.getPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedPoints(b,this.bends);return f};THREE.Shape.prototype.getSpacedPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedSpacedPoints(b,this.bends);return f};THREE.Shape.prototype.extractAllPoints=function(b){return{shape:this.getTransformedPoints(b),holes:this.getPointsHoles(b)}};
+THREE.Shape.prototype.extractAllSpacedPoints=function(b){return{shape:this.getTransformedSpacedPoints(b),holes:this.getSpacedPointsHoles(b)}};
+THREE.Shape.Utils={removeHoles:function(b,c){var e=b.concat(),f=e.concat(),h,m,k,n,u,p,v,t,x,w,z=[];for(u=0;u<c.length;u++){p=c[u];f=f.concat(p);m=Number.POSITIVE_INFINITY;for(h=0;h<p.length;h++){x=p[h];w=[];for(t=0;t<e.length;t++)v=e[t],v=x.distanceToSquared(v),w.push(v),v<m&&(m=v,k=h,n=t)}h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;var y=[p[k],e[n],e[h]];t=THREE.FontUtils.Triangulate.area(y);var B=[p[k],p[m],e[n]];x=THREE.FontUtils.Triangulate.area(B);w=n;v=k;n+=1;k+=-1;n<0&&(n+=e.length);n%=
+e.length;k<0&&(k+=p.length);k%=p.length;h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;y=[p[k],e[n],e[h]];y=THREE.FontUtils.Triangulate.area(y);B=[p[k],p[m],e[n]];B=THREE.FontUtils.Triangulate.area(B);t+x>y+B&&(n=w,k=v,n<0&&(n+=e.length),n%=e.length,k<0&&(k+=p.length),k%=p.length,h=n-1>=0?n-1:e.length-1,m=k-1>=0?k-1:p.length-1);t=e.slice(0,n);x=e.slice(n);w=p.slice(k);v=p.slice(0,k);m=[p[k],p[m],e[n]];z.push([p[k],e[n],e[h]]);z.push(m);e=t.concat(w).concat(v).concat(x)}return{shape:e,isolatedPts:z,
+allpoints:f}},triangulateShape:function(b,c){var e=THREE.Shape.Utils.removeHoles(b,c),f=e.allpoints,h=e.isolatedPts,e=THREE.FontUtils.Triangulate(e.shape,!1),m,k,n,u,p={};m=0;for(k=f.length;m<k;m++)u=f[m].x+":"+f[m].y,p[u]!==void 0&&console.log("Duplicate point",u),p[u]=m;m=0;for(k=e.length;m<k;m++){n=e[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}m=0;for(k=h.length;m<k;m++){n=h[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}return e.concat(h)},isClockWise:function(b){return THREE.FontUtils.Triangulate.area(b)<
+0},b2p0:function(b,c){var e=1-b;return e*e*c},b2p1:function(b,c){return 2*(1-b)*b*c},b2p2:function(b,c){return b*b*c},b2:function(b,c,e,f){return this.b2p0(b,c)+this.b2p1(b,e)+this.b2p2(b,f)},b3p0:function(b,c){var e=1-b;return e*e*e*c},b3p1:function(b,c){var e=1-b;return 3*e*e*b*c},b3p2:function(b,c){return 3*(1-b)*b*b*c},b3p3:function(b,c){return b*b*b*c},b3:function(b,c,e,f,h){return this.b3p0(b,c)+this.b3p1(b,e)+this.b3p2(b,f)+this.b3p3(b,h)}};
+THREE.TextPath=function(b,c){THREE.Path.call(this);this.parameters=c||{};this.set(b)};THREE.TextPath.prototype.set=function(b,c){this.text=b;var c=c||this.parameters,e=c.curveSegments!==void 0?c.curveSegments:4,f=c.font!==void 0?c.font:"helvetiker",h=c.weight!==void 0?c.weight:"normal",m=c.style!==void 0?c.style:"normal";THREE.FontUtils.size=c.size!==void 0?c.size:100;THREE.FontUtils.divisions=e;THREE.FontUtils.face=f;THREE.FontUtils.weight=h;THREE.FontUtils.style=m};
+THREE.TextPath.prototype.toShapes=function(){for(var b=THREE.FontUtils.drawText(this.text).paths,c=[],e=0,f=b.length;e<f;e++)c=c.concat(b[e].toShapes());return c};
+THREE.AnimationHandler=function(){var b=[],c={},e={update:function(e){for(var c=0;c<b.length;c++)b[c].update(e)},addToUpdate:function(e){b.indexOf(e)===-1&&b.push(e)},removeFromUpdate:function(e){e=b.indexOf(e);e!==-1&&b.splice(e,1)},add:function(b){c[b.name]!==void 0&&console.log("THREE.AnimationHandler.add: Warning! "+b.name+" already exists in library. Overwriting.");c[b.name]=b;if(b.initialized!==!0){for(var e=0;e<b.hierarchy.length;e++){for(var f=0;f<b.hierarchy[e].keys.length;f++){if(b.hierarchy[e].keys[f].time<
+0)b.hierarchy[e].keys[f].time=0;if(b.hierarchy[e].keys[f].rot!==void 0&&!(b.hierarchy[e].keys[f].rot instanceof THREE.Quaternion)){var n=b.hierarchy[e].keys[f].rot;b.hierarchy[e].keys[f].rot=new THREE.Quaternion(n[0],n[1],n[2],n[3])}}if(b.hierarchy[e].keys[0].morphTargets!==void 0){n={};for(f=0;f<b.hierarchy[e].keys.length;f++)for(var u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++){var p=b.hierarchy[e].keys[f].morphTargets[u];n[p]=-1}b.hierarchy[e].usedMorphTargets=n;for(f=0;f<b.hierarchy[e].keys.length;f++){var v=
+{};for(p in n){for(u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++)if(b.hierarchy[e].keys[f].morphTargets[u]===p){v[p]=b.hierarchy[e].keys[f].morphTargetsInfluences[u];break}u===b.hierarchy[e].keys[f].morphTargets.length&&(v[p]=0)}b.hierarchy[e].keys[f].morphTargetsInfluences=v}}for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].time===b.hierarchy[e].keys[f-1].time&&(b.hierarchy[e].keys.splice(f,1),f--);for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].index=f}f=parseInt(b.length*
+b.fps,10);b.JIT={};b.JIT.hierarchy=[];for(e=0;e<b.hierarchy.length;e++)b.JIT.hierarchy.push(Array(f));b.initialized=!0}},get:function(b){if(typeof b==="string")return c[b]?c[b]:(console.log("THREE.AnimationHandler.get: Couldn't find animation "+b),null)},parse:function(b){var e=[];if(b instanceof THREE.SkinnedMesh)for(var c=0;c<b.bones.length;c++)e.push(b.bones[c]);else f(b,e);return e}},f=function(b,e){e.push(b);for(var c=0;c<b.children.length;c++)f(b.children[c],e)};e.LINEAR=0;e.CATMULLROM=1;e.CATMULLROM_FORWARD=
+2;return e}();THREE.Animation=function(b,c,e,f){this.root=b;this.data=THREE.AnimationHandler.get(c);this.hierarchy=THREE.AnimationHandler.parse(b);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=e!==void 0?e:THREE.AnimationHandler.LINEAR;this.JITCompile=f!==void 0?f:!0;this.points=[];this.target=new THREE.Vector3};
+THREE.Animation.prototype.play=function(b,c){if(!this.isPlaying){this.isPlaying=!0;this.loop=b!==void 0?b:!0;this.currentTime=c!==void 0?c:0;var e,f=this.hierarchy.length,h;for(e=0;e<f;e++){h=this.hierarchy[e];if(this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD)h.useQuaternion=!0;h.matrixAutoUpdate=!0;if(h.animationCache===void 0)h.animationCache={},h.animationCache.prevKey={pos:0,rot:0,scl:0},h.animationCache.nextKey={pos:0,rot:0,scl:0},h.animationCache.originalMatrix=h instanceof
+THREE.Bone?h.skinMatrix:h.matrix;var m=h.animationCache.prevKey;h=h.animationCache.nextKey;m.pos=this.data.hierarchy[e].keys[0];m.rot=this.data.hierarchy[e].keys[0];m.scl=this.data.hierarchy[e].keys[0];h.pos=this.getNextKeyWith("pos",e,1);h.rot=this.getNextKeyWith("rot",e,1);h.scl=this.getNextKeyWith("scl",e,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
+THREE.Animation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
+THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var b=0;b<this.hierarchy.length;b++)if(this.hierarchy[b].animationCache!==void 0)this.hierarchy[b]instanceof THREE.Bone?this.hierarchy[b].skinMatrix=this.hierarchy[b].animationCache.originalMatrix:this.hierarchy[b].matrix=this.hierarchy[b].animationCache.originalMatrix,delete this.hierarchy[b].animationCache};
+THREE.Animation.prototype.update=function(b){if(this.isPlaying){var c=["pos","rot","scl"],e,f,h,m,k,n,u,p,v=this.data.JIT.hierarchy,t,x;this.currentTime+=b*this.timeScale;x=this.currentTime;t=this.currentTime%=this.data.length;p=parseInt(Math.min(t*this.data.fps,this.data.length*this.data.fps),10);for(var w=0,z=this.hierarchy.length;w<z;w++)if(b=this.hierarchy[w],u=b.animationCache,this.JITCompile&&v[w][p]!==void 0)b instanceof THREE.Bone?(b.skinMatrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=
+!1):(b.matrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!0);else{if(this.JITCompile)b instanceof THREE.Bone?b.skinMatrix=b.animationCache.originalMatrix:b.matrix=b.animationCache.originalMatrix;for(var y=0;y<3;y++){e=c[y];k=u.prevKey[e];n=u.nextKey[e];if(n.time<=x){if(t<x)if(this.loop){k=this.data.hierarchy[w].keys[0];for(n=this.getNextKeyWith(e,w,1);n.time<t;)k=n,n=this.getNextKeyWith(e,w,n.index+1)}else{this.stop();return}else{do k=n,n=this.getNextKeyWith(e,w,n.index+1);while(n.time<
+t)}u.prevKey[e]=k;u.nextKey[e]=n}b.matrixAutoUpdate=!0;b.matrixWorldNeedsUpdate=!0;f=(t-k.time)/(n.time-k.time);h=k[e];m=n[e];if(f<0||f>1)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+f+" on bone "+w),f=f<0?0:1;if(e==="pos")if(e=b.position,this.interpolationType===THREE.AnimationHandler.LINEAR)e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)if(this.points[0]=
+this.getPrevKeyWith("pos",w,k.index-1).pos,this.points[1]=h,this.points[2]=m,this.points[3]=this.getNextKeyWith("pos",w,n.index+1).pos,f=f*0.33+0.33,h=this.interpolateCatmullRom(this.points,f),e.x=h[0],e.y=h[1],e.z=h[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)f=this.interpolateCatmullRom(this.points,f*1.01),this.target.set(f[0],f[1],f[2]),this.target.subSelf(e),this.target.y=0,this.target.normalize(),f=Math.atan2(this.target.x,this.target.z),b.rotation.set(0,f,0)}else if(e===
+"rot")THREE.Quaternion.slerp(h,m,b.quaternion,f);else if(e==="scl")e=b.scale,e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f}}if(this.JITCompile&&v[0][p]===void 0){this.hierarchy[0].update(void 0,!0);for(w=0;w<this.hierarchy.length;w++)v[w][p]=this.hierarchy[w]instanceof THREE.Bone?this.hierarchy[w].skinMatrix.clone():this.hierarchy[w].matrix.clone()}}};
+THREE.Animation.prototype.interpolateCatmullRom=function(b,c){var e=[],f=[],h,m,k,n,u,p;h=(b.length-1)*c;m=Math.floor(h);h-=m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>b.length-2?m:m+1;e[3]=m>b.length-3?m:m+2;m=b[e[0]];n=b[e[1]];u=b[e[2]];p=b[e[3]];e=h*h;k=h*e;f[0]=this.interpolate(m[0],n[0],u[0],p[0],h,e,k);f[1]=this.interpolate(m[1],n[1],u[1],p[1],h,e,k);f[2]=this.interpolate(m[2],n[2],u[2],p[2],h,e,k);return f};
+THREE.Animation.prototype.interpolate=function(b,c,e,f,h,m,k){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*k+(-3*(c-e)-2*b-f)*m+b*h+c};THREE.Animation.prototype.getNextKeyWith=function(b,c,e){var f=this.data.hierarchy[c].keys;for(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e=e<f.length-1?e:f.length-1:e%=f.length;e<f.length;e++)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[0]};
+THREE.Animation.prototype.getPrevKeyWith=function(b,c,e){for(var f=this.data.hierarchy[c].keys,e=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e>0?e:0:e>=0?e:e+f.length;e>=0;e--)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[f.length-1]};
+THREE.FirstPersonCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.movementSpeed=1;this.lookSpeed=0.005;this.noFly=!1;this.lookVertical=!0;this.autoForward=!1;this.activeLook=!0;this.heightSpeed=!1;this.heightCoef=1;this.heightMin=0;this.constrainVertical=!1;this.verticalMin=0;this.verticalMax=3.14;this.domElement=document;this.lastUpdate=(new Date).getTime();this.tdiff=0;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=
+b.movementSpeed;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.noFly!==void 0)this.noFly=b.noFly;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.autoForward!==void 0)this.autoForward=b.autoForward;if(b.activeLook!==void 0)this.activeLook=b.activeLook;if(b.heightSpeed!==void 0)this.heightSpeed=b.heightSpeed;if(b.heightCoef!==void 0)this.heightCoef=b.heightCoef;if(b.heightMin!==void 0)this.heightMin=b.heightMin;if(b.heightMax!==void 0)this.heightMax=b.heightMax;if(b.constrainVertical!==
+void 0)this.constrainVertical=b.constrainVertical;if(b.verticalMin!==void 0)this.verticalMin=b.verticalMin;if(b.verticalMax!==void 0)this.verticalMax=b.verticalMax;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=!1;this.windowHalfX=window.innerWidth/2;this.windowHalfY=window.innerHeight/2;this.onMouseDown=function(b){b.preventDefault();
+b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0};this.onMouseUp=function(b){b.preventDefault();b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1};this.onMouseMove=function(b){this.mouseX=b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.onKeyDown=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=
+!0;break;case 37:case 65:this.moveLeft=!0;break;case 40:case 83:this.moveBackward=!0;break;case 39:case 68:this.moveRight=!0;break;case 82:this.moveUp=!0;break;case 70:this.moveDown=!0;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=!1;break;case 37:case 65:this.moveLeft=!1;break;case 40:case 83:this.moveBackward=!1;break;case 39:case 68:this.moveRight=!1;break;case 82:this.moveUp=!1;break;case 70:this.moveDown=!1}};this.update=
+function(){var b=(new Date).getTime();this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;if(!this.freeze){this.autoSpeedFactor=this.heightSpeed?this.tdiff*((this.position.y<this.heightMin?this.heightMin:this.position.y>this.heightMax?this.heightMax:this.position.y)-this.heightMin)*this.heightCoef:0;var c=this.tdiff*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.translateZ(-(c+this.autoSpeedFactor));this.moveBackward&&this.translateZ(c);this.moveLeft&&this.translateX(-c);
+this.moveRight&&this.translateX(c);this.moveUp&&this.translateY(c);this.moveDown&&this.translateY(-c);c=this.tdiff*this.lookSpeed;this.activeLook||(c=0);this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b=this.target.position,h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*Math.sin(this.theta)}b=
+1;this.constrainVertical&&(b=3.14/(this.verticalMax-this.verticalMin));this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c*b);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=(this.phi-0)*(this.verticalMax-this.verticalMin)/3.14+this.verticalMin;b=this.target.position;h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*
+Math.sin(this.theta);this.supr.update.call(this)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),!1);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),!1);this.domElement.addEventListener("mouseup",c(this,this.onMouseUp),!1);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),!1);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),!1)};
+THREE.FirstPersonCamera.prototype=new THREE.Camera;THREE.FirstPersonCamera.prototype.constructor=THREE.FirstPersonCamera;THREE.FirstPersonCamera.prototype.supr=THREE.Camera.prototype;THREE.FirstPersonCamera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);if(this.noFly)c.y=0;this.position.addSelf(c.multiplyScalar(b));this.target.position.addSelf(c.multiplyScalar(b))};
+THREE.PathCamera=function(b){function c(b,e,c,f){var k={name:c,fps:0.6,length:f,hierarchy:[]},h,m=e.getControlPointsArray(),n=e.getLength(),u=m.length,G=0;h=u-1;e={parent:-1,keys:[]};e.keys[0]={time:0,pos:m[0],rot:[0,0,0,1],scl:[1,1,1]};e.keys[h]={time:f,pos:m[h],rot:[0,0,0,1],scl:[1,1,1]};for(h=1;h<u-1;h++)G=f*n.chunks[h]/n.total,e.keys[h]={time:G,pos:m[h]};k.hierarchy[0]=e;THREE.AnimationHandler.add(k);return new THREE.Animation(b,c,THREE.AnimationHandler.CATMULLROM_FORWARD,!1)}function e(b,e){var c,
+f,k=new THREE.Geometry;for(c=0;c<b.points.length*e;c++)f=c/(b.points.length*e),f=b.getPoint(f),k.vertices[c]=new THREE.Vertex(new THREE.Vector3(f.x,f.y,f.z));return k}function f(b,c){var f=e(c,10),k=e(c,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3});lineObj=new THREE.Line(f,h);particleObj=new THREE.ParticleSystem(k,new THREE.ParticleBasicMaterial({color:16755200,size:3}));lineObj.scale.set(1,1,1);b.addChild(lineObj);particleObj.scale.set(1,1,1);b.addChild(particleObj);k=new THREE.SphereGeometry(1,
+16,8);h=new THREE.MeshBasicMaterial({color:65280});for(i=0;i<c.points.length;i++)f=new THREE.Mesh(k,h),f.position.copy(c.points[i]),f.updateMatrix(),b.addChild(f)}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.id="PathCamera"+THREE.PathCameraIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=!0;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=
+this.lookVertical=!0;this.verticalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.horizontalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.domElement=document;if(b){if(b.duration!==void 0)this.duration=b.duration*1E3;if(b.waypoints!==void 0)this.waypoints=b.waypoints;if(b.useConstantSpeed!==void 0)this.useConstantSpeed=b.useConstantSpeed;if(b.resamplingCoef!==void 0)this.resamplingCoef=b.resamplingCoef;if(b.createDebugPath!==void 0)this.createDebugPath=b.createDebugPath;if(b.createDebugDummy!==
+void 0)this.createDebugDummy=b.createDebugDummy;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.lookHorizontal!==void 0)this.lookHorizontal=b.lookHorizontal;if(b.verticalAngleMap!==void 0)this.verticalAngleMap=b.verticalAngleMap;if(b.horizontalAngleMap!==void 0)this.horizontalAngleMap=b.horizontalAngleMap;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;this.windowHalfX=
+window.innerWidth/2;this.windowHalfY=window.innerHeight/2;var h=Math.PI*2,m=Math.PI/180;this.update=function(b,e,c){var f,k;this.lookHorizontal&&(this.lon+=this.mouseX*this.lookSpeed);this.lookVertical&&(this.lat-=this.mouseY*this.lookSpeed);this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*m;this.theta=this.lon*m;f=this.phi%h;this.phi=f>=0?f:f+h;f=this.verticalAngleMap.srcRange;k=this.verticalAngleMap.dstRange;var n=k[1]-k[0];this.phi=
+TWEEN.Easing.Quadratic.EaseInOut(((this.phi-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.horizontalAngleMap.srcRange;k=this.horizontalAngleMap.dstRange;n=k[1]-k[0];this.theta=TWEEN.Easing.Quadratic.EaseInOut(((this.theta-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.target.position;f.x=100*Math.sin(this.phi)*Math.cos(this.theta);f.y=100*Math.cos(this.phi);f.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.supr.update.call(this,b,e,c)};this.onMouseMove=function(b){this.mouseX=
+b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var b=new THREE.MeshLambertMaterial({color:30719}),k=new THREE.MeshLambertMaterial({color:65280}),n=new THREE.CubeGeometry(10,10,20),u=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(n,b);b=new THREE.Mesh(u,k);b.position.set(0,10,0);this.animation=
+c(this.animationParent,this.spline,this.id,this.duration);this.animationParent.addChild(this);this.animationParent.addChild(this.target);this.animationParent.addChild(b)}else this.animation=c(this.animationParent,this.spline,this.id,this.duration),this.animationParent.addChild(this.target),this.animationParent.addChild(this);this.createDebugPath&&f(this.debugPath,this.spline);this.domElement.addEventListener("mousemove",function(b,e){return function(){e.apply(b,arguments)}}(this,this.onMouseMove),
+!1)};THREE.PathCamera.prototype=new THREE.Camera;THREE.PathCamera.prototype.constructor=THREE.PathCamera;THREE.PathCamera.prototype.supr=THREE.Camera.prototype;THREE.PathCameraIdCounter=0;
+THREE.FlyCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.tmpQuaternion=new THREE.Quaternion;this.movementSpeed=1;this.rollSpeed=0.005;this.autoForward=this.dragToLook=!1;this.domElement=document;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=b.movementSpeed;if(b.rollSpeed!==void 0)this.rollSpeed=b.rollSpeed;if(b.dragToLook!==void 0)this.dragToLook=b.dragToLook;if(b.autoForward!==void 0)this.autoForward=
+b.autoForward;if(b.domElement!==void 0)this.domElement=b.domElement}this.useTarget=!1;this.useQuaternion=!0;this.mouseStatus=0;this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0};this.moveVector=new THREE.Vector3(0,0,0);this.rotationVector=new THREE.Vector3(0,0,0);this.lastUpdate=-1;this.tdiff=0;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.keydown=function(b){if(!b.altKey){switch(b.keyCode){case 16:this.movementSpeedMultiplier=
+0.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector();this.updateRotationVector()}};
+this.keyup=function(b){switch(b.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;
+case 69:this.moveState.rollRight=0}this.updateMovementVector();this.updateRotationVector()};this.mousedown=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus++;else switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}};this.mousemove=function(b){if(!this.dragToLook||this.mouseStatus>0){var c=this.getContainerDimensions(),h=c.size[0]/2,m=c.size[1]/2;this.moveState.yawLeft=-(b.clientX-c.offset[0]-h)/h;this.moveState.pitchDown=(b.clientY-
+c.offset[1]-m)/m;this.updateRotationVector()}};this.mouseup=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.updateRotationVector()};this.update=function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;var b=this.tdiff*this.movementSpeed,c=this.tdiff*
+this.rollSpeed;this.translateX(this.moveVector.x*b);this.translateY(this.moveVector.y*b);this.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*c,this.rotationVector.y*c,this.rotationVector.z*c,1).normalize();this.quaternion.multiplySelf(this.tmpQuaternion);this.matrix.setPosition(this.position);this.matrix.setRotationFromQuaternion(this.quaternion);this.matrixWorldNeedsUpdate=!0;this.supr.update.call(this)};this.updateMovementVector=function(){var b=this.moveState.forward||
+this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-b+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=
+document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",c(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",c(this,this.mouseup),!1);window.addEventListener("keydown",c(this,this.keydown),!1);window.addEventListener("keyup",c(this,
+this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
+THREE.RollCamera=function(b,c,e,f){THREE.Camera.call(this,b,c,e,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.matrixAutoUpdate=this.useTarget=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=-1;this.delta=0;var h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Matrix4,u=!1,p=1,v=0,t=0,x=0,w=0,z=0,y=window.innerWidth/2,B=window.innerHeight/2;this.update=
+function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.delta=(b-this.lastUpdate)/1E3;this.lastUpdate=b;this.mouseLook&&(b=this.delta*this.lookSpeed,this.rotateHorizontally(b*w),this.rotateVertically(b*z));b=this.delta*this.movementSpeed;this.translateZ(b*(v>0||this.autoForward&&!(v<0)?1:v));this.translateX(b*t);this.translateY(b*x);u&&(this.roll+=this.rollSpeed*this.delta*p);if(this.forward.y>this.constrainVertical[1])this.forward.y=this.constrainVertical[1],this.forward.normalize();
+else if(this.forward.y<this.constrainVertical[0])this.forward.y=this.constrainVertical[0],this.forward.normalize();k.copy(this.forward);m.set(0,1,0);h.cross(m,k).normalize();m.cross(k,h).normalize();this.matrix.n11=h.x;this.matrix.n12=m.x;this.matrix.n13=k.x;this.matrix.n21=h.y;this.matrix.n22=m.y;this.matrix.n23=k.y;this.matrix.n31=h.z;this.matrix.n32=m.z;this.matrix.n33=k.z;n.identity();n.n11=Math.cos(this.roll);n.n12=-Math.sin(this.roll);n.n21=Math.sin(this.roll);n.n22=Math.cos(this.roll);this.matrix.multiplySelf(n);
+this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(b){this.position.x+=this.matrix.n11*b;this.position.y+=this.matrix.n21*b;this.position.z+=this.matrix.n31*b};this.translateY=function(b){this.position.x+=this.matrix.n12*b;this.position.y+=this.matrix.n22*b;this.position.z+=this.matrix.n32*b};this.translateZ=function(b){this.position.x-=this.matrix.n13*b;this.position.y-=
+this.matrix.n23*b;this.position.z-=this.matrix.n33*b};this.rotateHorizontally=function(b){h.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);h.multiplyScalar(b);this.forward.subSelf(h);this.forward.normalize()};this.rotateVertically=function(b){m.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);m.multiplyScalar(b);this.forward.addSelf(m);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+function(b){w=(b.clientX-y)/window.innerWidth;z=(b.clientY-B)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=1;break;case 2:v=-1}},!1);this.domElement.addEventListener("mouseup",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=0;break;case 2:v=0}},!1);this.domElement.addEventListener("keydown",function(b){switch(b.keyCode){case 38:case 87:v=1;break;case 37:case 65:t=-1;break;
+case 40:case 83:v=-1;break;case 39:case 68:t=1;break;case 81:u=!0;p=1;break;case 69:u=!0;p=-1;break;case 82:x=1;break;case 70:x=-1}},!1);this.domElement.addEventListener("keyup",function(b){switch(b.keyCode){case 38:case 87:v=0;break;case 37:case 65:t=0;break;case 40:case 83:v=0;break;case 39:case 68:t=0;break;case 81:u=!1;break;case 69:u=!1;break;case 82:x=0;break;case 70:x=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
+THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}b=b||{};THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.domElement=b.domElement||document;this.screen=b.screen||{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0};this.radius=b.radius||(this.screen.width+this.screen.height)/4;this.rotateSpeed=b.rotateSpeed||1;this.zoomSpeed=b.zoomSpeed||1.2;this.panSpeed=b.panSpeed||0.3;this.noZoom=b.noZoom||!1;this.noPan=b.noPan||
+!1;this.staticMoving=b.staticMoving||!1;this.dynamicDampingFactor=b.dynamicDampingFactor||0.2;this.minDistance=b.minDistance||0;this.maxDistance=b.maxDistance||Infinity;this.keys=b.keys||[65,83,68];this.useTarget=!0;var e=!1,f=this.STATE.NONE,h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Vector2,u=new THREE.Vector2,p=new THREE.Vector2,v=new THREE.Vector2;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.getMouseOnScreen=function(b,c){return new THREE.Vector2((b-
+this.screen.offsetLeft)/this.radius*0.5,(c-this.screen.offsetTop)/this.radius*0.5)};this.getMouseProjectionOnBall=function(b,c){var e=new THREE.Vector3((b-this.screen.width*0.5-this.screen.offsetLeft)/this.radius,(this.screen.height*0.5+this.screen.offsetTop-c)/this.radius,0),f=e.length();f>1?e.normalize():e.z=Math.sqrt(1-f*f);h=this.position.clone().subSelf(this.target.position);f=this.up.clone().setLength(e.y);f.addSelf(this.up.clone().crossSelf(h).setLength(e.x));f.addSelf(h.setLength(e.z));return f};
+this.rotateCamera=function(){var b=Math.acos(m.dot(k)/m.length()/k.length());if(b){var c=(new THREE.Vector3).cross(m,k).normalize(),e=new THREE.Quaternion;b*=this.rotateSpeed;e.setFromAxisAngle(c,-b);e.multiplyVector3(h);e.multiplyVector3(this.up);e.multiplyVector3(k);this.staticMoving?m=k:(e.setFromAxisAngle(c,b*(this.dynamicDampingFactor-1)),e.multiplyVector3(m))}};this.zoomCamera=function(){var b=1+(u.y-n.y)*this.zoomSpeed;b!==1&&b>0&&(h.multiplyScalar(b),this.staticMoving?n=u:n.y+=(u.y-n.y)*this.dynamicDampingFactor)};
+this.panCamera=function(){var b=v.clone().subSelf(p);if(b.lengthSq()){b.multiplyScalar(h.length()*this.panSpeed);var c=h.clone().crossSelf(this.up).setLength(b.x);c.addSelf(this.up.clone().setLength(b.y));this.position.addSelf(c);this.target.position.addSelf(c);this.staticMoving?p=v:p.addSelf(b.sub(v,p).multiplyScalar(this.dynamicDampingFactor))}};this.checkDistances=function(){if(!this.noZoom||!this.noPan)this.position.lengthSq()>this.maxDistance*this.maxDistance&&this.position.setLength(this.maxDistance),
+h.lengthSq()<this.minDistance*this.minDistance&&this.position.add(this.target.position,h.setLength(this.minDistance))};this.update=function(b,c,e){h=this.position.clone().subSelf(this.target.position);this.rotateCamera();this.noZoom||this.zoomCamera();this.noPan||this.panCamera();this.position.add(this.target.position,h);this.checkDistances();this.supr.update.call(this,b,c,e)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+c(this,function(b){e&&(m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY),n=u=this.getMouseOnScreen(b.clientX,b.clientY),p=v=this.getMouseOnScreen(b.clientX,b.clientY),e=!1);f!==this.STATE.NONE&&(f===this.STATE.ROTATE?k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?u=this.getMouseOnScreen(b.clientX,b.clientY):f===this.STATE.PAN&&!this.noPan&&(v=this.getMouseOnScreen(b.clientX,b.clientY)))}),!1);this.domElement.addEventListener("mousedown",c(this,function(b){b.preventDefault();
+b.stopPropagation();if(f===this.STATE.NONE)f=b.button,f===this.STATE.ROTATE?m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?n=u=this.getMouseOnScreen(b.clientX,b.clientY):this.noPan||(p=v=this.getMouseOnScreen(b.clientX,b.clientY))}),!1);this.domElement.addEventListener("mouseup",c(this,function(b){b.preventDefault();b.stopPropagation();f=this.STATE.NONE}),!1);window.addEventListener("keydown",c(this,function(b){if(f===this.STATE.NONE){if(b.keyCode===this.keys[this.STATE.ROTATE])f=
+this.STATE.ROTATE;else if(b.keyCode===this.keys[this.STATE.ZOOM]&&!this.noZoom)f=this.STATE.ZOOM;else if(b.keyCode===this.keys[this.STATE.PAN]&&!this.noPan)f=this.STATE.PAN;f!==this.STATE.NONE&&(e=!0)}}),!1);window.addEventListener("keyup",c(this,function(){if(f!==this.STATE.NONE)f=this.STATE.NONE}),!1)};THREE.TrackballCamera.prototype=new THREE.Camera;THREE.TrackballCamera.prototype.constructor=THREE.TrackballCamera;THREE.TrackballCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera.prototype.STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2};THREE.QuakeCamera=THREE.FirstPersonCamera;
+THREE.CubeGeometry=function(b,c,e,f,h,m,k,n,u){function p(b,c,e,k,n,p,t,u){var w,x,y=f||1,z=h||1,O=n/2,S=p/2,P=v.vertices.length;if(b=="x"&&c=="y"||b=="y"&&c=="x")w="z";else if(b=="x"&&c=="z"||b=="z"&&c=="x")w="y",z=m||1;else if(b=="z"&&c=="y"||b=="y"&&c=="z")w="x",y=m||1;var o=y+1,W=z+1;n/=y;var na=p/z;for(x=0;x<W;x++)for(p=0;p<o;p++){var R=new THREE.Vector3;R[b]=(p*n-O)*e;R[c]=(x*na-S)*k;R[w]=t;v.vertices.push(new THREE.Vertex(R))}for(x=0;x<z;x++)for(p=0;p<y;p++)v.faces.push(new THREE.Face4(p+o*
+x+P,p+o*(x+1)+P,p+1+o*(x+1)+P,p+1+o*x+P,null,null,u)),v.faceVertexUvs[0].push([new THREE.UV(p/y,x/z),new THREE.UV(p/y,(x+1)/z),new THREE.UV((p+1)/y,(x+1)/z),new THREE.UV((p+1)/y,x/z)])}THREE.Geometry.call(this);var v=this,t=b/2,x=c/2,w=e/2,n=n?-1:1;if(k!==void 0)if(k instanceof Array)this.materials=k;else{this.materials=[];for(var z=0;z<6;z++)this.materials.push([k])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(u!=void 0)for(var y in u)this.sides[y]!=void 0&&(this.sides[y]=
+u[y]);this.sides.px&&p("z","y",1*n,-1,e,c,-t,this.materials[0]);this.sides.nx&&p("z","y",-1*n,-1,e,c,t,this.materials[1]);this.sides.py&&p("x","z",1*n,1,b,e,x,this.materials[2]);this.sides.ny&&p("x","z",1*n,-1,b,e,-x,this.materials[3]);this.sides.pz&&p("x","y",1*n,-1,b,c,w,this.materials[4]);this.sides.nz&&p("x","y",-1*n,-1,b,c,-w,this.materials[5]);(function(){for(var b=[],c=[],e=0,f=v.vertices.length;e<f;e++){for(var k=v.vertices[e],h=!1,m=0,n=b.length;m<n;m++){var p=b[m];if(k.position.x==p.position.x&&
+k.position.y==p.position.y&&k.position.z==p.position.z){c[e]=m;h=!0;break}}if(!h)c[e]=b.length,b.push(new THREE.Vertex(k.position.clone()))}e=0;for(f=v.faces.length;e<f;e++)k=v.faces[e],k.a=c[k.a],k.b=c[k.b],k.c=c[k.c],k.d=c[k.d];v.vertices=b})();this.computeCentroids();this.computeFaceNormals()};THREE.CubeGeometry.prototype=new THREE.Geometry;THREE.CubeGeometry.prototype.constructor=THREE.CubeGeometry;
+THREE.CylinderGeometry=function(b,c,e,f,h,m){function k(b,c,e){n.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}THREE.Geometry.call(this);var n=this,u,p=Math.PI*2,v=f/2;for(u=0;u<b;u++)k(Math.sin(p*u/b)*c,Math.cos(p*u/b)*c,-v);for(u=0;u<b;u++)k(Math.sin(p*u/b)*e,Math.cos(p*u/b)*e,v);var t,x,w,z,y=c-e;for(u=0;u<b;u++)t=new THREE.Vector3,t.copy(n.vertices[u].position),t.z=y,t.normalize(),x=new THREE.Vector3,x.copy(n.vertices[u+b].position),x.z=y,x.normalize(),w=new THREE.Vector3,w.copy(n.vertices[b+
+(u+1)%b].position),w.z=y,w.normalize(),z=new THREE.Vector3,z.copy(n.vertices[(u+1)%b].position),z.z=y,z.normalize(),n.faces.push(new THREE.Face4(u,u+b,b+(u+1)%b,(u+1)%b,[t,x,w,z]));if(e>0){e=new THREE.Vector3(0,0,-1);k(0,0,-v-(m||0));for(u=b;u<b+b/2;u++)n.faces.push(new THREE.Face4(2*b,(2*u-2*b)%b,(2*u-2*b+1)%b,(2*u-2*b+2)%b,[e,e,e,e]))}if(c>0){c=new THREE.Vector3(0,0,1);k(0,0,v+(h||0));for(u=b+b/2;u<2*b;u++)n.faces.push(new THREE.Face4(2*b+1,(2*u-2*b+2)%b+b,(2*u-2*b+1)%b+b,(2*u-2*b)%b+b,[c,c,c,c]))}u=
+0;for(b=this.faces.length;u<b;u++)h=[],v=this.faces[u],c=this.vertices[v.a],m=this.vertices[v.b],e=this.vertices[v.c],t=this.vertices[v.d],h.push(new THREE.UV(0.5+Math.atan2(c.position.x,c.position.y)/p,0.5+c.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(m.position.x,m.position.y)/p,0.5+m.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(e.position.x,e.position.y)/p,0.5+e.position.z/f)),v instanceof THREE.Face4&&h.push(new THREE.UV(0.5+Math.atan2(t.position.x,t.position.y)/p,0.5+t.position.z/
+f)),this.faceVertexUvs[0].push(h);this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=new THREE.Geometry;THREE.CylinderGeometry.prototype.constructor=THREE.CylinderGeometry;THREE.ExtrudeGeometry=function(b,c){if(typeof b!="undefined"){THREE.Geometry.call(this);var b=b instanceof Array?b:[b],e,f=b.length,h;this.shapebb=b[f-1].getBoundingBox();for(e=0;e<f;e++)h=b[e],this.addShape(h,c);this.computeCentroids();this.computeFaceNormals()}};
+THREE.ExtrudeGeometry.prototype=new THREE.Geometry;THREE.ExtrudeGeometry.prototype.constructor=THREE.ExtrudeGeometry;
+THREE.ExtrudeGeometry.prototype.addShape=function(b,c){function e(b,c,e){c||console.log("die");return c.clone().multiplyScalar(e).addSelf(b)}function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeometry.__v2,h=THREE.ExtrudeGeometry.__v3,m=THREE.ExtrudeGeometry.__v4,n=THREE.ExtrudeGeometry.__v5,o=THREE.ExtrudeGeometry.__v6;f.set(b.x-c.x,b.y-c.y);k.set(b.x-e.x,b.y-e.y);f=f.normalize();k=k.normalize();h.set(-f.y,f.x);m.set(k.y,-k.x);n.copy(b).addSelf(h);o.copy(b).addSelf(m);if(n.equals(o))return m.clone();
+n.copy(c).addSelf(h);o.copy(e).addSelf(m);h=f.dot(m);m=o.subSelf(n).dot(m);h==0&&(console.log("Either infinite or no solutions!"),m==0?console.log("Its finite solutions."):console.log("Too bad, no solutions."));m/=h;if(m<0)return c=Math.atan2(c.y-b.y,c.x-b.x),b=Math.atan2(e.y-b.y,e.x-b.x),c>b&&(b+=Math.PI*2),anglec=(c+b)/2,new THREE.Vector2(-Math.cos(anglec),-Math.sin(anglec));return f.multiplyScalar(m).addSelf(n).subSelf(b).clone()}function h(b){for(L=b.length;--L>=0;){ga=L;da=L-1;da<0&&(da=b.length-
+1);for(var c=0,e=w+v*2,c=0;c<e;c++){var f=na*c,k=na*(c+1),h=$+ga+f,m=$+ga+k,o=h,f=$+da+f,k=$+da+k,p=m;o+=U;f+=U;k+=U;p+=U;K.faces.push(new THREE.Face4(o,f,k,p,null,null,E));E&&(o=c/e,f=(c+1)/e,k=n+u*2,h=(K.vertices[h].position.z+u)/k,m=(K.vertices[m].position.z+u)/k,K.faceVertexUvs[0].push([new THREE.UV(h,o),new THREE.UV(m,o),new THREE.UV(m,f),new THREE.UV(h,f)]))}}}function m(b,c,e){K.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}function k(b,c,e){b+=U;c+=U;e+=U;K.faces.push(new THREE.Face3(b,
+c,e,null,null,H));if(H){var f=N.maxY,k=N.maxX,h=K.vertices[c].position.x,c=K.vertices[c].position.y,m=K.vertices[e].position.x,e=K.vertices[e].position.y;K.faceVertexUvs[0].push([new THREE.UV(K.vertices[b].position.x/k,K.vertices[b].position.y/f),new THREE.UV(h/k,c/f),new THREE.UV(m/k,e/f)])}}var n=c.amount!==void 0?c.amount:100,u=c.bevelThickness!==void 0?c.bevelThickness:6,p=c.bevelSize!==void 0?c.bevelSize:u-2,v=c.bevelSegments!==void 0?c.bevelSegments:3,t=c.bevelEnabled!==void 0?c.bevelEnabled:
+!0,x=c.curveSegments!==void 0?c.curveSegments:12,w=c.steps!==void 0?c.steps:1,z=c.bendPath,y=c.extrudePath,B,D=!1,G=c.useSpacedPoints!==void 0?c.useSpacedPoints:!1,H=c.material,E=c.extrudeMaterial,N=this.shapebb;if(y)B=y.getPoints(x),w=B.length,D=!0,t=!1;t||(p=u=v=0);var F,I,C,K=this,U=this.vertices.length;z&&b.addWrapPath(z);x=G?b.extractAllSpacedPoints(x):b.extractAllPoints(x);z=x.shape;x=x.holes;if(y=!THREE.Shape.Utils.isClockWise(z)){z=z.reverse();I=0;for(C=x.length;I<C;I++)F=x[I],THREE.Shape.Utils.isClockWise(F)&&
+(x[I]=F.reverse());y=!1}y=THREE.Shape.Utils.triangulateShape(z,x);G=z;I=0;for(C=x.length;I<C;I++)F=x[I],z=z.concat(F);var L,O,S,P,o,W,na=z.length,R=y.length,ia=[];L=0;O=G.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ia[L]=f(G[L],G[ga],G[da]);var aa=[],ma,fa=ia.concat();I=0;for(C=x.length;I<C;I++){F=x[I];ma=[];L=0;O=F.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ma[L]=f(F[L],F[ga],F[da]);aa.push(ma);fa=fa.concat(ma)}for(S=0;S<v;S++){P=S/v;o=u*(1-
+P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,-o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),m(W.x,W.y,-o)}}P=p;for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[0].y,B[0].x):m(W.x,W.y,0);for(S=1;S<=w;S++)for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[S-1].y,B[S-1].x):m(W.x,W.y,n/w*S);for(S=v-1;S>=0;S--){P=S/v;o=u*(1-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,
+n+o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),D?m(W.x,W.y+B[w-1].y,B[w-1].x+o):m(W.x,W.y,n+o)}}if(t){t=na*0;for(L=0;L<R;L++)p=y[L],k(p[2]+t,p[1]+t,p[0]+t);t=na*(w+v*2);for(L=0;L<R;L++)p=y[L],k(p[0]+t,p[1]+t,p[2]+t)}else{for(L=0;L<R;L++)p=y[L],k(p[2],p[1],p[0]);for(L=0;L<R;L++)p=y[L],k(p[0]+na*w,p[1]+na*w,p[2]+na*w)}var ga,da,$=0;h(G);$+=G.length;I=0;for(C=x.length;I<C;I++)F=x[I],h(F),$+=F.length};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;
+THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;
+THREE.IcosahedronGeometry=function(b){function c(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(new THREE.Vertex(new THREE.Vector3(b/f,c/f,e/f)))-1}function e(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}function f(b,e){var f=h.vertices[b].position,k=h.vertices[e].position;return c((f.x+k.x)/2,(f.y+k.y)/2,(f.z+k.z)/2)}var h=this,m=new THREE.Geometry;this.subdivisions=b||0;THREE.Geometry.call(this);b=(1+Math.sqrt(5))/2;c(-1,b,0);c(1,b,0);c(-1,-b,0);c(1,-b,0);c(0,-1,b);c(0,1,b);c(0,-1,
+-b);c(0,1,-b);c(b,0,-1);c(b,0,1);c(-b,0,-1);c(-b,0,1);e(0,11,5,m);e(0,5,1,m);e(0,1,7,m);e(0,7,10,m);e(0,10,11,m);e(1,5,9,m);e(5,11,4,m);e(11,10,2,m);e(10,7,6,m);e(7,1,8,m);e(3,9,4,m);e(3,4,2,m);e(3,2,6,m);e(3,6,8,m);e(3,8,9,m);e(4,9,5,m);e(2,4,11,m);e(6,2,10,m);e(8,6,7,m);e(9,8,1,m);for(var k=0;k<this.subdivisions;k++){var b=new THREE.Geometry,n;for(n in m.faces){var u=f(m.faces[n].a,m.faces[n].b),p=f(m.faces[n].b,m.faces[n].c),v=f(m.faces[n].c,m.faces[n].a);e(m.faces[n].a,u,v,b);e(m.faces[n].b,p,
+u,b);e(m.faces[n].c,v,p,b);e(u,p,v,b)}m.faces=b.faces}h.faces=m.faces;this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.IcosahedronGeometry.prototype=new THREE.Geometry;THREE.IcosahedronGeometry.prototype.constructor=THREE.IcosahedronGeometry;
+THREE.LatheGeometry=function(b,c,e){THREE.Geometry.call(this);this.steps=c||12;this.angle=e||2*Math.PI;for(var c=this.angle/this.steps,e=[],f=[],h=[],m=[],k=(new THREE.Matrix4).setRotationZ(c),n=0;n<b.length;n++)this.vertices.push(new THREE.Vertex(b[n])),e[n]=b[n].clone(),f[n]=this.vertices.length-1;for(var u=0;u<=this.angle+0.001;u+=c){for(n=0;n<e.length;n++)u<this.angle?(e[n]=k.multiplyVector3(e[n].clone()),this.vertices.push(new THREE.Vertex(e[n])),h[n]=this.vertices.length-1):h=m;u==0&&(m=f);
+for(n=0;n<f.length-1;n++)this.faces.push(new THREE.Face4(h[n],h[n+1],f[n+1],f[n])),this.faceVertexUvs[0].push([new THREE.UV(1-u/this.angle,n/b.length),new THREE.UV(1-u/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,n/b.length)]);f=h;h=[]}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=new THREE.Geometry;THREE.LatheGeometry.prototype.constructor=THREE.LatheGeometry;
+THREE.PlaneGeometry=function(b,c,e,f){THREE.Geometry.call(this);var h,m=b/2,k=c/2,e=e||1,f=f||1,n=e+1,u=f+1;b/=e;var p=c/f;for(h=0;h<u;h++)for(c=0;c<n;c++)this.vertices.push(new THREE.Vertex(new THREE.Vector3(c*b-m,-(h*p-k),0)));for(h=0;h<f;h++)for(c=0;c<e;c++)this.faces.push(new THREE.Face4(c+n*h,c+n*(h+1),c+1+n*(h+1),c+1+n*h)),this.faceVertexUvs[0].push([new THREE.UV(c/e,h/f),new THREE.UV(c/e,(h+1)/f),new THREE.UV((c+1)/e,(h+1)/f),new THREE.UV((c+1)/e,h/f)]);this.computeCentroids();this.computeFaceNormals()};
+THREE.PlaneGeometry.prototype=new THREE.Geometry;THREE.PlaneGeometry.prototype.constructor=THREE.PlaneGeometry;
+THREE.SphereGeometry=function(b,c,e){THREE.Geometry.call(this);for(var b=b||50,f,h=Math.PI,m=Math.max(3,c||8),k=Math.max(2,e||6),c=[],e=0;e<k+1;e++){f=e/k;var n=b*Math.cos(f*h),u=b*Math.sin(f*h),p=[],v=0;for(f=0;f<m;f++){var t=2*f/m,x=u*Math.sin(t*h),t=u*Math.cos(t*h);(e==0||e==k)&&f>0||(v=this.vertices.push(new THREE.Vertex(new THREE.Vector3(t,n,x)))-1);p.push(v)}c.push(p)}for(var w,z,y,h=c.length,e=0;e<h;e++)if(m=c[e].length,e>0)for(f=0;f<m;f++){p=f==m-1;k=c[e][p?0:f+1];n=c[e][p?m-1:f];u=c[e-1][p?
+m-1:f];p=c[e-1][p?0:f+1];x=e/(h-1);w=(e-1)/(h-1);z=(f+1)/m;var t=f/m,v=new THREE.UV(1-z,x),x=new THREE.UV(1-t,x),t=new THREE.UV(1-t,w),B=new THREE.UV(1-z,w);e<c.length-1&&(w=this.vertices[k].position.clone(),z=this.vertices[n].position.clone(),y=this.vertices[u].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,n,u,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,x,t]));e>1&&(w=
+this.vertices[k].position.clone(),z=this.vertices[u].position.clone(),y=this.vertices[p].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,u,p,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,t,B]))}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals();this.boundingSphere={radius:b}};THREE.SphereGeometry.prototype=new THREE.Geometry;
+THREE.SphereGeometry.prototype.constructor=THREE.SphereGeometry;
+THREE.TextGeometry=function(b,c){var e=(new THREE.TextPath(b,c)).toShapes();c.amount=c.height!==void 0?c.height:50;if(c.bevelThickness===void 0)c.bevelThickness=10;if(c.bevelSize===void 0)c.bevelSize=8;if(c.bevelEnabled===void 0)c.bevelEnabled=!1;if(c.bend){var f=e[e.length-1].getBoundingBox().maxX;c.bendPath=new THREE.QuadraticBezierCurve(new THREE.Vector2(0,0),new THREE.Vector2(f/2,120),new THREE.Vector2(f,0))}THREE.ExtrudeGeometry.call(this,e,c)};THREE.TextGeometry.prototype=new THREE.ExtrudeGeometry;
+THREE.TextGeometry.prototype.constructor=THREE.TextGeometry;
+THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},getTextShapes:function(b,c){return(new TextPath(b,c)).toShapes()},loadFace:function(b){var c=b.familyName.toLowerCase();this.faces[c]=this.faces[c]||{};this.faces[c][b.cssFontWeight]=this.faces[c][b.cssFontWeight]||{};this.faces[c][b.cssFontWeight][b.cssFontStyle]=b;return this.faces[c][b.cssFontWeight][b.cssFontStyle]=b},drawText:function(b){for(var c=
+this.getFace(),e=this.size/c.resolution,f=0,h=String(b).split(""),m=h.length,k=[],b=0;b<m;b++){var n=new THREE.Path,n=this.extractGlyphPoints(h[b],c,e,f,n);f+=n.offset;k.push(n.path)}return{paths:k,offset:f/2}},extractGlyphPoints:function(b,c,e,f,h){var m=[],k,n,u,p,v,t,x,w,z,y,B=c.glyphs[b]||c.glyphs[ctxt.options.fallbackCharacter];if(B){if(B.o){c=B._cachedOutline||(B._cachedOutline=B.o.split(" "));u=c.length;for(b=0;b<u;)switch(n=c[b++],n){case "m":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,
+p));h.moveTo(n,p);break;case "l":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,p));h.lineTo(n,p);break;case "q":n=c[b++]*e+f;p=c[b++]*e;x=c[b++]*e+f;w=c[b++]*e;h.quadraticCurveTo(x,w,n,p);if(k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++){var D=k/divisions,G=THREE.Shape.Utils.b2(D,v,x,n),D=THREE.Shape.Utils.b2(D,t,w,p);m.push(new THREE.Vector2(G,D))}}break;case "b":if(n=c[b++]*e+f,p=c[b++]*e,x=c[b++]*e+f,w=c[b++]*-e,z=c[b++]*e+f,y=c[b++]*-e,h.bezierCurveTo(n,p,
+x,w,z,y),k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++)D=k/divisions,G=THREE.Shape.Utils.b3(D,v,x,z,n),D=THREE.Shape.Utils.b3(D,t,w,y,p),m.push(new THREE.Vector2(G,D))}}}return{offset:B.ha*e,points:m,path:h}}}};
+(function(b){var c=function(b){for(var c=b.length,h=0,m=c-1,k=0;k<c;m=k++)h+=b[m].x*b[k].y-b[k].x*b[m].y;return h*0.5};b.Triangulate=function(b,f){var h=b.length;if(h<3)return null;var m=[],k=[],n=[],u,p,v;if(c(b)>0)for(p=0;p<h;p++)k[p]=p;else for(p=0;p<h;p++)k[p]=h-1-p;var t=2*h;for(p=h-1;h>2;){if(t--<=0){console.log("Warning, unable to triangulate polygon!");if(f)return n;return m}u=p;h<=u&&(u=0);p=u+1;h<=p&&(p=0);v=p+1;h<=v&&(v=0);var x;a:{x=b;var w=u,z=p,y=v,B=h,D=k,G=void 0,H=void 0,E=void 0,
+N=void 0,F=void 0,I=void 0,C=void 0,K=void 0,U=void 0,H=x[D[w]].x,E=x[D[w]].y,N=x[D[z]].x,F=x[D[z]].y,I=x[D[y]].x,C=x[D[y]].y;if(1.0E-10>(N-H)*(C-E)-(F-E)*(I-H))x=!1;else{for(G=0;G<B;G++)if(!(G==w||G==z||G==y)){var K=x[D[G]].x,U=x[D[G]].y,L=void 0,O=void 0,S=void 0,P=void 0,o=void 0,W=void 0,na=void 0,R=void 0,ia=void 0,aa=void 0,ma=void 0,fa=void 0,L=S=o=void 0,L=I-N,O=C-F,S=H-I,P=E-C,o=N-H,W=F-E,na=K-H,R=U-E,ia=K-N,aa=U-F,ma=K-I,fa=U-C,L=L*aa-O*ia,o=o*R-W*na,S=S*fa-P*ma;if(L>=0&&S>=0&&o>=0){x=!1;
+break a}}x=!0}}if(x){m.push([b[k[u]],b[k[p]],b[k[v]]]);n.push([k[u],k[p],k[v]]);u=p;for(v=p+1;v<h;u++,v++)k[u]=k[v];h--;t=2*h}}if(f)return n;return m};b.Triangulate.area=c;return b})(THREE.FontUtils);window._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};
+THREE.TorusGeometry=function(b,c,e,f,h){THREE.Geometry.call(this);this.radius=b||100;this.tube=c||40;this.segmentsR=e||8;this.segmentsT=f||6;this.arc=h||Math.PI*2;h=new THREE.Vector3;b=[];c=[];for(e=0;e<=this.segmentsR;e++)for(f=0;f<=this.segmentsT;f++){var m=f/this.segmentsT*this.arc,k=e/this.segmentsR*Math.PI*2;h.x=this.radius*Math.cos(m);h.y=this.radius*Math.sin(m);var n=new THREE.Vector3;n.x=(this.radius+this.tube*Math.cos(k))*Math.cos(m);n.y=(this.radius+this.tube*Math.cos(k))*Math.sin(m);n.z=
+this.tube*Math.sin(k);this.vertices.push(new THREE.Vertex(n));b.push(new THREE.UV(f/this.segmentsT,1-e/this.segmentsR));c.push(n.clone().subSelf(h).normalize())}for(e=1;e<=this.segmentsR;e++)for(f=1;f<=this.segmentsT;f++){var h=(this.segmentsT+1)*e+f-1,m=(this.segmentsT+1)*(e-1)+f-1,k=(this.segmentsT+1)*(e-1)+f,n=(this.segmentsT+1)*e+f,u=new THREE.Face4(h,m,k,n,[c[h],c[m],c[k],c[n]]);u.normal.addSelf(c[h]);u.normal.addSelf(c[m]);u.normal.addSelf(c[k]);u.normal.addSelf(c[n]);u.normal.normalize();this.faces.push(u);
+this.faceVertexUvs[0].push([b[h].clone(),b[m].clone(),b[k].clone(),b[n].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=new THREE.Geometry;THREE.TorusGeometry.prototype.constructor=THREE.TorusGeometry;
+THREE.TorusKnotGeometry=function(b,c,e,f,h,m,k){function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k*(2+e)*0.5*Math.cos(b),k*(2+e)*Math.sin(b)*0.5,h*k*Math.sin(c)*0.5)}THREE.Geometry.call(this);this.radius=b||200;this.tube=c||40;this.segmentsR=e||64;this.segmentsT=f||8;this.p=h||2;this.q=m||3;this.heightScale=k||1;this.grid=Array(this.segmentsR);e=new THREE.Vector3;f=new THREE.Vector3;m=new THREE.Vector3;for(b=0;b<this.segmentsR;++b){this.grid[b]=Array(this.segmentsT);for(c=0;c<
+this.segmentsT;++c){var u=b/this.segmentsR*2*this.p*Math.PI,k=c/this.segmentsT*2*Math.PI,h=n(u,k,this.q,this.p,this.radius,this.heightScale),u=n(u+0.01,k,this.q,this.p,this.radius,this.heightScale);e.x=u.x-h.x;e.y=u.y-h.y;e.z=u.z-h.z;f.x=u.x+h.x;f.y=u.y+h.y;f.z=u.z+h.z;m.cross(e,f);f.cross(m,e);m.normalize();f.normalize();u=-this.tube*Math.cos(k);k=this.tube*Math.sin(k);h.x+=u*f.x+k*m.x;h.y+=u*f.y+k*m.y;h.z+=u*f.z+k*m.z;this.grid[b][c]=this.vertices.push(new THREE.Vertex(new THREE.Vector3(h.x,h.y,
+h.z)))-1}}for(b=0;b<this.segmentsR;++b)for(c=0;c<this.segmentsT;++c){var f=(b+1)%this.segmentsR,m=(c+1)%this.segmentsT,h=this.grid[b][c],e=this.grid[f][c],f=this.grid[f][m],m=this.grid[b][m],k=new THREE.UV(b/this.segmentsR,c/this.segmentsT),u=new THREE.UV((b+1)/this.segmentsR,c/this.segmentsT),p=new THREE.UV((b+1)/this.segmentsR,(c+1)/this.segmentsT),v=new THREE.UV(b/this.segmentsR,(c+1)/this.segmentsT);this.faces.push(new THREE.Face4(h,e,f,m));this.faceVertexUvs[0].push([k,u,p,v])}this.computeCentroids();
+this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=new THREE.Geometry;THREE.TorusKnotGeometry.prototype.constructor=THREE.TorusKnotGeometry;THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
+THREE.Loader.prototype={addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/1E3).toFixed(2)+" KB";
+this.statusDomElement.innerHTML=c},extractUrlbase:function(b){b=b.split("/");b.pop();return b.join("/")},init_materials:function(b,c,e){b.materials=[];for(var f=0;f<c.length;++f)b.materials[f]=[THREE.Loader.prototype.createMaterial(c[f],e)]},hasNormals:function(b){var c,e,f=b.materials.length;for(e=0;e<f;e++)if(c=b.materials[e][0],c instanceof THREE.MeshShaderMaterial)return!0;return!1},createMaterial:function(b,c){function e(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==b}function f(b,c){var f=
+new Image;f.onload=function(){if(!e(this.width)||!e(this.height)){var c=Math.pow(2,Math.round(Math.log(this.width)/Math.LN2)),f=Math.pow(2,Math.round(Math.log(this.height)/Math.LN2));b.image.width=c;b.image.height=f;b.image.getContext("2d").drawImage(this,0,0,c,f)}else b.image=this;b.needsUpdate=!0};f.src=c}function h(b,e,k,h,m,n){var p=document.createElement("canvas");b[e]=new THREE.Texture(p);b[e].sourceFile=k;if(h){b[e].repeat.set(h[0],h[1]);if(h[0]!=1)b[e].wrapS=THREE.RepeatWrapping;if(h[1]!=
+1)b[e].wrapT=THREE.RepeatWrapping}m&&b[e].offset.set(m[0],m[1]);if(n){h={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(h[n[0]]!==void 0)b[e].wrapS=h[n[0]];if(h[n[1]]!==void 0)b[e].wrapT=h[n[1]]}f(b[e],c+"/"+k)}function m(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}var k,n,u;n="MeshLambertMaterial";k={color:15658734,opacity:1,map:null,lightMap:null,normalMap:null,wireframe:b.wireframe};b.shading&&(b.shading=="Phong"?n="MeshPhongMaterial":b.shading=="Basic"&&(n="MeshBasicMaterial"));
+if(b.blending)if(b.blending=="Additive")k.blending=THREE.AdditiveBlending;else if(b.blending=="Subtractive")k.blending=THREE.SubtractiveBlending;else if(b.blending=="Multiply")k.blending=THREE.MultiplyBlending;if(b.transparent!==void 0||b.opacity<1)k.transparent=b.transparent;if(b.depthTest!==void 0)k.depthTest=b.depthTest;if(b.vertexColors!==void 0)if(b.vertexColors=="face")k.vertexColors=THREE.FaceColors;else if(b.vertexColors)k.vertexColors=THREE.VertexColors;if(b.colorDiffuse)k.color=m(b.colorDiffuse);
+else if(b.DbgColor)k.color=b.DbgColor;if(b.colorSpecular)k.specular=m(b.colorSpecular);if(b.colorAmbient)k.ambient=m(b.colorAmbient);if(b.transparency)k.opacity=b.transparency;if(b.specularCoef)k.shininess=b.specularCoef;b.mapDiffuse&&c&&h(k,"map",b.mapDiffuse,b.mapDiffuseRepeat,b.mapDiffuseOffset,b.mapDiffuseWrap);b.mapLight&&c&&h(k,"lightMap",b.mapLight,b.mapLightRepeat,b.mapLightOffset,b.mapLightWrap);b.mapNormal&&c&&h(k,"normalMap",b.mapNormal,b.mapNormalRepeat,b.mapNormalOffset,b.mapNormalWrap);
+b.mapSpecular&&c&&h(k,"specularMap",b.mapSpecular,b.mapSpecularRepeat,b.mapSpecularOffset,b.mapSpecularWrap);if(b.mapNormal){var p=THREE.ShaderUtils.lib.normal,v=THREE.UniformsUtils.clone(p.uniforms),t=k.color;n=k.specular;u=k.ambient;var x=k.shininess;v.tNormal.texture=k.normalMap;if(b.mapNormalFactor)v.uNormalScale.value=b.mapNormalFactor;if(k.map)v.tDiffuse.texture=k.map,v.enableDiffuse.value=!0;if(k.specularMap)v.tSpecular.texture=k.specularMap,v.enableSpecular.value=!0;if(k.lightMap)v.tAO.texture=
+k.lightMap,v.enableAO.value=!0;v.uDiffuseColor.value.setHex(t);v.uSpecularColor.value.setHex(n);v.uAmbientColor.value.setHex(u);v.uShininess.value=x;if(k.opacity)v.uOpacity.value=k.opacity;k=new THREE.MeshShaderMaterial({fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:v,lights:!0,fog:!0})}else k=new THREE[n](k);return k},constructor:THREE.Loader};THREE.BinaryLoader=function(b){THREE.Loader.call(this,b)};THREE.BinaryLoader.prototype=new THREE.Loader;
+THREE.BinaryLoader.prototype.constructor=THREE.BinaryLoader;THREE.BinaryLoader.prototype.supr=THREE.Loader.prototype;
+THREE.BinaryLoader.prototype.load=function(b){var c=b.model,e=b.callback,f=b.texture_path?b.texture_path:THREE.Loader.prototype.extractUrlbase(c),h=b.bin_path?b.bin_path:THREE.Loader.prototype.extractUrlbase(c),b=(new Date).getTime(),c=new Worker(c),m=this.showProgress?THREE.Loader.prototype.updateProgress:null;c.onmessage=function(b){THREE.BinaryLoader.prototype.loadAjaxBuffers(b.data.buffers,b.data.materials,e,h,f,m)};c.onerror=function(b){alert("worker.onerror: "+b.message+"\n"+b.data);b.preventDefault()};
+c.postMessage(b)};
+THREE.BinaryLoader.prototype.loadAjaxBuffers=function(b,c,e,f,h,m){var k=new XMLHttpRequest,n=f+"/"+b,u=0;k.onreadystatechange=function(){k.readyState==4?k.status==200||k.status==0?THREE.BinaryLoader.prototype.createBinModel(k.responseText,e,h,c):alert("Couldn't load ["+n+"] ["+k.status+"]"):k.readyState==3?m&&(u==0&&(u=k.getResponseHeader("Content-Length")),m({total:u,loaded:k.responseText.length})):k.readyState==2&&(u=k.getResponseHeader("Content-Length"))};k.open("GET",n,!0);k.overrideMimeType("text/plain; charset=x-user-defined");
+k.setRequestHeader("Content-Type","text/plain");k.send(null)};
+THREE.BinaryLoader.prototype.createBinModel=function(b,c,e,f){var h=function(c){function e(b,c){var f=v(b,c),k=v(b,c+1),h=v(b,c+2),m=v(b,c+3),n=(m<<1&255|h>>7)-127;f|=(h&127)<<16|k<<8;if(f==0&&n==-127)return 0;return(1-2*(m>>7))*(1+f*Math.pow(2,-23))*Math.pow(2,n)}function h(b,c){var e=v(b,c),f=v(b,c+1),k=v(b,c+2);return(v(b,c+3)<<24)+(k<<16)+(f<<8)+e}function u(b,c){var e=v(b,c);return(v(b,c+1)<<8)+e}function p(b,c){var e=v(b,c);return e>127?e-256:e}function v(b,c){return b.charCodeAt(c)&255}function t(c){var e,
+f,k;e=h(b,c);f=h(b,c+F);k=h(b,c+I);c=u(b,c+C);D.faces.push(new THREE.Face3(e,f,k,null,null,D.materials[c]))}function x(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+F);k=h(b,c+I);m=u(b,c+C);o=h(b,c+K);p=h(b,c+U);c=h(b,c+L);m=D.materials[m];var t=E[p*3],v=E[p*3+1];p=E[p*3+2];var w=E[c*3],M=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face3(e,f,k,[new THREE.Vector3(E[o*3],E[o*3+1],E[o*3+2]),new THREE.Vector3(t,v,p),new THREE.Vector3(w,M,c)],null,m))}function w(c){var e,f,k,m;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,
+c+P);c=u(b,c+o);D.faces.push(new THREE.Face4(e,f,k,m,null,null,D.materials[c]))}function z(c){var e,f,k,m,p,t,v,w;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,c+P);p=u(b,c+o);t=h(b,c+W);v=h(b,c+na);w=h(b,c+R);c=h(b,c+ia);p=D.materials[p];var x=E[v*3],M=E[v*3+1];v=E[v*3+2];var y=E[w*3],T=E[w*3+1];w=E[w*3+2];var z=E[c*3],B=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face4(e,f,k,m,[new THREE.Vector3(E[t*3],E[t*3+1],E[t*3+2]),new THREE.Vector3(x,M,v),new THREE.Vector3(y,T,w),new THREE.Vector3(z,B,c)],null,p))}
+function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+aa);k=h(b,c+ma);c=N[e*2];m=N[e*2+1];e=N[f*2];var o=D.faceVertexUvs[0];f=N[f*2+1];var p=N[k*2];k=N[k*2+1];var t=[];t.push(new THREE.UV(c,m));t.push(new THREE.UV(e,f));t.push(new THREE.UV(p,k));o.push(t)}function B(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+fa);k=h(b,c+ga);m=h(b,c+da);c=N[e*2];o=N[e*2+1];e=N[f*2];p=N[f*2+1];f=N[k*2];var t=D.faceVertexUvs[0];k=N[k*2+1];var u=N[m*2];m=N[m*2+1];var v=[];v.push(new THREE.UV(c,o));v.push(new THREE.UV(e,p));v.push(new THREE.UV(f,
+k));v.push(new THREE.UV(u,m));t.push(v)}var D=this,G=0,H,E=[],N=[],F,I,C,K,U,L,O,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa;THREE.Geometry.call(this);THREE.Loader.prototype.init_materials(D,f,c);H={signature:b.substr(G,8),header_bytes:v(b,G+8),vertex_coordinate_bytes:v(b,G+9),normal_coordinate_bytes:v(b,G+10),uv_coordinate_bytes:v(b,G+11),vertex_index_bytes:v(b,G+12),normal_index_bytes:v(b,G+13),uv_index_bytes:v(b,G+14),material_index_bytes:v(b,G+15),nvertices:h(b,G+16),nnormals:h(b,G+16+4),nuvs:h(b,
+G+16+8),ntri_flat:h(b,G+16+12),ntri_smooth:h(b,G+16+16),ntri_flat_uv:h(b,G+16+20),ntri_smooth_uv:h(b,G+16+24),nquad_flat:h(b,G+16+28),nquad_smooth:h(b,G+16+32),nquad_flat_uv:h(b,G+16+36),nquad_smooth_uv:h(b,G+16+40)};G+=H.header_bytes;F=H.vertex_index_bytes;I=H.vertex_index_bytes*2;C=H.vertex_index_bytes*3;K=H.vertex_index_bytes*3+H.material_index_bytes;U=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes;L=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*2;O=H.vertex_index_bytes;
+S=H.vertex_index_bytes*2;P=H.vertex_index_bytes*3;o=H.vertex_index_bytes*4;W=H.vertex_index_bytes*4+H.material_index_bytes;na=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes;R=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*2;ia=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*3;aa=H.uv_index_bytes;ma=H.uv_index_bytes*2;fa=H.uv_index_bytes;ga=H.uv_index_bytes*2;da=H.uv_index_bytes*3;c=H.vertex_index_bytes*3+H.material_index_bytes;qa=H.vertex_index_bytes*
+4+H.material_index_bytes;$=H.ntri_flat*c;ca=H.ntri_smooth*(c+H.normal_index_bytes*3);X=H.ntri_flat_uv*(c+H.uv_index_bytes*3);ja=H.ntri_smooth_uv*(c+H.normal_index_bytes*3+H.uv_index_bytes*3);ea=H.nquad_flat*qa;c=H.nquad_smooth*(qa+H.normal_index_bytes*4);qa=H.nquad_flat_uv*(qa+H.uv_index_bytes*4);G+=function(c){for(var f,h,m,n=H.vertex_coordinate_bytes*3,o=c+H.nvertices*n;c<o;c+=n)f=e(b,c),h=e(b,c+H.vertex_coordinate_bytes),m=e(b,c+H.vertex_coordinate_bytes*2),D.vertices.push(new THREE.Vertex(new THREE.Vector3(f,
+h,m)));return H.nvertices*n}(G);G+=function(c){for(var e,f,k,h=H.normal_coordinate_bytes*3,m=c+H.nnormals*h;c<m;c+=h)e=p(b,c),f=p(b,c+H.normal_coordinate_bytes),k=p(b,c+H.normal_coordinate_bytes*2),E.push(e/127,f/127,k/127);return H.nnormals*h}(G);G+=function(c){for(var f,h,m=H.uv_coordinate_bytes*2,n=c+H.nuvs*m;c<n;c+=m)f=e(b,c),h=e(b,c+H.uv_coordinate_bytes),N.push(f,h);return H.nuvs*m}(G);$=G+$;ca=$+ca;X=ca+X;ja=X+ja;ea=ja+ea;c=ea+c;qa=c+qa;(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,
+f=e+H.uv_index_bytes*3,k=b+H.ntri_flat_uv*f;for(c=b;c<k;c+=f)t(c),y(c+e);return k-b})(ca);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=e+H.uv_index_bytes*3,k=b+H.ntri_smooth_uv*f;for(c=b;c<k;c+=f)x(c),y(c+e);return k-b})(X);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=e+H.uv_index_bytes*4,k=b+H.nquad_flat_uv*f;for(c=b;c<k;c+=f)w(c),B(c+e);return k-b})(c);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*
+4,f=e+H.uv_index_bytes*4,k=b+H.nquad_smooth_uv*f;for(c=b;c<k;c+=f)z(c),B(c+e);return k-b})(qa);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,f=b+H.ntri_flat*e;for(c=b;c<f;c+=e)t(c);return f-b})(G);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=b+H.ntri_smooth*e;for(c=b;c<f;c+=e)x(c);return f-b})($);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=b+H.nquad_flat*e;for(c=b;c<f;c+=e)w(c);return f-b})(ja);(function(b){var c,
+e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*4,f=b+H.nquad_smooth*e;for(c=b;c<f;c+=e)z(c);return f-b})(ea);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};h.prototype=new THREE.Geometry;h.prototype.constructor=h;c(new h(e))};
+var ColladaLoader=function(){function b(b,c,e){for(var b=$.evaluate(b,$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),f={},k=b.iterateNext(),h=0;k;){k=(new c).parse(k);if(k.id.length==0)k.id=e+h++;f[k.id]=k;k=b.iterateNext()}return f}function c(){var b=1E6,c=-b,e=0,f;for(f in qa)for(var k=qa[f],h=0;h<k.sampler.length;h++){var m=k.sampler[h];m.create();b=Math.min(b,m.startTime);c=Math.max(c,m.endTime);e=Math.max(e,m.input.length)}return{start:b,end:c,frames:e}}function e(b,c,f,k){b.world=b.world||
+new THREE.Matrix4;b.world.copy(b.matrix);if(b.channels&&b.channels.length){var h=b.channels[0].sampler.output[f];h instanceof THREE.Matrix4&&b.world.copy(h)}k&&b.world.multiply(k,b.world);c.push(b);for(k=0;k<b.nodes.length;k++)e(b.nodes[k],c,f,b.world)}function f(b,f,k){var h=V[f.url];if(!h||!h.skin)console.log("could not find skin controller!");else if(!f.skeleton||!f.skeleton.length)console.log("could not find the skeleton for the skin!");else{var m=c(),f=X.getChildById(f.skeleton[0],!0)||X.getChildBySid(f.skeleton[0],
+!0),n,o,p,t,v=new THREE.Vector3,u;for(n=0;n<b.vertices.length;n++)h.skin.bindShapeMatrix.multiplyVector3(b.vertices[n].position);for(k=0;k<m.frames;k++){var w=[],x=[];for(n=0;n<b.vertices.length;n++)x.push(new THREE.Vertex(new THREE.Vector3));e(f,w,k);n=w;o=h.skin;for(t=0;t<n.length;t++){p=n[t];u=-1;for(var y=0;y<o.joints.length;y++)if(p.sid==o.joints[y]){u=y;break}if(u>=0){y=o.invBindMatrices[u];p.invBindMatrix=y;p.skinningMatrix=new THREE.Matrix4;p.skinningMatrix.multiply(p.world,y);p.weights=[];
+for(y=0;y<o.weights.length;y++)for(var z=0;z<o.weights[y].length;z++){var B=o.weights[y][z];B.joint==u&&p.weights.push(B)}}else throw"could not find joint!";}for(n=0;n<w.length;n++)for(o=0;o<w[n].weights.length;o++)p=w[n].weights[o],t=p.index,p=p.weight,u=b.vertices[t],t=x[t],v.x=u.position.x,v.y=u.position.y,v.z=u.position.z,w[n].skinningMatrix.multiplyVector3(v),t.position.x+=v.x*p,t.position.y+=v.y*p,t.position.z+=v.z*p;b.morphTargets.push({name:"target_"+k,vertices:x})}}}function h(b){var c=new THREE.Object3D,
+e,k,m;c.name=b.id||"";c.matrixAutoUpdate=!1;c.matrix=b.matrix;for(m=0;m<b.controllers.length;m++){var n=V[b.controllers[m].url];switch(n.type){case "skin":if(pa[n.skin.source]){var o=new z;o.url=n.skin.source;o.instance_material=b.controllers[m].instance_material;b.geometries.push(o);e=b.controllers[m]}else if(V[n.skin.source]&&(k=n=V[n.skin.source],n.morph&&pa[n.morph.source]))o=new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o);break;case "morph":if(pa[n.morph.source])o=
+new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o),k=b.controllers[m];console.log("DAE: morph-controller partially supported.")}}for(m=0;m<b.geometries.length;m++){var n=b.geometries[m],o=n.instance_material,n=pa[n.url],p={},t=0,v;if(n&&n.mesh&&n.mesh.primitives){if(c.name.length==0)c.name=n.id;if(o)for(j=0;j<o.length;j++){v=o[j];var u=ra[va[v.target].instance_effect.url].shader;u.material.opacity=!u.material.opacity?1:u.material.opacity;v=p[v.symbol]=
+u.material;t++}o=v||new THREE.MeshLambertMaterial({color:14540253,shading:THREE.FlatShading});n=n.mesh.geometry3js;if(t>1){o=new THREE.MeshFaceMaterial;for(j=0;j<n.faces.length;j++)t=n.faces[j],t.materials=[p[t.daeMaterial]]}if(e!==void 0)f(n,e),o.morphTargets=!0,o=new THREE.SkinnedMesh(n,o),o.skeleton=e.skeleton,o.skinController=V[e.url],o.skinInstanceController=e,o.name="skin_"+za.length,za.push(o);else if(k!==void 0){p=n;t=k instanceof x?V[k.url]:k;if(!t||!t.morph)console.log("could not find morph controller!");
+else{t=t.morph;for(u=0;u<t.targets.length;u++){var w=pa[t.targets[u]];if(w.mesh&&w.mesh.primitives&&w.mesh.primitives.length)w=w.mesh.primitives[0].geometry,w.vertices.length===p.vertices.length&&p.morphTargets.push({name:"target_1",vertices:w.vertices})}p.morphTargets.push({name:"target_Z",vertices:p.vertices})}o.morphTargets=!0;o=new THREE.Mesh(n,o);o.name="morph_"+Aa.length;Aa.push(o)}else o=new THREE.Mesh(n,o);c.addChild(o)}}for(m=0;m<b.nodes.length;m++)c.addChild(h(b.nodes[m],b));return c}function m(){this.init_from=
+this.id=""}function k(){this.type=this.name=this.id="";this.morph=this.skin=null}function n(){this.weights=this.targets=this.source=this.method=null}function u(){this.source="";this.bindShapeMatrix=null;this.invBindMatrices=[];this.joints=[];this.weights=[]}function p(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Object3D}function v(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=[];this.transforms=[];this.geometries=[];this.channels=[];this.matrix=new THREE.Matrix4}function t(){this.type=
+this.sid="";this.data=[];this.matrix=new THREE.Matrix4}function x(){this.url="";this.skeleton=[];this.instance_material=[]}function w(){this.target=this.symbol=""}function z(){this.url="";this.instance_material=[]}function y(){this.id="";this.mesh=null}function B(b){this.geometry=b.id;this.primitives=[];this.geometry3js=this.vertices=null}function D(){}function G(){this.material="";this.count=0;this.inputs=[];this.vcount=null;this.p=[];this.geometry=new THREE.Geometry}function H(){this.source="";
+this.stride=this.count=0;this.params=[]}function E(){this.input={}}function N(){this.semantic="";this.offset=0;this.source="";this.set=0}function F(b){this.id=b;this.type=null}function I(){this.name=this.id="";this.instance_effect=null}function C(){this.color=new THREE.Color(0);this.color.setRGB(Math.random(),Math.random(),Math.random());this.color.a=1;this.texcoord=this.texture=null}function K(b,c){this.type=b;this.effect=c;this.material=null}function U(b){this.effect=b;this.format=this.init_from=
+null}function L(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter=this.wrap_t=this.wrap_s=this.source=null}function O(){this.name=this.id="";this.sampler=this.surface=this.shader=null}function S(){this.url=""}function P(){this.name=this.id="";this.source={};this.sampler=[];this.channel=[]}function o(b){this.animation=b;this.target=this.source="";this.member=this.arrIndices=this.arrSyntax=this.dotSyntax=this.sid=null}function W(b){this.id="";this.animation=b;this.inputs=[];this.endTime=
+this.startTime=this.interpolation=this.output=this.input=null;this.duration=0}function na(b){var c=b.getAttribute("id");if(ja[c]!=void 0)return ja[c];ja[c]=(new F(c)).parse(b);return ja[c]}function R(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADASchema";return null}function ia(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseFloat(b[e]));return c}function aa(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseInt(b[e],10));return c}function ma(b){return b.replace(/^\s+/,"").replace(/\s+$/,
+"").split(/\s+/)}function fa(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),10):e}function ga(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";return e}c=c||2;e=b.toString().split(".");for(e[1]=e.length>1?e[1].substr(0,c):"0";e[1].length<c;)e[1]+="0";return e.join(".")}function da(b,c){var e="";e+=ga(b.x,c)+",";e+=ga(b.y,c)+",";e+=ga(b.z,c);return e}var $=null,ca=null,X,ja={},ea={},qa={},V={},pa={},va={},ra={},sa,Ca=null,wa,Aa,za,Fa=THREE.SmoothShading;m.prototype.parse=function(b){this.id=
+b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeName=="init_from")this.init_from=e.textContent}return this};k.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.type="none";for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "skin":this.skin=(new u).parse(e);this.type=e.nodeName;break;case "morph":this.morph=(new n).parse(e),this.type=e.nodeName}}return this};n.prototype.parse=function(b){var c=
+{},e=[],f;this.method=b.getAttribute("method");this.source=b.getAttribute("source").replace(/^#/,"");for(f=0;f<b.childNodes.length;f++){var k=b.childNodes[f];if(k.nodeType==1)switch(k.nodeName){case "source":k=(new F).parse(k);c[k.id]=k;break;case "targets":e=this.parseInputs(k);break;default:console.log(k.nodeName)}}for(f=0;f<e.length;f++)switch(b=e[f],k=c[b.source],b.semantic){case "MORPH_TARGET":this.targets=k.read();break;case "MORPH_WEIGHT":this.weights=k.read()}return this};n.prototype.parseInputs=
+function(b){for(var c=[],e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":c.push((new N).parse(f))}}return c};u.prototype.parse=function(b){var c={},e,f;this.source=b.getAttribute("source").replace(/^#/,"");this.invBindMatrices=[];this.joints=[];this.weights=[];for(var k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(h.nodeType==1)switch(h.nodeName){case "bind_shape_matrix":h=ia(h.textContent);this.bindShapeMatrix=new THREE.Matrix4;this.bindShapeMatrix.set(h[0],
+h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]);break;case "source":h=(new F).parse(h);c[h.id]=h;break;case "joints":e=h;break;case "vertex_weights":f=h;break;default:console.log(h.nodeName)}}this.parseJoints(e,c);this.parseWeights(f,c);return this};u.prototype.parseJoints=function(b,c){for(var e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":var f=(new N).parse(f),k=c[f.source];if(f.semantic=="JOINT")this.joints=
+k.read();else if(f.semantic=="INV_BIND_MATRIX")this.invBindMatrices=k.read()}}};u.prototype.parseWeights=function(b,c){for(var e,f,k=[],h=0;h<b.childNodes.length;h++){var m=b.childNodes[h];if(m.nodeType==1)switch(m.nodeName){case "input":k.push((new N).parse(m));break;case "v":e=aa(m.textContent);break;case "vcount":f=aa(m.textContent)}}for(h=m=0;h<f.length;h++){for(var n=f[h],o=[],p=0;p<n;p++){for(var t={},u=0;u<k.length;u++){var v=k[u],w=e[m+v.offset];switch(v.semantic){case "JOINT":t.joint=w;break;
+case "WEIGHT":t.weight=c[v.source].data[w]}}o.push(t);m+=k.length}for(p=0;p<o.length;p++)o[p].index=h;this.weights.push(o)}};p.prototype.getChildById=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};p.prototype.getChildBySid=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};p.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");
+this.nodes=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "node":this.nodes.push((new v).parse(e))}}return this};v.prototype.getChannelForTransform=function(b){for(var c=0;c<this.channels.length;c++){var e=this.channels[c],f=e.target.split("/");f.shift();var k=f.shift(),h=k.indexOf(".")>=0,m=k.indexOf("(")>=0,n;if(h)f=k.split("."),k=f.shift(),f.shift();else if(m){n=k.split("(");k=n.shift();for(f=0;f<n.length;f++)n[f]=parseInt(n[f].replace(/\)/,
+""))}if(k==b)return e.info={sid:k,dotSyntax:h,arrSyntax:m,arrIndices:n},e}return null};v.prototype.getChildById=function(b,c){if(this.id==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};v.prototype.getChildBySid=function(b,c){if(this.sid==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};v.prototype.getTransformBySid=function(b){for(var c=0;c<this.transforms.length;c++)if(this.transforms[c].sid==
+b)return this.transforms[c];return null};v.prototype.parse=function(b){var c;this.id=b.getAttribute("id");this.sid=b.getAttribute("sid");this.name=b.getAttribute("name");this.type=b.getAttribute("type");this.type=this.type=="JOINT"?this.type:"NODE";this.nodes=[];this.transforms=[];this.geometries=[];this.controllers=[];this.matrix=new THREE.Matrix4;for(var e=0;e<b.childNodes.length;e++)if(c=b.childNodes[e],c.nodeType==1)switch(c.nodeName){case "node":this.nodes.push((new v).parse(c));break;case "instance_camera":break;
+case "instance_controller":this.controllers.push((new x).parse(c));break;case "instance_geometry":this.geometries.push((new z).parse(c));break;case "instance_light":break;case "instance_node":c=c.getAttribute("url").replace(/^#/,"");(c=$.evaluate(".//dae:library_nodes//dae:node[@id='"+c+"']",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&this.nodes.push((new v).parse(c));break;case "rotate":case "translate":case "scale":case "matrix":case "lookat":case "skew":this.transforms.push((new t).parse(c));
+break;case "extra":break;default:console.log(c.nodeName)}b=[];e=1E6;c=-1E6;for(var f in qa)for(var k=qa[f],h=0;h<k.channel.length;h++){var m=k.channel[h],n=k.sampler[h];f=m.target.split("/")[0];if(f==this.id)n.create(),m.sampler=n,e=Math.min(e,n.startTime),c=Math.max(c,n.endTime),b.push(m)}if(b.length)this.startTime=e,this.endTime=c;if((this.channels=b)&&this.channels.length){f=1E7;for(i=0;i<this.channels.length;i++){b=this.channels[i].sampler;for(e=0;e<b.input.length-1;e++)f=Math.min(f,b.input[e+
+1]-b.input[e])}e=[];for(b=this.startTime;b<this.endTime;b+=f){c=b;for(var k={},o=h=void 0,h=0;h<this.channels.length;h++)o=this.channels[h],k[o.sid]=o;m=new THREE.Matrix4;for(h=0;h<this.transforms.length;h++)if(n=this.transforms[h],o=k[n.sid],o!==void 0){for(var p=o.sampler,u,o=0;o<p.input.length-1;o++)if(p.input[o+1]>c){u=p.output[o];break}m=u!==void 0?u instanceof THREE.Matrix4?m.multiply(m,u):m.multiply(m,n.matrix):m.multiply(m,n.matrix)}else m=m.multiply(m,n.matrix);c=m;e.push({time:b,pos:[c.n14,
+c.n24,c.n34],rotq:[0,0,0,1],scl:[1,1,1]})}this.keys=e}this.updateMatrix();return this};v.prototype.updateMatrix=function(){this.matrix.identity();for(var b=0;b<this.transforms.length;b++)this.matrix.multiply(this.matrix,this.transforms[b].matrix)};t.prototype.parse=function(b){this.sid=b.getAttribute("sid");this.type=b.nodeName;this.data=ia(b.textContent);this.updateMatrix();return this};t.prototype.updateMatrix=function(){var b=0;this.matrix.identity();switch(this.type){case "matrix":this.matrix.set(this.data[0],
+this.data[1],this.data[2],this.data[3],this.data[4],this.data[5],this.data[6],this.data[7],this.data[8],this.data[9],this.data[10],this.data[11],this.data[12],this.data[13],this.data[14],this.data[15]);break;case "translate":this.matrix.setTranslation(this.data[0],this.data[1],this.data[2]);break;case "rotate":b=this.data[3]*(Math.PI/180);this.matrix.setRotationAxis(new THREE.Vector3(this.data[0],this.data[1],this.data[2]),b);break;case "scale":this.matrix.setScale(this.data[0],this.data[1],this.data[2])}return this.matrix};
+x.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.skeleton=[];this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "skeleton":this.skeleton.push(e.textContent.replace(/^#/,""));break;case "bind_material":if(e=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(var f=e.iterateNext();f;)this.instance_material.push((new w).parse(f)),f=e.iterateNext()}}return this};
+w.prototype.parse=function(b){this.symbol=b.getAttribute("symbol");this.target=b.getAttribute("target").replace(/^#/,"");return this};z.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1&&e.nodeName=="bind_material"){if(b=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(c=b.iterateNext();c;)this.instance_material.push((new w).parse(c)),
+c=b.iterateNext();break}}return this};y.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "mesh":this.mesh=(new B(this)).parse(e)}}return this};B.prototype.parse=function(b){function c(b,e){var f=da(b.position);k[f]===void 0&&(k[f]={v:b,index:e});return k[f]}this.primitives=[];var e;for(e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];switch(f.nodeName){case "source":na(f);break;case "vertices":this.vertices=
+(new E).parse(f);break;case "triangles":this.primitives.push((new G).parse(f));break;case "polygons":console.warn("polygon holes not yet supported!");case "polylist":this.primitives.push((new D).parse(f))}}var k={};this.geometry3js=new THREE.Geometry;f=ja[this.vertices.input.POSITION.source].data;for(b=e=0;e<f.length;e+=3,b++){var h=new THREE.Vertex(new THREE.Vector3(f[e],f[e+1],f[e+2]));c(h,b);this.geometry3js.vertices.push(h)}for(e=0;e<this.primitives.length;e++)primitive=this.primitives[e],primitive.setVertices(this.vertices),
+this.handlePrimitive(primitive,this.geometry3js,k);this.geometry3js.computeCentroids();this.geometry3js.computeFaceNormals();this.geometry3js.computeVertexNormals();this.geometry3js.computeBoundingBox();return this};B.prototype.handlePrimitive=function(b,c,e){var f=0,k,h,m=b.p,n=b.inputs,o,p,t,u=0,v=3,w=[];for(k=0;k<n.length;k++)o=n[k],o.semantic=="TEXCOORD"&&w.push(o.set);for(;f<m.length;){var x=[],y=[],z={};b.vcount&&(v=b.vcount[u++]);for(k=0;k<v;k++)for(h=0;h<n.length;h++)switch(o=n[h],source=
+ja[o.source],p=m[f+k*n.length+o.offset],numParams=source.accessor.params.length,t=p*numParams,o.semantic){case "VERTEX":o=da(c.vertices[p].position);x.push(e[o].index);break;case "NORMAL":y.push(new THREE.Vector3(source.data[t+0],source.data[t+1],source.data[t+2]));break;case "TEXCOORD":z[o.set]===void 0&&(z[o.set]=[]),z[o.set].push(new THREE.UV(source.data[t+0],source.data[t+1]))}h=new THREE.Face3(x[0],x[1],x[2],[y[0],y[1],y[2]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=
+z[w[h]],c.faceVertexUvs[h].push([o[0],o[1],o[2]]);if(v>3)for(k=2;k<x.length-1;k++){h=new THREE.Face3(x[0],x[k],x[k+1],[y[0],y[k],y[k+1]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=z[w[h]],c.faceVertexUvs[h].push([o[0],o[k],o[k+1]])}f+=n.length*v}};D.prototype=new G;D.prototype.constructor=D;G.prototype.setVertices=function(b){for(var c=0;c<this.inputs.length;c++)if(this.inputs[c].source==b.id)this.inputs[c].source=b.input.POSITION.source};G.prototype.parse=function(b){this.inputs=
+[];this.material=b.getAttribute("material");this.count=fa(b,"count",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "input":this.inputs.push((new N).parse(b.childNodes[c]));break;case "vcount":this.vcount=aa(e.textContent);break;case "p":this.p=aa(e.textContent)}}return this};H.prototype.parse=function(b){this.params=[];this.source=b.getAttribute("source");this.count=fa(b,"count",0);this.stride=fa(b,"stride",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];
+if(e.nodeName=="param"){var f={};f.name=e.getAttribute("name");f.type=e.getAttribute("type");this.params.push(f)}}return this};E.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++)b.childNodes[c].nodeName=="input"&&(input=(new N).parse(b.childNodes[c]),this.input[input.semantic]=input);return this};N.prototype.parse=function(b){this.semantic=b.getAttribute("semantic");this.source=b.getAttribute("source").replace(/^#/,"");this.set=fa(b,"set",-1);this.offset=
+fa(b,"offset",0);if(this.semantic=="TEXCOORD"&&this.set<0)this.set=0;return this};F.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "bool_array":for(var f=ma(e.textContent),k=[],h=0;h<f.length;h++)k.push(f[h]=="true"||f[h]=="1"?!0:!1);this.data=k;this.type=e.nodeName;break;case "float_array":this.data=ia(e.textContent);this.type=e.nodeName;break;case "int_array":this.data=aa(e.textContent);this.type=e.nodeName;
+break;case "IDREF_array":case "Name_array":this.data=ma(e.textContent);this.type=e.nodeName;break;case "technique_common":for(f=0;f<e.childNodes.length;f++)if(e.childNodes[f].nodeName=="accessor"){this.accessor=(new H).parse(e.childNodes[f]);break}}}return this};F.prototype.read=function(){var b=[],c=this.accessor.params[0];switch(c.type){case "IDREF":case "Name":case "float":return this.data;case "float4x4":for(c=0;c<this.data.length;c+=16){var e=this.data.slice(c,c+16),f=new THREE.Matrix4;f.set(e[0],
+e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);b.push(f)}break;default:console.log("Dae::Source:read dont know how to read "+c.type)}return b};I.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");for(var c=0;c<b.childNodes.length;c++)if(b.childNodes[c].nodeName=="instance_effect"){this.instance_effect=(new S).parse(b.childNodes[c]);break}return this};C.prototype.isColor=function(){return this.texture==null};C.prototype.isTexture=
+function(){return this.texture!=null};C.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "color":e=ia(e.textContent);this.color=new THREE.Color(0);this.color.setRGB(e[0],e[1],e[2]);this.color.a=e[3];break;case "texture":this.texture=e.getAttribute("texture"),this.texcoord=e.getAttribute("texcoord")}}return this};K.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==
+1)switch(e.nodeName){case "ambient":case "emission":case "diffuse":case "specular":case "transparent":this[e.nodeName]=(new C).parse(e);break;case "shininess":case "reflectivity":case "transparency":var f;f=$.evaluate(".//dae:float",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var k=f.iterateNext(),h=[];k;)h.push(k),k=f.iterateNext();f=h;f.length>0&&(this[e.nodeName]=parseFloat(f[0].textContent))}}this.create();return this};K.prototype.create=function(){var b={},c=this.transparency!==void 0&&
+this.transparency<1,e;for(e in this)switch(e){case "ambient":case "emission":case "diffuse":case "specular":var f=this[e];if(f instanceof C)if(f.isTexture()){if(this.effect.sampler&&this.effect.surface&&this.effect.sampler.source==this.effect.surface.sid&&(f=ea[this.effect.surface.init_from]))b.map=THREE.ImageUtils.loadTexture(wa+f.init_from),b.map.wrapS=THREE.RepeatWrapping,b.map.wrapT=THREE.RepeatWrapping,b.map.repeat.x=1,b.map.repeat.y=-1}else e=="diffuse"?b.color=f.color.getHex():c||(b[e]=f.color.getHex());
+break;case "shininess":case "reflectivity":b[e]=this[e];break;case "transparency":if(c)b.transparent=!0,b.opacity=this[e],c=!0}b.shading=Fa;return this.material=new THREE.MeshLambertMaterial(b)};U.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "init_from":this.init_from=e.textContent;break;case "format":this.format=e.textContent;break;default:console.log("unhandled Surface prop: "+e.nodeName)}}return this};L.prototype.parse=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":this.source=e.textContent;break;case "minfilter":this.minfilter=e.textContent;break;case "magfilter":this.magfilter=e.textContent;break;case "mipfilter":this.mipfilter=e.textContent;break;case "wrap_s":this.wrap_s=e.textContent;break;case "wrap_t":this.wrap_t=e.textContent;break;default:console.log("unhandled Sampler2D prop: "+e.nodeName)}}return this};O.prototype.create=function(){if(this.shader==
+null)return null};O.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.shader=null;for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "profile_COMMON":this.parseTechnique(this.parseProfileCOMMON(e))}}return this};O.prototype.parseNewparam=function(b){for(var c=b.getAttribute("sid"),e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "surface":this.surface=(new U(this)).parse(f);
+this.surface.sid=c;break;case "sampler2D":this.sampler=(new L(this)).parse(f);this.sampler.sid=c;break;case "extra":break;default:console.log(f.nodeName)}}};O.prototype.parseProfileCOMMON=function(b){for(var c,e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "profile_COMMON":this.parseProfileCOMMON(f);break;case "technique":c=f;break;case "newparam":this.parseNewparam(f);break;case "extra":break;default:console.log(f.nodeName)}}return c};O.prototype.parseTechnique=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "lambert":case "blinn":case "phong":this.shader=(new K(e.nodeName,this)).parse(e)}}};S.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");return this};P.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.source={};for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":e=
+(new F).parse(e);this.source[e.id]=e;break;case "sampler":this.sampler.push((new W(this)).parse(e));break;case "channel":this.channel.push((new o(this)).parse(e))}}return this};o.prototype.parse=function(b){this.source=b.getAttribute("source").replace(/^#/,"");this.target=b.getAttribute("target");var c=this.target.split("/");c.shift();var b=c.shift(),e=b.indexOf(".")>=0,f=b.indexOf("(")>=0,k,h;if(e)c=b.split("."),b=c.shift(),h=c.shift();else if(f){k=b.split("(");b=k.shift();for(c=0;c<k.length;c++)k[c]=
+parseInt(k[c].replace(/\)/,""))}this.sid=b;this.dotSyntax=e;this.arrSyntax=f;this.arrIndices=k;this.member=h;return this};W.prototype.parse=function(b){this.id=b.getAttribute("id");this.inputs=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "input":this.inputs.push((new N).parse(e))}}return this};W.prototype.create=function(){for(var b=0;b<this.inputs.length;b++){var c=this.inputs[b],e=this.animation.source[c.source];switch(c.semantic){case "INPUT":this.input=
+e.read();break;case "OUTPUT":this.output=e.read();break;case "INTERPOLATION":this.interpolation=e.read();break;case "IN_TANGENT":break;case "OUT_TANGENT":break;default:console.log(c.semantic)}}this.duration=this.endTime=this.startTime=0;if(this.input.length){this.startTime=1E8;this.endTime=-1E8;for(b=0;b<this.input.length;b++)this.startTime=Math.min(this.startTime,this.input[b]),this.endTime=Math.max(this.endTime,this.input[b]);this.duration=this.endTime-this.startTime}};return{load:function(e,f){if(document.implementation&&
+document.implementation.createDocument){document.implementation.createDocument("http://www.collada.org/2005/11/COLLADASchema","COLLADA",null);e+="?rnd="+Math.random();var n=new XMLHttpRequest;n.overrideMimeType&&n.overrideMimeType("text/xml");n.onreadystatechange=function(){if(n.readyState==4&&(n.status==0||n.status==200)){Ca=f;var o,t=e;$=n.responseXML;o=Ca;t!==void 0&&(t=t.split("/"),t.pop(),wa=t.join("/")+"/");ea=b("//dae:library_images/dae:image",m,"image");va=b("//dae:library_materials/dae:material",
+I,"material");ra=b("//dae:library_effects/dae:effect",O,"effect");pa=b("//dae:library_geometries/dae:geometry",y,"geometry");V=b("//dae:library_controllers/dae:controller",k,"controller");qa=b("//dae:library_animations/dae:animation",P,"animation");sa=b(".//dae:library_visual_scenes/dae:visual_scene",p,"visual_scene");Aa=[];za=[];(t=$.evaluate(".//dae:scene/dae:instance_visual_scene",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(t=t.getAttribute("url").replace(/^#/,""),X=sa[t]):
+X=null;ca=new THREE.Object3D;for(t=0;t<X.nodes.length;t++)ca.addChild(h(X.nodes[t]));c();for(var u in qa);u={scene:ca,morphs:Aa,skins:za,dae:{images:ea,materials:va,effects:ra,geometries:pa,controllers:V,animations:qa,visualScenes:sa,scene:X}};o&&o(u)}};n.open("GET",e,!0);n.send(null)}else alert("Don't know how to parse XML!")},setPreferredShading:function(b){Fa=b},applySkin:f,geometries:pa}};THREE.JSONLoader=function(b){THREE.Loader.call(this,b)};THREE.JSONLoader.prototype=new THREE.Loader;
+THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.supr=THREE.Loader.prototype;THREE.JSONLoader.prototype.load=function(b){var c=this,e=b.model,f=b.callback,h=b.texture_path?b.texture_path:this.extractUrlbase(e),b=new Worker(e);b.onmessage=function(b){c.createModel(b.data,f,h);c.onLoadComplete()};this.onLoadStart();b.postMessage((new Date).getTime())};
+THREE.JSONLoader.prototype.createModel=function(b,c,e){var f=new THREE.Geometry,h=b.scale!==void 0?1/b.scale:1;this.init_materials(f,b.materials,e);(function(c){if(b.version===void 0||b.version!=2)console.error("Deprecated file format.");else{var e,h,u,p,v,t,x,w,z,y,B,D,G,H,E=b.faces;t=b.vertices;var N=b.normals,F=b.colors,I=0;for(e=0;e<b.uvs.length;e++)b.uvs[e].length&&I++;for(e=0;e<I;e++)f.faceUvs[e]=[],f.faceVertexUvs[e]=[];p=0;for(v=t.length;p<v;)x=new THREE.Vertex,x.position.x=t[p++]*c,x.position.y=
+t[p++]*c,x.position.z=t[p++]*c,f.vertices.push(x);p=0;for(v=E.length;p<v;){c=E[p++];t=c&1;u=c&2;e=c&4;h=c&8;w=c&16;x=c&32;y=c&64;c&=128;t?(B=new THREE.Face4,B.a=E[p++],B.b=E[p++],B.c=E[p++],B.d=E[p++],t=4):(B=new THREE.Face3,B.a=E[p++],B.b=E[p++],B.c=E[p++],t=3);if(u)u=E[p++],B.materials=f.materials[u];u=f.faces.length;if(e)for(e=0;e<I;e++)D=b.uvs[e],z=E[p++],H=D[z*2],z=D[z*2+1],f.faceUvs[e][u]=new THREE.UV(H,z);if(h)for(e=0;e<I;e++){D=b.uvs[e];G=[];for(h=0;h<t;h++)z=E[p++],H=D[z*2],z=D[z*2+1],G[h]=
+new THREE.UV(H,z);f.faceVertexUvs[e][u]=G}if(w)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.normal=h;if(x)for(e=0;e<t;e++)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.vertexNormals.push(h);if(y)x=E[p++],x=new THREE.Color(F[x]),B.color=x;if(c)for(e=0;e<t;e++)x=E[p++],x=new THREE.Color(F[x]),B.vertexColors.push(x);f.faces.push(B)}}})(h);(function(){var c,e,h,u;if(b.skinWeights){c=0;for(e=b.skinWeights.length;c<e;c+=2)h=b.skinWeights[c],u=b.skinWeights[c+1],f.skinWeights.push(new THREE.Vector4(h,
+u,0,0))}if(b.skinIndices){c=0;for(e=b.skinIndices.length;c<e;c+=2)h=b.skinIndices[c],u=b.skinIndices[c+1],f.skinIndices.push(new THREE.Vector4(h,u,0,0))}f.bones=b.bones;f.animation=b.animation})();(function(c){if(b.morphTargets!==void 0){var e,h,u,p,v,t,x,w,z;e=0;for(h=b.morphTargets.length;e<h;e++){f.morphTargets[e]={};f.morphTargets[e].name=b.morphTargets[e].name;f.morphTargets[e].vertices=[];w=f.morphTargets[e].vertices;z=b.morphTargets[e].vertices;u=0;for(p=z.length;u<p;u+=3)v=z[u]*c,t=z[u+1]*
+c,x=z[u+2]*c,w.push(new THREE.Vertex(new THREE.Vector3(v,t,x)))}}if(b.morphColors!==void 0){e=0;for(h=b.morphColors.length;e<h;e++){f.morphColors[e]={};f.morphColors[e].name=b.morphColors[e].name;f.morphColors[e].colors=[];p=f.morphColors[e].colors;v=b.morphColors[e].colors;c=0;for(u=v.length;c<u;c+=3)t=new THREE.Color(16755200),t.setRGB(v[c],v[c+1],v[c+2]),p.push(t)}}})(h);(function(){if(b.edges!==void 0){var c,e,h;for(c=0;c<b.edges.length;c+=2)e=b.edges[c],h=b.edges[c+1],f.edges.push(new THREE.Edge(f.vertices[e],
+f.vertices[h],e,h))}})();f.computeCentroids();f.computeFaceNormals();this.hasNormals(f)&&f.computeTangents();c(f)};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){}};
+THREE.SceneLoader.prototype={load:function(b,c){var e=this,f=new Worker(b);f.postMessage(0);var h=THREE.Loader.prototype.extractUrlbase(b);f.onmessage=function(b){function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}function n(){for(w in O.objects)if(!R.objects[w])if(G=O.objects[w],G.geometry!==void 0){if(F=R.geometries[G.geometry]){var b=!1;U=[];for(aa=0;aa<G.materials.length;aa++)U[aa]=R.materials[G.materials[aa]],b=U[aa]instanceof THREE.MeshShaderMaterial;b&&F.computeTangents();H=G.position;r=
+G.rotation;q=G.quaternion;s=G.scale;q=0;U.length==0&&(U[0]=new THREE.MeshFaceMaterial);U.length>1&&(U=[new THREE.MeshFaceMaterial]);object=new THREE.Mesh(F,U);object.name=w;object.position.set(H[0],H[1],H[2]);q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]);object.scale.set(s[0],s[1],s[2]);object.visible=G.visible;R.scene.addObject(object);R.objects[w]=object;G.meshCollider&&(b=THREE.CollisionUtils.MeshColliderWBox(object),R.scene.collisions.colliders.push(b));
+if(G.castsShadow)b=new THREE.ShadowVolume(F),R.scene.addChild(b),b.position=object.position,b.rotation=object.rotation,b.scale=object.scale;G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}}else H=G.position,r=G.rotation,q=G.quaternion,s=G.scale,q=0,object=new THREE.Object3D,object.name=w,object.position.set(H[0],H[1],H[2]),q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]),object.scale.set(s[0],
+s[1],s[2]),object.visible=G.visible!==void 0?G.visible:!1,R.scene.addObject(object),R.objects[w]=object,R.empties[w]=object,G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}function u(b){return function(c){R.geometries[b]=c;n();P-=1;e.onLoadComplete();v()}}function p(b){return function(c){R.geometries[b]=c}}function v(){e.callbackProgress({totalModels:W,totalTextures:na,loadedModels:W-P,loadedTextures:na-o},R);e.onLoadProgress();P==0&&o==0&&c(R)}
+var t,x,w,z,y,B,D,G,H,E,N,F,I,C,K,U,L,O,S,P,o,W,na,R;O=b.data;K=new THREE.BinaryLoader;S=new THREE.JSONLoader;o=P=0;R={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},triggers:{},empties:{}};b=!1;for(w in O.objects)if(G=O.objects[w],G.meshCollider){b=!0;break}if(b)R.scene.collisions=new THREE.CollisionSystem;if(O.transform){b=O.transform.position;E=O.transform.rotation;var ia=O.transform.scale;b&&R.scene.position.set(b[0],b[1],b[2]);E&&R.scene.rotation.set(E[0],
+E[1],E[2]);ia&&R.scene.scale.set(ia[0],ia[1],ia[2]);(b||E||ia)&&R.scene.updateMatrix()}b=function(){o-=1;v();e.onLoadComplete()};for(y in O.cameras){E=O.cameras[y];if(E.type=="perspective")I=new THREE.Camera(E.fov,E.aspect,E.near,E.far);else if(E.type=="ortho")I=new THREE.Camera,I.projectionMatrix=THREE.Matrix4.makeOrtho(E.left,E.right,E.top,E.bottom,E.near,E.far);H=E.position;E=E.target;I.position.set(H[0],H[1],H[2]);I.target.position.set(E[0],E[1],E[2]);R.cameras[y]=I}for(z in O.lights)y=O.lights[z],
+I=y.color!==void 0?y.color:16777215,E=y.intensity!==void 0?y.intensity:1,y.type=="directional"?(H=y.direction,L=new THREE.DirectionalLight(I,E),L.position.set(H[0],H[1],H[2]),L.position.normalize()):y.type=="point"?(H=y.position,d=y.distance,L=new THREE.PointLight(I,E,d),L.position.set(H[0],H[1],H[2])):y.type=="ambient"&&(L=new THREE.AmbientLight(I)),R.scene.addLight(L),R.lights[z]=L;for(B in O.fogs)z=O.fogs[B],z.type=="linear"?C=new THREE.Fog(0,z.near,z.far):z.type=="exp2"&&(C=new THREE.FogExp2(0,
+z.density)),E=z.color,C.color.setRGB(E[0],E[1],E[2]),R.fogs[B]=C;if(R.cameras&&O.defaults.camera)R.currentCamera=R.cameras[O.defaults.camera];if(R.fogs&&O.defaults.fog)R.scene.fog=R.fogs[O.defaults.fog];E=O.defaults.bgcolor;R.bgColor=new THREE.Color;R.bgColor.setRGB(E[0],E[1],E[2]);R.bgColorAlpha=O.defaults.bgalpha;for(t in O.geometries)if(B=O.geometries[t],B.type=="bin_mesh"||B.type=="ascii_mesh")P+=1,e.onLoadStart();W=P;for(t in O.geometries)B=O.geometries[t],B.type=="cube"?(F=new THREE.CubeGeometry(B.width,
+B.height,B.depth,B.segmentsWidth,B.segmentsHeight,B.segmentsDepth,null,B.flipped,B.sides),R.geometries[t]=F):B.type=="plane"?(F=new THREE.PlaneGeometry(B.width,B.height,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="sphere"?(F=new THREE.SphereGeometry(B.radius,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="cylinder"?(F=new THREE.CylinderGeometry(B.numSegs,B.topRad,B.botRad,B.height,B.topOffset,B.botOffset),R.geometries[t]=F):B.type=="torus"?(F=new THREE.TorusGeometry(B.radius,
+B.tube,B.segmentsR,B.segmentsT),R.geometries[t]=F):B.type=="icosahedron"?(F=new THREE.IcosahedronGeometry(B.subdivisions),R.geometries[t]=F):B.type=="bin_mesh"?K.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="ascii_mesh"?S.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="embedded_mesh"&&(B=O.embeds[B.id])&&S.createModel(B,p(t),"");for(D in O.textures)if(t=O.textures[D],t.url instanceof Array){o+=t.url.length;for(K=0;K<t.url.length;K++)e.onLoadStart()}else o+=1,e.onLoadStart();
+na=o;for(D in O.textures){t=O.textures[D];if(t.mapping!=void 0&&THREE[t.mapping]!=void 0)t.mapping=new THREE[t.mapping];if(t.url instanceof Array){K=[];for(var aa=0;aa<t.url.length;aa++)K[aa]=f(t.url[aa],O.urlBaseType);K=THREE.ImageUtils.loadTextureCube(K,t.mapping,b)}else{K=THREE.ImageUtils.loadTexture(f(t.url,O.urlBaseType),t.mapping,b);if(THREE[t.minFilter]!=void 0)K.minFilter=THREE[t.minFilter];if(THREE[t.magFilter]!=void 0)K.magFilter=THREE[t.magFilter];if(t.repeat){K.repeat.set(t.repeat[0],
+t.repeat[1]);if(t.repeat[0]!=1)K.wrapS=THREE.RepeatWrapping;if(t.repeat[1]!=1)K.wrapT=THREE.RepeatWrapping}t.offset&&K.offset.set(t.offset[0],t.offset[1]);if(t.wrap){S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(S[t.wrap[0]]!==void 0)K.wrapS=S[t.wrap[0]];if(S[t.wrap[1]]!==void 0)K.wrapT=S[t.wrap[1]]}}R.textures[D]=K}for(x in O.materials){D=O.materials[x];for(N in D.parameters)if(N=="envMap"||N=="map"||N=="lightMap")D.parameters[N]=R.textures[D.parameters[N]];else if(N=="shading")D.parameters[N]=
+D.parameters[N]=="flat"?THREE.FlatShading:THREE.SmoothShading;else if(N=="blending")D.parameters[N]=THREE[D.parameters[N]]?THREE[D.parameters[N]]:THREE.NormalBlending;else if(N=="combine")D.parameters[N]=D.parameters[N]=="MixOperation"?THREE.MixOperation:THREE.MultiplyOperation;else if(N=="vertexColors")if(D.parameters[N]=="face")D.parameters[N]=THREE.FaceColors;else if(D.parameters[N])D.parameters[N]=THREE.VertexColors;if(D.parameters.opacity!==void 0&&D.parameters.opacity<1)D.parameters.transparent=
+!0;if(D.parameters.normalMap){t=THREE.ShaderUtils.lib.normal;b=THREE.UniformsUtils.clone(t.uniforms);K=D.parameters.color;S=D.parameters.specular;B=D.parameters.ambient;C=D.parameters.shininess;b.tNormal.texture=R.textures[D.parameters.normalMap];if(D.parameters.normalMapFactor)b.uNormalScale.value=D.parameters.normalMapFactor;if(D.parameters.map)b.tDiffuse.texture=D.parameters.map,b.enableDiffuse.value=!0;if(D.parameters.lightMap)b.tAO.texture=D.parameters.lightMap,b.enableAO.value=!0;if(D.parameters.specularMap)b.tSpecular.texture=
+R.textures[D.parameters.specularMap],b.enableSpecular.value=!0;b.uDiffuseColor.value.setHex(K);b.uSpecularColor.value.setHex(S);b.uAmbientColor.value.setHex(B);b.uShininess.value=C;if(D.parameters.opacity)b.uOpacity.value=D.parameters.opacity;D=new THREE.MeshShaderMaterial({fragmentShader:t.fragmentShader,vertexShader:t.vertexShader,uniforms:b,lights:!0,fog:!0})}else D=new THREE[D.type](D.parameters);R.materials[x]=D}n();e.callbackSync(R)}},constructor:THREE.SceneLoader};THREE.UTF8Loader=function(){};
+THREE.UTF8Loader.prototype=new THREE.UTF8Loader;THREE.UTF8Loader.prototype.constructor=THREE.UTF8Loader;
+THREE.UTF8Loader.prototype.load=function(b){var c=new XMLHttpRequest,e=b.model,f=b.callback,h=b.scale!==void 0?b.scale:1,m=b.offsetX!==void 0?b.offsetX:0,k=b.offsetY!==void 0?b.offsetY:0,n=b.offsetZ!==void 0?b.offsetZ:0;c.onreadystatechange=function(){c.readyState==4?c.status==200||c.status==0?THREE.UTF8Loader.prototype.createModel(c.responseText,f,h,m,k,n):alert("Couldn't load ["+e+"] ["+c.status+"]"):c.readyState!=3&&c.readyState==2&&c.getResponseHeader("Content-Length")};c.open("GET",e,!0);c.send(null)};
+THREE.UTF8Loader.prototype.decompressMesh=function(b){var c=b.charCodeAt(0);c>=57344&&(c-=2048);c++;for(var e=new Float32Array(8*c),f=1,h=0;h<8;h++){for(var m=0,k=0;k<c;++k){var n=b.charCodeAt(k+f);m+=n>>1^-(n&1);e[8*k+h]=m}f+=c}c=b.length-f;m=new Uint16Array(c);for(h=k=0;h<c;h++)n=b.charCodeAt(h+f),m[h]=k-n,n==0&&k++;return[e,m]};
+THREE.UTF8Loader.prototype.createModel=function(b,c,e,f,h,m){var k=function(){var c=this;c.materials=[];THREE.Geometry.call(this);var k=THREE.UTF8Loader.prototype.decompressMesh(b),p=[],v=[];(function(b,k,p){for(var u,v,B,D=b.length;p<D;p+=k)u=b[p],v=b[p+1],B=b[p+2],u=u/16383*e,v=v/16383*e,B=B/16383*e,u+=f,v+=h,B+=m,c.vertices.push(new THREE.Vertex(new THREE.Vector3(u,v,B)))})(k[0],8,0);(function(b,c,e){for(var f,h,k=b.length;e<k;e+=c)f=b[e],h=b[e+1],f/=1023,h/=1023,v.push(f,h)})(k[0],8,3);(function(b,
+c,e){for(var f,h,k,m=b.length;e<m;e+=c)f=b[e],h=b[e+1],k=b[e+2],f=(f-512)/511,h=(h-512)/511,k=(k-512)/511,p.push(f,h,k)})(k[0],8,5);(function(b){var e,f,h,k,m,u,G,H,E,N=b.length;for(e=0;e<N;e+=3){f=b[e];h=b[e+1];k=b[e+2];m=c;H=f;E=h;u=k;G=f;var F=h,I=k,C=m.materials[0],K=p[F*3],U=p[F*3+1],F=p[F*3+2],L=p[I*3],O=p[I*3+1],I=p[I*3+2];G=new THREE.Vector3(p[G*3],p[G*3+1],p[G*3+2]);F=new THREE.Vector3(K,U,F);I=new THREE.Vector3(L,O,I);m.faces.push(new THREE.Face3(H,E,u,[G,F,I],null,C));m=v[f*2];f=v[f*2+
+1];u=v[h*2];G=v[h*2+1];H=v[k*2];E=v[k*2+1];k=c.faceVertexUvs[0];h=u;u=G;G=[];G.push(new THREE.UV(m,f));G.push(new THREE.UV(h,u));G.push(new THREE.UV(H,E));k.push(G)}})(k[1]);this.computeCentroids();this.computeFaceNormals()};k.prototype=new THREE.Geometry;k.prototype.constructor=k;c(new k)};
+THREE.MarchingCubes=function(b,c){THREE.Object3D.call(this);this.materials=c instanceof Array?c:[c];this.init=function(b){this.isolation=80;this.size=b;this.size2=this.size*this.size;this.size3=this.size2*this.size;this.halfsize=this.size/2;this.delta=2/this.size;this.yd=this.size;this.zd=this.size2;this.field=new Float32Array(this.size3);this.normal_cache=new Float32Array(this.size3*3);this.vlist=new Float32Array(36);this.nlist=new Float32Array(36);this.firstDraw=!0;this.maxCount=4096;this.count=
+0;this.hasNormal=this.hasPos=!1;this.positionArray=new Float32Array(this.maxCount*3);this.normalArray=new Float32Array(this.maxCount*3)};this.lerp=function(b,c,h){return b+(c-b)*h};this.VIntX=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n+k*this.delta;c[m+1]=u;c[m+2]=p;h[m]=this.lerp(v[b],v[b+3],k);h[m+1]=this.lerp(v[b+1],v[b+4],k);h[m+2]=this.lerp(v[b+2],v[b+5],k)};this.VIntY=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u+k*this.delta;c[m+
+2]=p;c=b+this.yd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.VIntZ=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u;c[m+2]=p+k*this.delta;c=b+this.zd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.compNorm=function(b){var c=b*3;this.normal_cache[c]==0&&(this.normal_cache[c]=this.field[b-1]-this.field[b+1],this.normal_cache[c+1]=this.field[b-this.yd]-this.field[b+
+this.yd],this.normal_cache[c+2]=this.field[b-this.zd]-this.field[b+this.zd])};this.polygonize=function(b,c,h,m,k,n){var u=m+1,p=m+this.yd,v=m+this.zd,t=u+this.yd,x=u+this.zd,w=m+this.yd+this.zd,z=u+this.yd+this.zd,y=0,B=this.field[m],D=this.field[u],G=this.field[p],H=this.field[t],E=this.field[v],N=this.field[x],F=this.field[w],I=this.field[z];B<k&&(y|=1);D<k&&(y|=2);G<k&&(y|=8);H<k&&(y|=4);E<k&&(y|=16);N<k&&(y|=32);F<k&&(y|=128);I<k&&(y|=64);var C=THREE.edgeTable[y];if(C==0)return 0;var K=this.delta,
+U=b+K,L=c+K,K=h+K;C&1&&(this.compNorm(m),this.compNorm(u),this.VIntX(m*3,this.vlist,this.nlist,0,k,b,c,h,B,D));C&2&&(this.compNorm(u),this.compNorm(t),this.VIntY(u*3,this.vlist,this.nlist,3,k,U,c,h,D,H));C&4&&(this.compNorm(p),this.compNorm(t),this.VIntX(p*3,this.vlist,this.nlist,6,k,b,L,h,G,H));C&8&&(this.compNorm(m),this.compNorm(p),this.VIntY(m*3,this.vlist,this.nlist,9,k,b,c,h,B,G));C&16&&(this.compNorm(v),this.compNorm(x),this.VIntX(v*3,this.vlist,this.nlist,12,k,b,c,K,E,N));C&32&&(this.compNorm(x),
+this.compNorm(z),this.VIntY(x*3,this.vlist,this.nlist,15,k,U,c,K,N,I));C&64&&(this.compNorm(w),this.compNorm(z),this.VIntX(w*3,this.vlist,this.nlist,18,k,b,L,K,F,I));C&128&&(this.compNorm(v),this.compNorm(w),this.VIntY(v*3,this.vlist,this.nlist,21,k,b,c,K,E,F));C&256&&(this.compNorm(m),this.compNorm(v),this.VIntZ(m*3,this.vlist,this.nlist,24,k,b,c,h,B,E));C&512&&(this.compNorm(u),this.compNorm(x),this.VIntZ(u*3,this.vlist,this.nlist,27,k,U,c,h,D,N));C&1024&&(this.compNorm(t),this.compNorm(z),this.VIntZ(t*
+3,this.vlist,this.nlist,30,k,U,L,h,H,I));C&2048&&(this.compNorm(p),this.compNorm(w),this.VIntZ(p*3,this.vlist,this.nlist,33,k,b,L,h,G,F));y<<=4;for(k=m=0;THREE.triTable[y+k]!=-1;)b=y+k,c=b+1,h=b+2,this.posnormtriv(this.vlist,this.nlist,3*THREE.triTable[b],3*THREE.triTable[c],3*THREE.triTable[h],n),k+=3,m++;return m};this.posnormtriv=function(b,c,h,m,k,n){var u=this.count*3;this.positionArray[u]=b[h];this.positionArray[u+1]=b[h+1];this.positionArray[u+2]=b[h+2];this.positionArray[u+3]=b[m];this.positionArray[u+
+4]=b[m+1];this.positionArray[u+5]=b[m+2];this.positionArray[u+6]=b[k];this.positionArray[u+7]=b[k+1];this.positionArray[u+8]=b[k+2];this.normalArray[u]=c[h];this.normalArray[u+1]=c[h+1];this.normalArray[u+2]=c[h+2];this.normalArray[u+3]=c[m];this.normalArray[u+4]=c[m+1];this.normalArray[u+5]=c[m+2];this.normalArray[u+6]=c[k];this.normalArray[u+7]=c[k+1];this.normalArray[u+8]=c[k+2];this.hasNormal=this.hasPos=!0;this.count+=3;this.count>=this.maxCount-3&&n(this)};this.begin=function(){this.count=0;
+this.hasNormal=this.hasPos=!1};this.end=function(b){if(this.count!=0){for(var c=this.count*3;c<this.positionArray.length;c++)this.positionArray[c]=0;b(this)}};this.addBall=function(b,c,h,m,k){var n=this.size*Math.sqrt(m/k),u=h*this.size,p=c*this.size,v=b*this.size,t=Math.floor(u-n);t<1&&(t=1);u=Math.floor(u+n);u>this.size-1&&(u=this.size-1);var x=Math.floor(p-n);x<1&&(x=1);p=Math.floor(p+n);p>this.size-1&&(p=this.size-1);var w=Math.floor(v-n);w<1&&(w=1);n=Math.floor(v+n);n>this.size-1&&(n=this.size-
+1);for(var z,y,B,D,G,H;t<u;t++){v=this.size2*t;y=t/this.size-h;G=y*y;for(y=x;y<p;y++){B=v+this.size*y;z=y/this.size-c;H=z*z;for(z=w;z<n;z++)D=z/this.size-b,D=m/(1.0E-6+D*D+H+G)-k,D>0&&(this.field[B+z]+=D)}}};this.addPlaneX=function(b,c){var h,m,k,n,u,p=this.size,v=this.yd,t=this.zd,x=this.field,w=p*Math.sqrt(b/c);w>p&&(w=p);for(h=0;h<w;h++)if(m=h/p,m*=m,n=b/(1.0E-4+m)-c,n>0)for(m=0;m<p;m++){u=h+m*v;for(k=0;k<p;k++)x[t*k+u]+=n}};this.addPlaneY=function(b,c){var h,m,k,n,u,p,v=this.size,t=this.yd,x=
+this.zd,w=this.field,z=v*Math.sqrt(b/c);z>v&&(z=v);for(m=0;m<z;m++)if(h=m/v,h*=h,n=b/(1.0E-4+h)-c,n>0){u=m*t;for(h=0;h<v;h++){p=u+h;for(k=0;k<v;k++)w[x*k+p]+=n}}};this.addPlaneZ=function(b,c){var h,m,k,n,u,p;size=this.size;yd=this.yd;zd=this.zd;field=this.field;dist=size*Math.sqrt(b/c);dist>size&&(dist=size);for(k=0;k<dist;k++)if(h=k/size,h*=h,n=b/(1.0E-4+h)-c,n>0){u=zd*k;for(m=0;m<size;m++){p=u+m*yd;for(h=0;h<size;h++)field[p+h]+=n}}};this.reset=function(){var b;for(b=0;b<this.size3;b++)this.normal_cache[b*
+3]=0,this.field[b]=0};this.render=function(b){this.begin();var c,h,m,k,n,u,p,v,t,x=this.size-2;for(k=1;k<x;k++){t=this.size2*k;p=(k-this.halfsize)/this.halfsize;for(m=1;m<x;m++){v=t+this.size*m;u=(m-this.halfsize)/this.halfsize;for(h=1;h<x;h++)n=(h-this.halfsize)/this.halfsize,c=v+h,this.polygonize(n,u,p,c,this.isolation,b)}}this.end(b)};this.generateGeometry=function(){var b=0,c=new THREE.Geometry,h=[];this.render(function(m){var k,n,u,p,v,t,x,w;for(k=0;k<m.count;k++)x=k*3,v=x+1,w=x+2,n=m.positionArray[x],
+u=m.positionArray[v],p=m.positionArray[w],t=new THREE.Vector3(n,u,p),n=m.normalArray[x],u=m.normalArray[v],p=m.normalArray[w],x=new THREE.Vector3(n,u,p),x.normalize(),v=new THREE.Vertex(t),c.vertices.push(v),h.push(x);nfaces=m.count/3;for(k=0;k<nfaces;k++)x=(b+k)*3,v=x+1,w=x+2,t=h[x],n=h[v],u=h[w],x=new THREE.Face3(x,v,w,[t,n,u]),c.faces.push(x);b+=nfaces;m.count=0});return c};this.init(b)};THREE.MarchingCubes.prototype=new THREE.Object3D;THREE.MarchingCubes.prototype.constructor=THREE.MarchingCubes;
+THREE.edgeTable=new Int32Array([0,265,515,778,1030,1295,1541,1804,2060,2309,2575,2822,3082,3331,3593,3840,400,153,915,666,1430,1183,1941,1692,2460,2197,2975,2710,3482,3219,3993,3728,560,825,51,314,1590,1855,1077,1340,2620,2869,2111,2358,3642,3891,3129,3376,928,681,419,170,1958,1711,1445,1196,2988,2725,2479,2214,4010,3747,3497,3232,1120,1385,1635,1898,102,367,613,876,3180,3429,3695,3942,2154,2403,2665,2912,1520,1273,2035,1786,502,255,1013,764,3580,3317,4095,3830,2554,2291,3065,2800,1616,1881,1107,
+1370,598,863,85,348,3676,3925,3167,3414,2650,2899,2137,2384,1984,1737,1475,1226,966,719,453,204,4044,3781,3535,3270,3018,2755,2505,2240,2240,2505,2755,3018,3270,3535,3781,4044,204,453,719,966,1226,1475,1737,1984,2384,2137,2899,2650,3414,3167,3925,3676,348,85,863,598,1370,1107,1881,1616,2800,3065,2291,2554,3830,4095,3317,3580,764,1013,255,502,1786,2035,1273,1520,2912,2665,2403,2154,3942,3695,3429,3180,876,613,367,102,1898,1635,1385,1120,3232,3497,3747,4010,2214,2479,2725,2988,1196,1445,1711,1958,170,
+419,681,928,3376,3129,3891,3642,2358,2111,2869,2620,1340,1077,1855,1590,314,51,825,560,3728,3993,3219,3482,2710,2975,2197,2460,1692,1941,1183,1430,666,915,153,400,3840,3593,3331,3082,2822,2575,2309,2060,1804,1541,1295,1030,778,515,265,0]);
+THREE.triTable=new Int32Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,9,8,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,2,10,0,2,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,8,3,2,10,8,10,9,8,-1,-1,-1,-1,-1,-1,-1,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,8,11,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,11,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,-1,1,11,2,1,9,11,9,8,11,-1,-1,-1,-1,-1,-1,-1,3,10,1,11,10,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,10,1,0,8,10,8,11,10,-1,-1,-1,-1,-1,-1,-1,3,9,0,3,11,9,11,10,9,-1,-1,-1,-1,-1,-1,-1,9,8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,7,3,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,1,9,4,7,1,7,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,4,7,3,0,4,1,2,10,-1,-1,-1,-1,-1,-1,-1,9,2,10,9,0,2,8,4,7,
+-1,-1,-1,-1,-1,-1,-1,2,10,9,2,9,7,2,7,3,7,9,4,-1,-1,-1,-1,8,4,7,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,4,7,11,2,4,2,0,4,-1,-1,-1,-1,-1,-1,-1,9,0,1,8,4,7,2,3,11,-1,-1,-1,-1,-1,-1,-1,4,7,11,9,4,11,9,11,2,9,2,1,-1,-1,-1,-1,3,10,1,3,11,10,7,8,4,-1,-1,-1,-1,-1,-1,-1,1,11,10,1,4,11,1,0,4,7,11,4,-1,-1,-1,-1,4,7,8,9,0,11,9,11,10,11,0,3,-1,-1,-1,-1,4,7,11,4,11,9,9,11,10,-1,-1,-1,-1,-1,-1,-1,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,5,4,1,5,0,-1,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,8,5,4,8,3,5,3,1,5,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,10,4,9,5,-1,-1,-1,-1,-1,-1,-1,5,2,10,5,4,2,4,0,2,-1,-1,-1,-1,-1,-1,-1,2,10,5,3,2,5,3,5,4,3,4,8,-1,-1,-1,-1,9,5,4,2,3,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,0,8,11,4,9,5,-1,-1,-1,-1,-1,-1,-1,0,5,4,0,1,5,2,3,11,-1,-1,-1,-1,-1,-1,-1,2,1,5,2,5,8,2,8,11,4,8,5,-1,-1,-1,-1,10,3,11,10,1,3,9,5,4,-1,-1,-1,-1,-1,-1,-1,4,9,5,0,8,1,8,10,1,8,11,10,-1,-1,-1,-1,5,4,0,5,0,11,5,11,10,11,0,3,-1,-1,-1,-1,5,4,8,5,
+8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,9,7,8,5,7,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,3,0,9,5,3,5,7,3,-1,-1,-1,-1,-1,-1,-1,0,7,8,0,1,7,1,5,7,-1,-1,-1,-1,-1,-1,-1,1,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,7,8,9,5,7,10,1,2,-1,-1,-1,-1,-1,-1,-1,10,1,2,9,5,0,5,3,0,5,7,3,-1,-1,-1,-1,8,0,2,8,2,5,8,5,7,10,5,2,-1,-1,-1,-1,2,10,5,2,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,7,9,5,7,8,9,3,11,2,-1,-1,-1,-1,-1,-1,-1,9,5,7,9,7,2,9,2,0,2,7,11,-1,-1,-1,-1,2,3,11,0,1,8,1,7,8,1,5,7,-1,-1,-1,-1,11,2,1,11,1,7,7,1,5,-1,-1,-1,-1,-1,-1,
+-1,9,5,8,8,5,7,10,1,3,10,3,11,-1,-1,-1,-1,5,7,0,5,0,9,7,11,0,1,0,10,11,10,0,-1,11,10,0,11,0,3,10,5,0,8,0,7,5,7,0,-1,11,10,5,7,11,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,0,1,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,1,9,8,5,10,6,-1,-1,-1,-1,-1,-1,-1,1,6,5,2,6,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,6,5,1,2,6,3,0,8,-1,-1,-1,-1,-1,-1,-1,9,6,5,9,0,6,0,2,6,-1,-1,-1,-1,-1,-1,-1,5,9,8,5,8,2,5,2,6,3,2,8,-1,-1,-1,-1,2,3,11,10,6,
+5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,0,8,11,2,0,10,6,5,-1,-1,-1,-1,-1,-1,-1,0,1,9,2,3,11,5,10,6,-1,-1,-1,-1,-1,-1,-1,5,10,6,1,9,2,9,11,2,9,8,11,-1,-1,-1,-1,6,3,11,6,5,3,5,1,3,-1,-1,-1,-1,-1,-1,-1,0,8,11,0,11,5,0,5,1,5,11,6,-1,-1,-1,-1,3,11,6,0,3,6,0,6,5,0,5,9,-1,-1,-1,-1,6,5,9,6,9,11,11,9,8,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,4,7,3,6,5,10,-1,-1,-1,-1,-1,-1,-1,1,9,0,5,10,6,8,4,7,-1,-1,-1,-1,-1,-1,-1,10,6,5,1,9,7,1,7,3,7,9,4,-1,-1,-1,-1,6,1,2,6,5,1,4,7,8,-1,-1,-1,-1,
+-1,-1,-1,1,2,5,5,2,6,3,0,4,3,4,7,-1,-1,-1,-1,8,4,7,9,0,5,0,6,5,0,2,6,-1,-1,-1,-1,7,3,9,7,9,4,3,2,9,5,9,6,2,6,9,-1,3,11,2,7,8,4,10,6,5,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,2,4,2,0,2,7,11,-1,-1,-1,-1,0,1,9,4,7,8,2,3,11,5,10,6,-1,-1,-1,-1,9,2,1,9,11,2,9,4,11,7,11,4,5,10,6,-1,8,4,7,3,11,5,3,5,1,5,11,6,-1,-1,-1,-1,5,1,11,5,11,6,1,0,11,7,11,4,0,4,11,-1,0,5,9,0,6,5,0,3,6,11,6,3,8,4,7,-1,6,5,9,6,9,11,4,7,9,7,11,9,-1,-1,-1,-1,10,4,9,6,4,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,10,6,4,9,10,0,8,3,-1,-1,-1,-1,-1,-1,-1,
+10,0,1,10,6,0,6,4,0,-1,-1,-1,-1,-1,-1,-1,8,3,1,8,1,6,8,6,4,6,1,10,-1,-1,-1,-1,1,4,9,1,2,4,2,6,4,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,9,2,4,9,2,6,4,-1,-1,-1,-1,0,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,3,2,8,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,10,4,9,10,6,4,11,2,3,-1,-1,-1,-1,-1,-1,-1,0,8,2,2,8,11,4,9,10,4,10,6,-1,-1,-1,-1,3,11,2,0,1,6,0,6,4,6,1,10,-1,-1,-1,-1,6,4,1,6,1,10,4,8,1,2,1,11,8,11,1,-1,9,6,4,9,3,6,9,1,3,11,6,3,-1,-1,-1,-1,8,11,1,8,1,0,11,6,1,9,1,4,6,4,1,-1,3,11,6,3,6,0,0,6,4,-1,-1,-1,-1,-1,-1,-1,
+6,4,8,11,6,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,10,6,7,8,10,8,9,10,-1,-1,-1,-1,-1,-1,-1,0,7,3,0,10,7,0,9,10,6,7,10,-1,-1,-1,-1,10,6,7,1,10,7,1,7,8,1,8,0,-1,-1,-1,-1,10,6,7,10,7,1,1,7,3,-1,-1,-1,-1,-1,-1,-1,1,2,6,1,6,8,1,8,9,8,6,7,-1,-1,-1,-1,2,6,9,2,9,1,6,7,9,0,9,3,7,3,9,-1,7,8,0,7,0,6,6,0,2,-1,-1,-1,-1,-1,-1,-1,7,3,2,6,7,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,11,10,6,8,10,8,9,8,6,7,-1,-1,-1,-1,2,0,7,2,7,11,0,9,7,6,7,10,9,10,7,-1,1,8,0,1,7,8,1,10,7,6,7,10,2,3,11,-1,11,2,1,11,1,7,10,6,1,6,7,1,-1,-1,-1,-1,
+8,9,6,8,6,7,9,1,6,11,6,3,1,3,6,-1,0,9,1,11,6,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,0,7,0,6,3,11,0,11,6,0,-1,-1,-1,-1,7,11,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,1,9,8,3,1,11,7,6,-1,-1,-1,-1,-1,-1,-1,10,1,2,6,11,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,3,0,8,6,11,7,-1,-1,-1,-1,-1,-1,-1,2,9,0,2,10,9,6,11,7,-1,-1,-1,-1,-1,-1,-1,6,11,7,2,10,3,10,8,3,10,9,8,-1,-1,-1,-1,7,
+2,3,6,2,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,8,7,6,0,6,2,0,-1,-1,-1,-1,-1,-1,-1,2,7,6,2,3,7,0,1,9,-1,-1,-1,-1,-1,-1,-1,1,6,2,1,8,6,1,9,8,8,7,6,-1,-1,-1,-1,10,7,6,10,1,7,1,3,7,-1,-1,-1,-1,-1,-1,-1,10,7,6,1,7,10,1,8,7,1,0,8,-1,-1,-1,-1,0,3,7,0,7,10,0,10,9,6,10,7,-1,-1,-1,-1,7,6,10,7,10,8,8,10,9,-1,-1,-1,-1,-1,-1,-1,6,8,4,11,8,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,6,11,3,0,6,0,4,6,-1,-1,-1,-1,-1,-1,-1,8,6,11,8,4,6,9,0,1,-1,-1,-1,-1,-1,-1,-1,9,4,6,9,6,3,9,3,1,11,3,6,-1,-1,-1,-1,6,8,4,6,11,8,2,10,1,-1,-1,-1,
+-1,-1,-1,-1,1,2,10,3,0,11,0,6,11,0,4,6,-1,-1,-1,-1,4,11,8,4,6,11,0,2,9,2,10,9,-1,-1,-1,-1,10,9,3,10,3,2,9,4,3,11,3,6,4,6,3,-1,8,2,3,8,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,0,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,4,2,4,6,4,3,8,-1,-1,-1,-1,1,9,4,1,4,2,2,4,6,-1,-1,-1,-1,-1,-1,-1,8,1,3,8,6,1,8,4,6,6,10,1,-1,-1,-1,-1,10,1,0,10,0,6,6,0,4,-1,-1,-1,-1,-1,-1,-1,4,6,3,4,3,8,6,10,3,0,3,9,10,9,3,-1,10,9,4,6,10,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,5,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,5,11,7,6,
+-1,-1,-1,-1,-1,-1,-1,5,0,1,5,4,0,7,6,11,-1,-1,-1,-1,-1,-1,-1,11,7,6,8,3,4,3,5,4,3,1,5,-1,-1,-1,-1,9,5,4,10,1,2,7,6,11,-1,-1,-1,-1,-1,-1,-1,6,11,7,1,2,10,0,8,3,4,9,5,-1,-1,-1,-1,7,6,11,5,4,10,4,2,10,4,0,2,-1,-1,-1,-1,3,4,8,3,5,4,3,2,5,10,5,2,11,7,6,-1,7,2,3,7,6,2,5,4,9,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,6,0,6,2,6,8,7,-1,-1,-1,-1,3,6,2,3,7,6,1,5,0,5,4,0,-1,-1,-1,-1,6,2,8,6,8,7,2,1,8,4,8,5,1,5,8,-1,9,5,4,10,1,6,1,7,6,1,3,7,-1,-1,-1,-1,1,6,10,1,7,6,1,0,7,8,7,0,9,5,4,-1,4,0,10,4,10,5,0,3,10,6,10,7,3,7,10,
+-1,7,6,10,7,10,8,5,4,10,4,8,10,-1,-1,-1,-1,6,9,5,6,11,9,11,8,9,-1,-1,-1,-1,-1,-1,-1,3,6,11,0,6,3,0,5,6,0,9,5,-1,-1,-1,-1,0,11,8,0,5,11,0,1,5,5,6,11,-1,-1,-1,-1,6,11,3,6,3,5,5,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,11,9,11,8,11,5,6,-1,-1,-1,-1,0,11,3,0,6,11,0,9,6,5,6,9,1,2,10,-1,11,8,5,11,5,6,8,0,5,10,5,2,0,2,5,-1,6,11,3,6,3,5,2,10,3,10,5,3,-1,-1,-1,-1,5,8,9,5,2,8,5,6,2,3,8,2,-1,-1,-1,-1,9,5,6,9,6,0,0,6,2,-1,-1,-1,-1,-1,-1,-1,1,5,8,1,8,0,5,6,8,3,8,2,6,2,8,-1,1,5,6,2,1,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+1,3,6,1,6,10,3,8,6,5,6,9,8,9,6,-1,10,1,0,10,0,6,9,5,0,5,6,0,-1,-1,-1,-1,0,3,8,5,6,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,5,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,7,5,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,11,7,5,8,3,0,-1,-1,-1,-1,-1,-1,-1,5,11,7,5,10,11,1,9,0,-1,-1,-1,-1,-1,-1,-1,10,7,5,10,11,7,9,8,1,8,3,1,-1,-1,-1,-1,11,1,2,11,7,1,7,5,1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,7,1,7,5,7,2,11,-1,-1,-1,-1,9,7,5,9,2,7,9,0,2,2,11,7,-1,-1,-1,-1,7,5,2,7,2,11,5,9,2,3,2,8,9,8,2,-1,2,5,10,2,3,5,3,7,5,-1,-1,
+-1,-1,-1,-1,-1,8,2,0,8,5,2,8,7,5,10,2,5,-1,-1,-1,-1,9,0,1,5,10,3,5,3,7,3,10,2,-1,-1,-1,-1,9,8,2,9,2,1,8,7,2,10,2,5,7,5,2,-1,1,3,5,3,7,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,7,0,7,1,1,7,5,-1,-1,-1,-1,-1,-1,-1,9,0,3,9,3,5,5,3,7,-1,-1,-1,-1,-1,-1,-1,9,8,7,5,9,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,8,4,5,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,5,0,4,5,11,0,5,10,11,11,3,0,-1,-1,-1,-1,0,1,9,8,4,10,8,10,11,10,4,5,-1,-1,-1,-1,10,11,4,10,4,5,11,3,4,9,4,1,3,1,4,-1,2,5,1,2,8,5,2,11,8,4,5,8,-1,-1,-1,-1,0,4,11,0,11,3,4,5,11,
+2,11,1,5,1,11,-1,0,2,5,0,5,9,2,11,5,4,5,8,11,8,5,-1,9,4,5,2,11,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,5,10,3,5,2,3,4,5,3,8,4,-1,-1,-1,-1,5,10,2,5,2,4,4,2,0,-1,-1,-1,-1,-1,-1,-1,3,10,2,3,5,10,3,8,5,4,5,8,0,1,9,-1,5,10,2,5,2,4,1,9,2,9,4,2,-1,-1,-1,-1,8,4,5,8,5,3,3,5,1,-1,-1,-1,-1,-1,-1,-1,0,4,5,1,0,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,5,8,5,3,9,0,5,0,3,5,-1,-1,-1,-1,9,4,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,11,7,4,9,11,9,10,11,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,7,9,11,7,9,10,11,-1,-1,-1,-1,1,10,11,1,11,
+4,1,4,0,7,4,11,-1,-1,-1,-1,3,1,4,3,4,8,1,10,4,7,4,11,10,11,4,-1,4,11,7,9,11,4,9,2,11,9,1,2,-1,-1,-1,-1,9,7,4,9,11,7,9,1,11,2,11,1,0,8,3,-1,11,7,4,11,4,2,2,4,0,-1,-1,-1,-1,-1,-1,-1,11,7,4,11,4,2,8,3,4,3,2,4,-1,-1,-1,-1,2,9,10,2,7,9,2,3,7,7,4,9,-1,-1,-1,-1,9,10,7,9,7,4,10,2,7,8,7,0,2,0,7,-1,3,7,10,3,10,2,7,4,10,1,10,0,4,0,10,-1,1,10,2,8,7,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,7,1,3,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,0,8,1,8,7,1,-1,-1,-1,-1,4,0,3,7,4,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,8,7,-1,-1,-1,
+-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,11,9,10,-1,-1,-1,-1,-1,-1,-1,0,1,10,0,10,8,8,10,11,-1,-1,-1,-1,-1,-1,-1,3,1,10,11,3,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,11,1,11,9,9,11,8,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,1,2,9,2,11,9,-1,-1,-1,-1,0,2,11,8,0,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,10,8,9,-1,-1,-1,-1,-1,-1,-1,9,10,2,0,9,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,0,1,8,1,10,8,-1,-1,-1,-1,1,10,
+2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,8,9,1,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,9,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,3,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);
+THREE.Trident=function(b){function c(c){return new THREE.Mesh(new THREE.CylinderGeometry(30,0.1,b.length/20,b.length/5),new THREE.MeshBasicMaterial({color:c}))}function e(b,c){var e=new THREE.Geometry;e.vertices=[new THREE.Vertex,new THREE.Vertex(b)];return new THREE.Line(e,new THREE.LineBasicMaterial({color:c}))}THREE.Object3D.call(this);var f=Math.PI/2,h,b=b||THREE.Trident.defaultParams;if(b!==THREE.Trident.defaultParams)for(h in THREE.Trident.defaultParams)b.hasOwnProperty(h)||(b[h]=THREE.Trident.defaultParams[h]);
+this.scale=new THREE.Vector3(b.scale,b.scale,b.scale);this.addChild(e(new THREE.Vector3(b.length,0,0),b.xAxisColor));this.addChild(e(new THREE.Vector3(0,b.length,0),b.yAxisColor));this.addChild(e(new THREE.Vector3(0,0,b.length),b.zAxisColor));if(b.showArrows)h=c(b.xAxisColor),h.rotation.y=-f,h.position.x=b.length,this.addChild(h),h=c(b.yAxisColor),h.rotation.x=f,h.position.y=b.length,this.addChild(h),h=c(b.zAxisColor),h.rotation.y=Math.PI,h.position.z=b.length,this.addChild(h)};
+THREE.Trident.prototype=new THREE.Object3D;THREE.Trident.prototype.constructor=THREE.Trident;THREE.Trident.defaultParams={xAxisColor:16711680,yAxisColor:65280,zAxisColor:255,showArrows:!0,length:100,scale:1};THREE.PlaneCollider=function(b,c){this.point=b;this.normal=c};THREE.SphereCollider=function(b,c){this.center=b;this.radius=c;this.radiusSq=c*c};THREE.BoxCollider=function(b,c){this.min=b;this.max=c;this.dynamic=!0;this.normal=new THREE.Vector3};
+THREE.MeshCollider=function(b,c){this.mesh=b;this.box=c;this.numFaces=this.mesh.geometry.faces.length;this.normal=new THREE.Vector3};THREE.CollisionSystem=function(){this.collisionNormal=new THREE.Vector3;this.colliders=[];this.hits=[]};THREE.Collisions=new THREE.CollisionSystem;THREE.CollisionSystem.prototype.merge=function(b){this.colliders=this.colliders.concat(b.colliders);this.hits=this.hits.concat(b.hits)};
+THREE.CollisionSystem.prototype.rayCastAll=function(b){b.direction.normalize();this.hits.length=0;var c,e,f,h,m=0;c=0;for(e=this.colliders.length;c<e;c++)if(h=this.colliders[c],f=this.rayCast(b,h),f<Number.MAX_VALUE)h.distance=f,f>m?this.hits.push(h):this.hits.unshift(h),m=f;return this.hits};
+THREE.CollisionSystem.prototype.rayCastNearest=function(b){var c=this.rayCastAll(b);if(c.length==0)return null;for(var e=0;c[e]instanceof THREE.MeshCollider;){var f=this.rayMesh(b,c[e]);if(f.dist<Number.MAX_VALUE){c[e].distance=f.dist;c[e].faceIndex=f.faceIndex;break}e++}if(e>c.length)return null;return c[e]};
+THREE.CollisionSystem.prototype.rayCast=function(b,c){if(c instanceof THREE.PlaneCollider)return this.rayPlane(b,c);else if(c instanceof THREE.SphereCollider)return this.raySphere(b,c);else if(c instanceof THREE.BoxCollider)return this.rayBox(b,c);else if(c instanceof THREE.MeshCollider&&c.box)return this.rayBox(b,c.box)};
+THREE.CollisionSystem.prototype.rayMesh=function(b,c){for(var e=this.makeRayLocal(b,c.mesh),f=Number.MAX_VALUE,h,m=0;m<c.numFaces;m++){var k=c.mesh.geometry.faces[m],n=c.mesh.geometry.vertices[k.a].position,u=c.mesh.geometry.vertices[k.b].position,p=c.mesh.geometry.vertices[k.c].position,v=k instanceof THREE.Face4?c.mesh.geometry.vertices[k.d].position:null;k instanceof THREE.Face3?(k=this.rayTriangle(e,n,u,p,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize())):
+k instanceof THREE.Face4&&(k=this.rayTriangle(e,n,u,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()),k=this.rayTriangle(e,u,p,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()))}return{dist:f,faceIndex:h}};
+THREE.CollisionSystem.prototype.rayTriangle=function(b,c,e,f,h,m,k){var n=THREE.CollisionSystem.__v1,u=THREE.CollisionSystem.__v2;m.set(0,0,0);n.sub(e,c);u.sub(f,e);m.cross(n,u);n=m.dot(b.direction);if(!(n<0))if(k.doubleSided||k.flipSided)m.multiplyScalar(-1),n*=-1;else return Number.MAX_VALUE;k=m.dot(c)-m.dot(b.origin);if(!(k<=0))return Number.MAX_VALUE;if(!(k>=n*h))return Number.MAX_VALUE;k/=n;n=THREE.CollisionSystem.__v3;n.copy(b.direction);n.multiplyScalar(k);n.addSelf(b.origin);Math.abs(m.x)>
+Math.abs(m.y)?Math.abs(m.x)>Math.abs(m.z)?(b=n.y-c.y,m=e.y-c.y,h=f.y-c.y,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y):Math.abs(m.y)>Math.abs(m.z)?(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y);c=m*f-e*h;if(c==0)return Number.MAX_VALUE;c=1/c;f=(b*f-n*h)*c;if(!(f>=0))return Number.MAX_VALUE;c*=m*n-e*b;if(!(c>=0))return Number.MAX_VALUE;if(!(1-f-c>=0))return Number.MAX_VALUE;return k};
+THREE.CollisionSystem.prototype.makeRayLocal=function(b,c){var e=THREE.CollisionSystem.__m;THREE.Matrix4.makeInvert(c.matrixWorld,e);var f=THREE.CollisionSystem.__r;f.origin.copy(b.origin);f.direction.copy(b.direction);e.multiplyVector3(f.origin);e.rotateAxis(f.direction);f.direction.normalize();return f};
+THREE.CollisionSystem.prototype.rayBox=function(b,c){var e;c.dynamic&&c.mesh&&c.mesh.matrixWorld?e=this.makeRayLocal(b,c.mesh):(e=THREE.CollisionSystem.__r,e.origin.copy(b.origin),e.direction.copy(b.direction));var f=0,h=0,m=0,k=0,n=0,u=0,p=!0;e.origin.x<c.min.x?(f=c.min.x-e.origin.x,f/=e.direction.x,p=!1,k=-1):e.origin.x>c.max.x&&(f=c.max.x-e.origin.x,f/=e.direction.x,p=!1,k=1);e.origin.y<c.min.y?(h=c.min.y-e.origin.y,h/=e.direction.y,p=!1,n=-1):e.origin.y>c.max.y&&(h=c.max.y-e.origin.y,h/=e.direction.y,
+p=!1,n=1);e.origin.z<c.min.z?(m=c.min.z-e.origin.z,m/=e.direction.z,p=!1,u=-1):e.origin.z>c.max.z&&(m=c.max.z-e.origin.z,m/=e.direction.z,p=!1,u=1);if(p)return-1;p=0;h>f&&(p=1,f=h);m>f&&(p=2,f=m);switch(p){case 0:n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(k,0,0);break;case 1:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*
+f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(0,n,0);break;case 2:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;c.normal.set(0,0,u)}return f};THREE.CollisionSystem.prototype.rayPlane=function(b,c){var e=b.direction.dot(c.normal),f=c.point.dot(c.normal);if(e<0)e=(f-b.origin.dot(c.normal))/e;else return Number.MAX_VALUE;return e>0?e:Number.MAX_VALUE};
+THREE.CollisionSystem.prototype.raySphere=function(b,c){var e=c.center.clone().subSelf(b.origin);if(e.lengthSq<c.radiusSq)return-1;var f=e.dot(b.direction.clone());if(f<=0)return Number.MAX_VALUE;e=c.radiusSq-(e.lengthSq()-f*f);if(e>=0)return Math.abs(f)-Math.sqrt(e);return Number.MAX_VALUE};THREE.CollisionSystem.__v1=new THREE.Vector3;THREE.CollisionSystem.__v2=new THREE.Vector3;THREE.CollisionSystem.__v3=new THREE.Vector3;THREE.CollisionSystem.__nr=new THREE.Vector3;THREE.CollisionSystem.__m=new THREE.Matrix4;
+THREE.CollisionSystem.__r=new THREE.Ray;THREE.CollisionUtils={};THREE.CollisionUtils.MeshOBB=function(b){b.geometry.computeBoundingBox();var c=b.geometry.boundingBox,e=new THREE.Vector3(c.x[0],c.y[0],c.z[0]),c=new THREE.Vector3(c.x[1],c.y[1],c.z[1]),e=new THREE.BoxCollider(e,c);e.mesh=b;return e};THREE.CollisionUtils.MeshAABB=function(b){var c=THREE.CollisionUtils.MeshOBB(b);c.min.addSelf(b.position);c.max.addSelf(b.position);c.dynamic=!1;return c};
+THREE.CollisionUtils.MeshColliderWBox=function(b){return new THREE.MeshCollider(b,THREE.CollisionUtils.MeshOBB(b))};
+if(THREE.WebGLRenderer)THREE.AnaglyphWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);var c=this,e=this.setSize,f=this.render,h=new THREE.Camera,m=new THREE.Camera,k=new THREE.Matrix4,n=new THREE.Matrix4,u,p,v;h.useTarget=m.useTarget=!1;h.matrixAutoUpdate=m.matrixAutoUpdate=!1;var b={minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat},t=new THREE.WebGLRenderTarget(512,512,b),x=new THREE.WebGLRenderTarget(512,512,b),w=new THREE.Camera(53,1,1,1E4);w.position.z=
+2;_material=new THREE.MeshShaderMaterial({uniforms:{mapLeft:{type:"t",value:0,texture:t},mapRight:{type:"t",value:1,texture:x}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, 1.0 - uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D mapLeft;\nuniform sampler2D mapRight;\nvarying vec2 vUv;\nvoid main() {\nvec4 colorL, colorR;\nvec2 uv = vUv;\ncolorL = texture2D( mapLeft, uv );\ncolorR = texture2D( mapRight, uv );\ngl_FragColor = vec4( colorL.g * 0.7 + colorL.b * 0.3, colorR.g, colorR.b, colorL.a + colorR.a ) * 1.1;\n}"});
+var z=new THREE.Scene;z.addObject(new THREE.Mesh(new THREE.PlaneGeometry(2,2),_material));this.setSize=function(b,f){e.call(c,b,f);t.width=b;t.height=f;x.width=b;x.height=f};this.render=function(b,e){e.update(null,!0);if(u!==e.aspect||p!==e.near||v!==e.fov){u=e.aspect;p=e.near;v=e.fov;var D=e.projectionMatrix.clone(),G=125/30*0.5,H=G*p/125,E=p*Math.tan(v*Math.PI/360),N;k.n14=G;n.n14=-G;G=-E*u+H;N=E*u+H;D.n11=2*p/(N-G);D.n13=(N+G)/(N-G);h.projectionMatrix=D.clone();G=-E*u-H;N=E*u-H;D.n11=2*p/(N-G);
+D.n13=(N+G)/(N-G);m.projectionMatrix=D.clone()}h.matrix=e.matrixWorld.clone().multiplySelf(n);h.update(null,!0);h.position.copy(e.position);h.near=p;h.far=e.far;f.call(c,b,h,t,!0);m.matrix=e.matrixWorld.clone().multiplySelf(k);m.update(null,!0);m.position.copy(e.position);m.near=p;m.far=e.far;f.call(c,b,m,x,!0);f.call(c,z,w)}};
+if(THREE.WebGLRenderer)THREE.CrosseyedWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);this.autoClear=!1;var c=this,e=this.setSize,f=this.render,h,m,k=new THREE.Camera,n=new THREE.Camera;c.separation=10;if(b&&b.separation!==void 0)c.separation=b.separation;(new THREE.Camera(53,window.innerWidth/2/window.innerHeight,1,1E4)).position.z=-10;this.setSize=function(b,f){e.call(c,b,f);h=b/2;m=f};this.render=function(b,e){this.clear();k.fov=e.fov;k.aspect=0.5*e.aspect;k.near=e.near;k.far=e.far;
+k.updateProjectionMatrix();k.position.copy(e.position);k.target.position.copy(e.target.position);k.translateX(c.separation);n.projectionMatrix=k.projectionMatrix;n.position.copy(e.position);n.target.position.copy(e.target.position);n.translateX(-c.separation);this.setViewport(0,0,h,m);f.call(c,b,k);this.setViewport(h,0,h,m);f.call(c,b,n,!1)}};
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/a-green.css b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/a-green.css
new file mode 100644
index 00000000000..b0dbb071d5b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/a-green.css
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/animations.css b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/animations.css
new file mode 100644
index 00000000000..44e3ad9cbde
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/animations.css
@@ -0,0 +1,80 @@
+/* Duration classes */
+
+.once {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: 1;
+}
+
+.infinite {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+}
+
+.infinite-reversed {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+.fast {
+ animation-duration: 0.5s;
+}
+
+/* Animation declarations */
+
+@keyframes pulse {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0.25;
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotateY(0);
+ }
+ to {
+ transform: rotateY(360deg);
+ }
+}
+
+@keyframes rotate {
+ from {
+ transform: rotateZ(45deg);
+ }
+ to {
+ transform: rotateZ(405deg);
+ }
+}
+
+@keyframes slant {
+ from {
+ transform: rotate3d(0.23, 1.2, 0.83, 40deg);
+ }
+ to {
+ transform: rotate3d(1, 0.75, 1.3, 240deg);
+ }
+}
+
+/* Animation classes */
+
+.pulse {
+ animation-name: pulse;
+}
+
+.spin {
+ animation-name: spin;
+}
+
+.rotate {
+ animation-name: rotate;
+}
+
+.slant {
+ animation-name: slant;
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/b-green.css b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/b-green.css
new file mode 100644
index 00000000000..a0473f5ca26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/b-green.css
@@ -0,0 +1 @@
+.b { color: green; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.mp4 b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.mp4
new file mode 100644
index 00000000000..0512bb92cdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.mp4
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.ogv b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.ogv
new file mode 100644
index 00000000000..4f964f107c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.ogv
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.webm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.webm
new file mode 100644
index 00000000000..7f75126a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/big-buck-bunny-240p.webm
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/c-red.css b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/c-red.css
new file mode 100644
index 00000000000..d4ba5c64e95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/c-red.css
@@ -0,0 +1 @@
+.c { color: red; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/cat.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/cat.png
new file mode 100644
index 00000000000..85dd7324815
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/cat.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-green.css b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-green.css
new file mode 100644
index 00000000000..537104e6633
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-green.css
@@ -0,0 +1 @@
+.import { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-red.css b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-red.css
new file mode 100644
index 00000000000..9945ef47114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/import-red.css
@@ -0,0 +1 @@
+.import { color: red; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-gg-gr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-gg-gr.png
new file mode 100644
index 00000000000..a6d65b0d4a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-gg-gr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rgr-grg.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rgr-grg.png
new file mode 100644
index 00000000000..9b88fbd8114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rgr-grg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rrg-rgg.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rrg-rgg.png
new file mode 100644
index 00000000000..fcf4f3fd7d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-grg-rrg-rgg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-rgr-grg-rgr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-rgr-grg-rgr.png
new file mode 100644
index 00000000000..d454e3a630c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-rgr-grg-rgr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-tr.png
new file mode 100644
index 00000000000..8b4b25364e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/pattern-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50%.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50%.png
new file mode 100644
index 00000000000..cf2eea6b438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50%.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50px.png
new file mode 100644
index 00000000000..9f46583665c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-h-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-100px.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-100px.png
new file mode 100644
index 00000000000..a837eca2225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-100px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-50px.png
new file mode 100644
index 00000000000..84141028020
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/ruler-v-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-purple.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-purple.png
new file mode 100644
index 00000000000..0f522d78728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-purple.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-teal.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-teal.png
new file mode 100644
index 00000000000..e567f51b91b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-teal.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-white.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-white.png
new file mode 100644
index 00000000000..5853cbb238c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/square-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/static-cube.js b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/static-cube.js
new file mode 100644
index 00000000000..10b045301c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/static-cube.js
@@ -0,0 +1,52 @@
+// This source is the javascript needed to build a simple moving
+// cube in **three.js** based on this
+// [example](https://raw.github.com/mrdoob/three.js/r44/examples/canvas_geometry_cube.html)
+// It is the source about this [blog post](/blog/2011/08/06/lets-do-a-cube/).
+
+// ## Now lets start
+
+// declare a bunch of variable we will need later
+var container;
+var camera, scene, renderer;
+var cube;
+
+// ## Initialize everything
+function init() {
+ // create the camera
+ camera = new THREE.Camera( 70, 4/3, 100, 1000 );
+ camera.position.z = 350;
+
+ // create the Scene
+ scene = new THREE.Scene();
+
+ // create the Cube
+ cube = new THREE.Mesh( new THREE.CubeGeometry( 200, 200, 200 ), new THREE.MeshNormalMaterial() );
+
+ // add the object to the scene
+ scene.addObject( cube );
+
+ // create the container element
+ container = document.querySelector("#container");
+
+ // init the WebGL renderer and append it to the Dom
+ renderer = new THREE.WebGLRenderer();
+ renderer.setSize( container.getBoundingClientRect().width, container.getBoundingClientRect().height );
+ container.appendChild( renderer.domElement );
+}
+
+
+// ## Render the 3D Scene
+function render() {
+ // animate the cube
+ cube.rotation.x = 0.5;
+ cube.rotation.y = 0.8;
+ cube.rotation.z = 0.2;
+
+ // actually display the scene in the DOM element
+ renderer.render( scene, camera );
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ init();
+ render();
+}) \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/support/README b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/support/README
new file mode 100644
index 00000000000..ea8cb9ef357
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/support/README
@@ -0,0 +1,4 @@
+The swatch-green.png file in this directory is really a RED swatch,
+and the swatch-red.png file is really a green swatch.
+
+This directory is used to test relative URIs. \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/svg-external-styles.css b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/svg-external-styles.css
new file mode 100644
index 00000000000..22978f89b04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/svg-external-styles.css
@@ -0,0 +1,19 @@
+.rotate {
+ transform: rotate(90deg);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+}
+
+.translateY {
+ transform: translateY(-100px);
+}
+
+.invalid {
+ transform: scale(invalid);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-blue.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-blue.png
new file mode 100644
index 00000000000..bf2759634d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-blue.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-green.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-green.png
new file mode 100644
index 00000000000..0aa79b0c86b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-lime.png
new file mode 100644
index 00000000000..55fd7fdaedf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-orange.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-orange.png
new file mode 100644
index 00000000000..d3cd498b52b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-orange.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-red.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-red.png
new file mode 100644
index 00000000000..1caf25c992a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-white.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-white.png
new file mode 100644
index 00000000000..1a7d4323d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-yellow.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-yellow.png
new file mode 100644
index 00000000000..1591aa0e2e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/swatch-yellow.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-bl.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-bl.png
new file mode 100644
index 00000000000..904e24e996a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-bl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-br.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-br.png
new file mode 100644
index 00000000000..f413ff5c1a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-br.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-inner-half-size.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-inner-half-size.png
new file mode 100644
index 00000000000..e473bf80efc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-inner-half-size.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-outer.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-outer.png
new file mode 100644
index 00000000000..82eeace7fc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-outer.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tl.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tl.png
new file mode 100644
index 00000000000..f6ac0ef7e8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tr.png
new file mode 100644
index 00000000000..59843ae54b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/test-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-iframe-001-contents.html b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-iframe-001-contents.html
new file mode 100644
index 00000000000..deb104be2f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-iframe-001-contents.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Iframe (contents)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ height: 200px;
+ width: 200px;
+ background: red;
+ transform: translate(500px, 500px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.png b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.png
new file mode 100644
index 00000000000..8f939993332
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.svg
new file mode 100644
index 00000000000..8f759c959c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-lime-square.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<rect fill="lime" height="100" width="100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-down.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-down.svg
new file mode 100644
index 00000000000..5fb4ad826b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-down.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 100,0 50,100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left-small.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left-small.svg
new file mode 100644
index 00000000000..855b566133c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left-small.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="50px" width="50px" viewBox="0 0 50 50">
+<polygon fill="blue" points="0,25 50,50 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left.svg
new file mode 100644
index 00000000000..48c24e1d9e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,50 100,100 100,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-right.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-right.svg
new file mode 100644
index 00000000000..dd056a9ff78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 0,100 100,50"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-up.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-up.svg
new file mode 100644
index 00000000000..b3cecc986df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/support/transform-triangle-up.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,100 100,100 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-document-styles-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-document-styles-ref.htm
new file mode 100644
index 00000000000..0d138582a47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-document-styles-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-external-styles-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-external-styles-ref.htm
new file mode 100644
index 00000000000..0d138582a47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-external-styles-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-combination-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-combination-ref.htm
new file mode 100644
index 00000000000..335b524a5d0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-combination-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="200" fill="green" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ex-unit-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ex-unit-ref.htm
new file mode 100644
index 00000000000..ef9984ddeae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ex-unit-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ref.htm
new file mode 100644
index 00000000000..ef9984ddeae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-relative-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-relative-ref.htm
new file mode 100644
index 00000000000..337901bb67b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-relative-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg>
+ <rect width="50" fill="green" height="100"></rect>
+ <rect width="50" fill="blue" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-transform-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-transform-ref.htm
new file mode 100644
index 00000000000..96ed3e3154f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-gradientTransform-transform-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar to the left of a vertical yellow bar.</p>
+ <svg>
+ <rect width="50" fill="green" height="100"></rect>
+ <rect width="50" fill="yellow" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-250x250-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-250x250-ref.htm
new file mode 100644
index 00000000000..43b35d07889
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-250x250-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-ref.htm
new file mode 100644
index 00000000000..54b1eff2fd6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-green-square-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="40" width="80" fill="green" x="40" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-inline-styles-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-inline-styles-ref.htm
new file mode 100644
index 00000000000..0d138582a47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-inline-styles-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-clipped-rect-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-clipped-rect-ref.htm
new file mode 100644
index 00000000000..d7e89c185ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-clipped-rect-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="50" width="40" fill="green" x="100" height="40"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-four-color-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-four-color-ref.htm
new file mode 100644
index 00000000000..2e230137078
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-matrix-four-color-ref.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-cm-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-cm-ref.htm
new file mode 100644
index 00000000000..17abd487c35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-cm-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="2cm" fill="url(#grad)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-in-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-in-ref.htm
new file mode 100644
index 00000000000..c2089d26986
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-in-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="1.5in" fill="url(#grad)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-pt-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-pt-ref.htm
new file mode 100644
index 00000000000..324e26f4a25
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-pt-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="80pt" fill="url(#grad)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-ref.htm
new file mode 100644
index 00000000000..82014a77c48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-length-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-invalid-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-invalid-ref.htm
new file mode 100644
index 00000000000..5431194c39b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-invalid-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="150" fill="url(#grad)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-ref.htm
new file mode 100644
index 00000000000..5431194c39b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-origin-relative-length-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="150" fill="url(#grad)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-combination-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-combination-ref.htm
new file mode 100644
index 00000000000..335b524a5d0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-combination-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="200" fill="green" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ex-unit-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ex-unit-ref.htm
new file mode 100644
index 00000000000..a7753af8a4b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ex-unit-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="160" fill="green" height="160"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ref.htm
new file mode 100644
index 00000000000..ef9984ddeae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-relative-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-relative-ref.htm
new file mode 100644
index 00000000000..ef9984ddeae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-patternTransform-relative-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-3args-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-3args-ref.htm
new file mode 100644
index 00000000000..ed37301e5d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-3args-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="80" fill="green" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-45-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-45-ref.htm
new file mode 100644
index 00000000000..2c78d3462cb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-45-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-90-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-90-ref.htm
new file mode 100644
index 00000000000..d501dafd57a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-rotate-angle-90-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-scale-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-scale-ref.htm
new file mode 100644
index 00000000000..a9936220e90
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-scale-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewx-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewx-ref.htm
new file mode 100644
index 00000000000..0e7c873851a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewx-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewxy-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewxy-ref.htm
new file mode 100644
index 00000000000..ca912ef8734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewxy-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewy-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewy-ref.htm
new file mode 100644
index 00000000000..601313fced2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-skewy-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-transform-list-separations-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-transform-list-separations-ref.htm
new file mode 100644
index 00000000000..3ce23cfa47a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-transform-list-separations-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="100" width="100" fill="url(#grad)" x="100" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-abs-unit-combinations-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-abs-unit-combinations-ref.htm
new file mode 100644
index 00000000000..f3ecb4dff70
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-abs-unit-combinations-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="50" width="75" fill="green" x="100" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ex-unit-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ex-unit-ref.htm
new file mode 100644
index 00000000000..c1d70f26e87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ex-unit-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg ahem" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="40" width="100" fill="green" x="40" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-ref.htm
new file mode 100644
index 00000000000..bfa45c285c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="75" width="150" fill="green" x="50" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-relative-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-relative-ref.htm
new file mode 100644
index 00000000000..1742e4babe1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-multiple-relative-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="100" width="200" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ref.htm
new file mode 100644
index 00000000000..4f2f62e3cbe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="50" width="100" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-relative-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-relative-ref.htm
new file mode 100644
index 00000000000..8ab7425939c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translate-relative-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="100" width="100" fill="green" x="50" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ex-unit-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ex-unit-ref.htm
new file mode 100644
index 00000000000..56802754577
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ex-unit-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg ahem" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" x="40" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ref.htm
new file mode 100644
index 00000000000..b7cff907cb5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatex-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ex-unit-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ex-unit-ref.htm
new file mode 100644
index 00000000000..20eb26739f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ex-unit-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg ahem" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="40" width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ref.htm
new file mode 100644
index 00000000000..ed7117a4096
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/svg-translatey-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="50" width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-3d-rotateY-stair-above-ref-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-3d-rotateY-stair-above-ref-001.htm
new file mode 100644
index 00000000000..5710e778dfd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-3d-rotateY-stair-above-ref-001.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Apple" href="http://www.apple.com/">
+ <style type="text/css">
+div {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+ </style>
+ </head>
+ <body>
+<div></div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-abspos-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-abspos-ref.htm
new file mode 100644
index 00000000000..79750a8aea8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-abspos-ref.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body > div {
+ width: 100px;
+ height: 200px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-001-ref.htm
new file mode 100644
index 00000000000..4a8f61c54cb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-001-ref.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/">
+ <style type="text/css">
+ div {
+ position: relative;
+ }
+ div p {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ }
+ #ref {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should see a green box. There should be no red.</p>
+ <div>
+ <p id="ref"></p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-002-ref.htm
new file mode 100644
index 00000000000..8483a6dc2d2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-applies-to-002-ref.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/">
+ <style type="text/css">
+ div {
+ position: relative;
+ color: green;
+ }
+ div p {
+ width: 10em;
+ font-family: Ahem;
+ position: absolute;
+ top: 0;
+ left: 0;
+ line-height: 2;
+ }
+ </style>
+ </head>
+ <body>
+ <p>
+ You should see two lines of 5 green boxes each. You should see no
+ red.
+ </p>
+ <div>
+ <p>X X <span>X X X X X X</span> X X</p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-006-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-006-notref.htm
new file mode 100644
index 00000000000..6c61ce3fb7d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-006-notref.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ html {
+ background: white;
+ height: 100%;
+ width: 100%;
+ }
+ body {
+ background: url(support/transform-triangle-up.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-1.htm
new file mode 100644
index 00000000000..e79d2ddb192
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-1.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-04-17 -->
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ background: url(support/transform-triangle-up.svg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-2.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-2.htm
new file mode 100644
index 00000000000..8bc1ff8ee40
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-background-ref-2.htm
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-04-17 -->
+ <style>
+ html {
+ background: url(support/transform-triangle-up.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-blank-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-blank-ref.htm
new file mode 100644
index 00000000000..5f5e176daf3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-blank-ref.htm
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-1.htm
new file mode 100644
index 00000000000..c51dcc15a1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-1.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body > div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ div.test {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div style="transform: skewX(15deg);">
+ <div style="transform: rotate(90deg);">
+ <div style="transform: scale(2);">
+ <div style="transform: translate(100px);">
+ <div class="test">
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-2.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-2.htm
new file mode 100644
index 00000000000..040f8b370a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-notref-2.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ body > div > div {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-ref.htm
new file mode 100644
index 00000000000..7baf027c788
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-compound-ref.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:robert@ocallahan.org" rel="author" title="Robert O'Callahan">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body > div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ div.test {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div style="transform: translate(100px);">
+ <div style="transform: scale(2);">
+ <div style="transform: rotate(90deg);">
+ <div style="transform: skewX(15deg);">
+ <div class="test">
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-descendant-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-descendant-ref.htm
new file mode 100644
index 00000000000..a21231178a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-descendant-ref.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body > div {
+ background: green;
+ height: 100px;
+ width: 100px;
+ }
+ span {
+ background: yellow;
+ }
+ body > div > div {
+ position: relative;
+ top: 150px;
+ left: 20px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div><span>span 1</span></div>
+ </div>
+ <span>span 2</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-notref.htm
new file mode 100644
index 00000000000..3bb6e7218d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-notref.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-ref.htm
new file mode 100644
index 00000000000..8d72959d2cb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-display-ref.htm
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-fixed-bg-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-fixed-bg-ref.htm
new file mode 100644
index 00000000000..c520d0d6cc6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-fixed-bg-ref.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) 50px 50px;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-notref.htm
new file mode 100644
index 00000000000..36ce3825a47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-notref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ float: left;
+ }
+ div::before {
+ float: left;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-ref.htm
new file mode 100644
index 00000000000..8f562ad21f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-001-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ float: left;
+ }
+ div:first-child {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>abc</div>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-notref.htm
new file mode 100644
index 00000000000..975aeab668d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-notref.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ span::before {
+ display: block;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-ref.htm
new file mode 100644
index 00000000000..7a19e4eafd9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-generated-002-ref.htm
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ transform: rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <div>abc</div>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-iframe-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-iframe-ref.htm
new file mode 100644
index 00000000000..8137b0827a4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-iframe-ref.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ iframe {
+ overflow: hidden;
+ height: 200px;
+ width: 300px;
+ }
+ </style>
+ </head><body><iframe src="about:blank"></iframe>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-image-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-image-ref.htm
new file mode 100644
index 00000000000..669947f1ae1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-image-ref.htm
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <img src="support/transform-triangle-right.svg">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-origin-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-origin-ref.htm
new file mode 100644
index 00000000000..330f3138bbc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-origin-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ position: relative;
+ top: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-ref.htm
new file mode 100644
index 00000000000..1b6f2ceab1f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inherit-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-notref.htm
new file mode 100644
index 00000000000..1222acd7a25
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-notref.htm
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <p>This is some text<br>that is not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-ref.htm
new file mode 100644
index 00000000000..a39eb1126e8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-inline-ref.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ p + p {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>This is some text<br>that is not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-001-ref.htm
new file mode 100644
index 00000000000..06e974d6e27
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-001-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=text</p>
+ <input value="abc">
+ <input value="abc">
+ <input value="abc">
+ <input value="abc">
+ <input value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-002-ref.htm
new file mode 100644
index 00000000000..1cc0e66495c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-002-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=file</p>
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-003-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-003-ref.htm
new file mode 100644
index 00000000000..0fadd6c59e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-003-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=search</p>
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-004-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-004-ref.htm
new file mode 100644
index 00000000000..7ba07e16b09
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-004-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=tel</p>
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-005-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-005-ref.htm
new file mode 100644
index 00000000000..e4a37c16b34
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-005-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=url</p>
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-006-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-006-ref.htm
new file mode 100644
index 00000000000..b8c97a1a0af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-006-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=email</p>
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-007-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-007-ref.htm
new file mode 100644
index 00000000000..bac512a808f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-007-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=password</p>
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-008-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-008-ref.htm
new file mode 100644
index 00000000000..624e5512d3f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-008-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime</p>
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-009-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-009-ref.htm
new file mode 100644
index 00000000000..c3e565e7bf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-009-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=date</p>
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-010-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-010-ref.htm
new file mode 100644
index 00000000000..3daabe890d3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-010-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=month</p>
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-011-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-011-ref.htm
new file mode 100644
index 00000000000..56f19ee36bf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-011-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=week</p>
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-012-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-012-ref.htm
new file mode 100644
index 00000000000..516da128584
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-012-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=time</p>
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-013-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-013-ref.htm
new file mode 100644
index 00000000000..5321ebc17db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-013-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime-local</p>
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-014-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-014-ref.htm
new file mode 100644
index 00000000000..6ace0f2b287
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-014-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=number</p>
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-015-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-015-ref.htm
new file mode 100644
index 00000000000..83e6e94c2a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-015-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=range</p>
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-016-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-016-ref.htm
new file mode 100644
index 00000000000..1bee810954c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-016-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=color</p>
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-017-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-017-ref.htm
new file mode 100644
index 00000000000..f3e49505aaa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-017-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=checkbox</p>
+ <input checked="" type="checkbox">
+ <input type="checkbox">
+ <input checked="" type="checkbox">
+ <input type="checkbox">
+ <input checked="" type="checkbox">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-018-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-018-ref.htm
new file mode 100644
index 00000000000..12b132501e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-018-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=radio</p>
+ <input checked="" type="radio">
+ <input type="radio">
+ <input checked="" type="radio">
+ <input type="radio">
+ <input checked="" type="radio">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-019-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-019-ref.htm
new file mode 100644
index 00000000000..effe9f0ec86
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-input-019-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=submit</p>
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-lime-square-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-lime-square-ref.htm
new file mode 100644
index 00000000000..bf89f0b59e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-lime-square-ref.htm
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-001-ref.htm
new file mode 100644
index 00000000000..75c05743f35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-001-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ position: relative;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-002-ref.htm
new file mode 100644
index 00000000000..952faa07d90
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-002-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ position: relative;
+ top: 100px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-003-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-003-ref.htm
new file mode 100644
index 00000000000..2a9dbb750b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-003-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ position: relative;
+ left: 47px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-004-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-004-ref.htm
new file mode 100644
index 00000000000..ca42b26f603
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-004-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ position: relative;
+ top: 23px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-notref.htm
new file mode 100644
index 00000000000..1b8a6c7dd90
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-notref.htm
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-ref.htm
new file mode 100644
index 00000000000..3a33b3e568d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-005-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ transform: skewX(45deg);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-006-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-006-ref.htm
new file mode 100644
index 00000000000..8d800a55bae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-006-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ transform: skewY(45deg);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-007-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-007-ref.htm
new file mode 100644
index 00000000000..bfb453925c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-007-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ position: relative;
+ right: 50px;
+ bottom: 150px;
+ width: 200px;
+ height: 400px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-notref.htm
new file mode 100644
index 00000000000..ad8a9e8ed34
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-notref.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ }
+ body > div {
+ transform: matrix(1, 0, 0, 1, 50, 0);
+ }
+ body > div > div {
+ transform: matrix(1, 0, 0, 1, 50, 0);
+ }
+ body > div > div > div {
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-ref.htm
new file mode 100644
index 00000000000..946065bdb3c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-matrix-008-ref.htm
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-007-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-007-ref.htm
new file mode 100644
index 00000000000..f5b76de605a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-007-ref.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test Reference File</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<style>
+ #test {
+ background-color: green;
+ height: 50px;
+ margin: 50px;
+ width: 50px;
+ }
+ #container {
+ background-color: gray;
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div id="container"><div id="test"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-01-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-01-ref.htm
new file mode 100644
index 00000000000..b559338fd07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-01-ref.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>Reference File</title>
+ <link href="mailto:youremail@address.com" rel="author" title="CJ Gammon">
+ <style type="text/css">
+
+ #container{
+ position: relative;
+ }
+
+ .square{
+ position: absolute;
+ }
+
+ #green{
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+
+ <div id="container">
+ <div class="square" id="green"></div>
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-notref.htm
new file mode 100644
index 00000000000..3f0ff3ad0f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-notref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-1.htm
new file mode 100644
index 00000000000..ff3786eb832
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-1.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 0% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-2.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-2.htm
new file mode 100644
index 00000000000..b2c4e426349
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-2.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 50% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-3.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-3.htm
new file mode 100644
index 00000000000..bd98ede7b07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-name-ref-3.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 100% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-1.htm
new file mode 100644
index 00000000000..c8e7ed65220
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-1.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-2.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-2.htm
new file mode 100644
index 00000000000..c8e7ed65220
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref-2.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref.htm
new file mode 100644
index 00000000000..bbdad58727f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-origin-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform-origin</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey">
+ <style type="text/css">
+ body {margin:0}
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div class="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-001-ref.htm
new file mode 100644
index 00000000000..60b6af347e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-001-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body > div {
+ height: 200px;
+ width: 200px;
+ overflow: auto;
+ }
+ body > div > div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 150px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-002-ref.htm
new file mode 100644
index 00000000000..508a4e7c4f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-overflow-002-ref.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body > div {
+ height: 200px;
+ width: 200px;
+ overflow: scroll;
+ }
+ body > div > div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 150px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-notref.htm
new file mode 100644
index 00000000000..3152f2fc4b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-notref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-ref.htm
new file mode 100644
index 00000000000..b8fed80f294
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-percent-ref.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-propagate-inherit-boolean-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-propagate-inherit-boolean-ref.htm
new file mode 100644
index 00000000000..ecf7cdeab2c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-propagate-inherit-boolean-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="http://dbaron.org/" rel="author" title="L. David Baron">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ p {
+ font-size: 20px;
+ margin: 0;
+ height: 0;
+ width: 100px;
+ position: relative;
+ left: 80px;
+ }
+ p + p {
+ font-size: 40px;
+ position: relative;
+ left: 160px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>One</p>
+ <p>Two</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-001-ref.htm
new file mode 100644
index 00000000000..53b0aaefd9b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-001-ref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ html {
+ background: url(support/transform-triangle-right.svg) top right;
+ }
+ body {
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-003-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-003-ref.htm
new file mode 100644
index 00000000000..d6e1156ddfa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-003-ref.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ html {
+ background: url(support/transform-triangle-left-small.svg);
+ }
+ body {
+ margin: 0;
+ }
+ </head>
+ <body>
+ </body>
+</html>
+</style></head><body></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-004-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-004-ref.htm
new file mode 100644
index 00000000000..ed177ea73b4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-root-bg-004-ref.htm
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ background: url(support/transform-triangle-left.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-notref.htm
new file mode 100644
index 00000000000..e1d913550b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-notref.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-ref.htm
new file mode 100644
index 00000000000..ad845ae6234
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-001-ref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ transform: rotate(45deg);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-notref.htm
new file mode 100644
index 00000000000..aa557483054
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-notref.htm
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-ref.htm
new file mode 100644
index 00000000000..1a1b3cc9342
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rotate-007-ref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rounding-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rounding-ref.htm
new file mode 100644
index 00000000000..b649ea76961
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-rounding-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-percent-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-percent-ref.htm
new file mode 100644
index 00000000000..331f230443b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-percent-ref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-ref.htm
new file mode 100644
index 00000000000..a4b7d4f8cd2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ background: green;
+ width: 50px;
+ height: 50px;
+ margin: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-test-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-test-ref.htm
new file mode 100644
index 00000000000..91d9015a227
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scale-test-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:oleg@the-incredible.me" rel="author" title="Oleg Janeiko">
+ <style type="text/css">
+ div {
+ background-color: green;
+ float: left;
+ margin: 50px;
+ width: 33px;
+ height: 33px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green squares of the same size.</p>
+ <div></div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scalex-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scalex-ref.htm
new file mode 100644
index 00000000000..49b9fad7b7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scalex-ref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ background: green;
+ width: 50px;
+ height: 100px;
+ margin-left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scaley-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scaley-ref.htm
new file mode 100644
index 00000000000..8a4c1e65f2e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-scaley-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 50px;
+ margin-top: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-singular-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-singular-ref.htm
new file mode 100644
index 00000000000..fca044ca49f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-singular-ref.htm
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head><body>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-stresstest-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-stresstest-ref.htm
new file mode 100644
index 00000000000..f00cc54fbd7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-stresstest-ref.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ height: 200px;
+ width: 200px;
+ background: gold;
+ position: relative;
+ left: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-notref.htm
new file mode 100644
index 00000000000..8e7392966fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-notref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-ref.htm
new file mode 100644
index 00000000000..b2a4f6c94a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-001-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-002-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-002-notref.htm
new file mode 100644
index 00000000000..185e920c1b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-002-notref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ table {
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-notref.htm
new file mode 100644
index 00000000000..9c64bb59995
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-notref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-ref.htm
new file mode 100644
index 00000000000..06483ff3ece
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-004-ref.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-005-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-005-notref.htm
new file mode 100644
index 00000000000..5911a66fce1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-005-notref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ table {
+ display: inline-table;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-notref.htm
new file mode 100644
index 00000000000..8ebe3c5998f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-notref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ table, tbody, tr, td {
+ margin: 0;
+ padding: 0;
+ border-spacing: 0;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-ref.htm
new file mode 100644
index 00000000000..0f44e51bd90
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-009-ref.htm
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ div {
+ transform: rotateX(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-010-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-010-notref.htm
new file mode 100644
index 00000000000..13fbb4c34b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-010-notref.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body > div > div {
+ display: table;
+ }
+ body > div > div > div {
+ display: table-row;
+ }
+ body > div > div > div > div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-011-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-011-notref.htm
new file mode 100644
index 00000000000..38651c3e1d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-table-011-notref.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body > div > div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-block-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-block-ref.htm
new file mode 100644
index 00000000000..25336aad5b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-block-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: inline-block;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-table-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-table-ref.htm
new file mode 100644
index 00000000000..6f8ef4d4bac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-inline-table-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-list-item-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-list-item-ref.htm
new file mode 100644
index 00000000000..a1775e992fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-list-item-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: list-item;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-caption-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-caption-ref.htm
new file mode 100644
index 00000000000..2dfbc023875
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-caption-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: table-caption;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-cell-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-cell-ref.htm
new file mode 100644
index 00000000000..b3fa37def8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-cell-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-footer-group-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-footer-group-ref.htm
new file mode 100644
index 00000000000..74d4136888d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-footer-group-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: table-footer-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-header-group-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-header-group-ref.htm
new file mode 100644
index 00000000000..7bc89ccfc38
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-header-group-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: table-header-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-ref.htm
new file mode 100644
index 00000000000..500bd486747
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-group-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-group-ref.htm
new file mode 100644
index 00000000000..40418b71dcc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-group-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: table-row-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-ref.htm
new file mode 100644
index 00000000000..1fd9bd95f60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-transformable-table-row-ref.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body > div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body > div > div {
+ display: table-row;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translate-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translate-ref.htm
new file mode 100644
index 00000000000..1c5c1f78d06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translate-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="position: relative; left: 50px; top: 50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatex-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatex-ref.htm
new file mode 100644
index 00000000000..011ee2aa8ac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatex-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="position:relative; left:50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatey-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatey-ref.htm
new file mode 100644
index 00000000000..33f13641464
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform-translatey-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="position:relative; top:50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-001-ref.htm
new file mode 100644
index 00000000000..f3211c83db4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-001-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: matrix(1,2,3,4,5,6); width: 100px; height: 100px;
+ background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-002-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-002-ref.htm
new file mode 100644
index 00000000000..5df6ef18c55
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-002-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: translate3d(4px,5px,6px) scale3d(1,2,3);
+ width: 100px; height: 100px; background: lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-003-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-003-ref.htm
new file mode 100644
index 00000000000..2b0807ea188
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-003-ref.htm
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: perspective(200px) rotatey(-45deg) scalex(1.41421356);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-004-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-004-ref.htm
new file mode 100644
index 00000000000..c9f1d5bdafa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-004-ref.htm
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: perspective(200px) rotatex(45deg) scaley(1.41421356);
+ transform-origin: bottom"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-005-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-005-ref.htm
new file mode 100644
index 00000000000..ba3ad934db5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-matrix3d-005-ref.htm
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="padding: 25px">
+ <div style="height: 50px; width: 50px; background: gold"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-001-ref.htm
new file mode 100644
index 00000000000..33b5ad7ac4b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-001-ref.htm
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-009-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-009-ref.htm
new file mode 100644
index 00000000000..bc1c6f94ae5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-009-ref.htm
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body style="width: 400px">
+ <div style="perspective: 1000px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-origin-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-origin-ref.htm
new file mode 100644
index 00000000000..8384fbdda12
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-perspective-origin-ref.htm
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: top left;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-001-ref.htm
new file mode 100644
index 00000000000..d08f96bfc06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-001-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: rotatex(180deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-013-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-013-ref.htm
new file mode 100644
index 00000000000..6c5810c1fce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-preserve3d-013-ref.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <!-- sqrt(2) == 0.70710678; 200/sqrt(2) == 141.421356.
+ 'transform' is needed on the outer div so the scrollbars are shrunk
+ appropriately. -->
+ </head>
+ <body>
+ <div style="overflow: scroll; transform: scaley(0.70710678);
+ transform-origin: top">
+ <div style="height: 200px">
+ <div style="height: 141.421356px; width: 100px; background: lime">
+ </div>
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-notref.htm
new file mode 100644
index 00000000000..8bf74fbfc5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-notref.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-ref.htm
new file mode 100644
index 00000000000..7fc669b4706
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-perspective-ref.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+
+ perspective: 500px;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+
+ transform: rotateY(40deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-ref.htm
new file mode 100644
index 00000000000..d6157f3b475
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-ref.htm
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-transformorigin-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-transformorigin-ref.htm
new file mode 100644
index 00000000000..48bed60fee6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatex-transformorigin-ref.htm
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); transform-origin: top right;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatey-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatey-ref.htm
new file mode 100644
index 00000000000..0bfb0b0283b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-rotatey-ref.htm
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-notref.htm
new file mode 100644
index 00000000000..a032b2c55e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-notref.htm
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-ref.htm
new file mode 100644
index 00000000000..3687b468b71
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-001-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: scaleX(2) scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-005-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-005-ref.htm
new file mode 100644
index 00000000000..556076df538
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-005-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-007-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-007-ref.htm
new file mode 100644
index 00000000000..a2bcf1a48b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-scale-007-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: scaleY(-1); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-sorting-006-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-sorting-006-ref.htm
new file mode 100644
index 00000000000..aece727dff3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-sorting-006-ref.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <!--
+ In a correct implementation, the bottom borders here will be invisible, because
+ the later divs get painted on top. This is to catch an incorrect pass in
+ Safari on Windows, which draws the test file and the ref with the same error
+ (painting the back halves on top) and so passes if the back halves are solid
+ red and green.
+ -->
+ </head>
+ <body>
+ <div style="height: 70px; width: 50px; background: red;
+ border-bottom: 30px solid black;
+ transform: rotateX(45deg) rotateY(45deg);
+ transform-origin: right"></div>
+ <div style="height: 70px; width: 50px; background: green;
+ border-bottom: 30px solid black;
+ transform: translate(50px, -100px) rotateX(45deg) rotateY(-45deg);
+ transform-origin: left"></div>
+ <div style="height: 100px; width: 50px; background: red;
+ transform: translate(50px, -200px) rotateX(45deg) rotateY(45deg);
+ transform-origin: left"></div>
+ <div style="height: 100px; width: 50px; background: green;
+ transform: translateY(-300px) rotateX(45deg) rotateY(-45deg);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translate3d-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translate3d-ref.htm
new file mode 100644
index 00000000000..d8aaf34bb53
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translate3d-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="transform: rotatex(45deg); transform-origin: 10px 30px -10px;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-notref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-notref.htm
new file mode 100644
index 00000000000..9fb676722f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-notref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: translatez(-20px) rotatex(45deg) translatez(20px); transform-origin: 0 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-ref.htm
new file mode 100644
index 00000000000..3c5235ee6a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transform3d-translatez-ref.htm
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: 0 0 -10px; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-degree-90-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-degree-90-ref.htm
new file mode 100644
index 00000000000..957f5244f98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-degree-90-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .greenRectangle {
+ position: absolute;
+ top: 75px;
+ left: 125px;
+ width: 100px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="greenRectangle"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-translate-scale-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-translate-scale-ref.htm
new file mode 100644
index 00000000000..bc3f94c663c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotate-translate-scale-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function and rotate function with one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-04 -->
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotateY-degree-60-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotateY-degree-60-ref.htm
new file mode 100644
index 00000000000..093e321f7e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-rotateY-degree-60-ref.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-04 -->
+ <style>
+ div {
+ background-color: green;
+ position: absolute;
+ top: 100px;
+ width: 25px;
+ height: 100px;
+ }
+
+ #left {
+ left: 100px;
+ }
+
+ #right {
+ left: 175px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green rectangles.</p>
+ <div id="left"></div>
+ <div id="right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewX-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewX-ref.htm
new file mode 100644
index 00000000000..c359c403219
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewX-ref.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with skew function for X axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .triangle-topright {
+ position: absolute;
+ width: 0;
+ height: 0;
+ top: 50px;
+ left: 50px;
+ border-top: 100px solid green;
+ border-left: 100px solid transparent;
+ }
+
+ .triangle-bottomleft {
+ position: absolute;
+ width: 0;
+ height: 0;
+ top: 50px;
+ left: 150px;
+ border-bottom: 100px solid green;
+ border-right: 100px solid transparent;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a parallelogram and no red.</p>
+ <div class="triangle-topright"></div>
+ <div class="triangle-bottomleft"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewY-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewY-ref.htm
new file mode 100644
index 00000000000..a4a69a95d9c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transforms-skewY-ref.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with skew function for Y axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .triangle-bottomleft {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 0;
+ height: 0;
+ border-bottom: 100px solid green;
+ border-right: 100px solid transparent;
+ }
+ .triangle-topright {
+ position: absolute;
+ top: 150px;
+ left: 100px;
+ width: 0;
+ height: 0;
+ border-top: 100px solid green;
+ border-left: 100px solid transparent;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green parallelogram and no red.</p>
+ <div class="triangle-topright"></div>
+ <div class="triangle-bottomleft"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-optional-second-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-optional-second-ref.htm
new file mode 100644
index 00000000000..4033ce90181
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-optional-second-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-ref.htm
new file mode 100644
index 00000000000..4c4d7d2f5e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/translate-ref.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <style type="text/css">
+ .container {
+ border: 1px solid gray;
+ width: 300px;
+ height: 300px;
+ }
+
+ .inner {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+
+ position: relative;
+ left:100px;
+ top:100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only one green area, no red area.</p>
+ <div class="container">
+ <div class="inner">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-preserve-3d-1-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-preserve-3d-1-ref.htm
new file mode 100644
index 00000000000..0a687ff0e0d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-preserve-3d-1-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform preserve-3d</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky">
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateX-3-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateX-3-ref.htm
new file mode 100644
index 00000000000..a755fa7d91d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateX-3-ref.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform rotateX</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky">
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateY-1-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateY-1-ref.htm
new file mode 100644
index 00000000000..dc21d68438f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/transofrmed-rotateY-1-ref.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform rotateY</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky">
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ border: 1px solid black;
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-css-3d-polygon-cycle-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-css-3d-polygon-cycle-ref.htm
new file mode 100644
index 00000000000..1dc0e0cd246
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-css-3d-polygon-cycle-ref.htm
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red0 {
+ background-color: red;
+ left: 6px;
+ width: 100px;
+ height: 50px;
+ }
+ #green0 {
+ background-color: green;
+ top: 6px;
+ width: 50px;
+ height: 100px;
+ }
+ #blue0 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ transform: translate(40px, 81px) rotate(45deg);
+ }
+ #red1 {
+ background-color: red;
+ width: 100px;
+ height: 50px;
+ transform: translate(94px, 0px);
+ }
+ #green1 {
+ background-color: green;
+ width: 50px;
+ height: 100px;
+ transform: translate(0px, 94px);
+ }
+ #blue1 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ transform: translate(102px, 19px) rotate(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="blue0" class="rect"></div>
+ <div id="green0" class="rect"></div>
+ <div id="red0" class="rect"></div>
+ <div id="red1" class="rect"></div>
+ <div id="green1" class="rect"></div>
+ <div id="blue1" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-rotate-ref.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-rotate-ref.htm
new file mode 100644
index 00000000000..64c9a093f42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-rotate-ref.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey">
+ <style type="text/css">
+ body {margin:0}
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div class="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewx-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewx-001.htm
new file mode 100644
index 00000000000..46f5bdedced
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewx-001.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div class="greenSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="100px" width="200px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 200 100">
+ <polygon points="200,100 100,100 0,0 100,0 " fill="green"></polygon>
+ </svg>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewy-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewy-001.htm
new file mode 100644
index 00000000000..0f576be7e06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-skewy-001.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <meta content="svg" name="flags">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div class="greenSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="200px" width="100px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 100 200">
+ <polygon points="100,200 0,99.999 0,0 100,100 " fill="green"></polygon>
+ </svg>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatex-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatex-001.htm
new file mode 100644
index 00000000000..c7648f4026c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatex-001.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 1000px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatey-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatey-001.htm
new file mode 100644
index 00000000000..271686b8fec
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reference/ttwf-reftest-transform-translatey-001.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 200px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reftest-toc.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/reftest-toc.htm
new file mode 100644
index 00000000000..a68efd8c598
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reftest-toc.htm
@@ -0,0 +1,8289 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite Reftest Index</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite Reftest Index</h1>
+ <table width="100%">
+ <col id="test-column">
+ <col id="ref-column">
+ <col id="flags-column">
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th>Reference</th>
+ <th>Flags</th>
+ </tr>
+ </thead>
+ <tbody id="2d-rotate-001" class="css3, rotate, svg">
+ <tr>
+ <td rowspan="1" title="CSS Transform using 2d rotate()">
+ <a href="2d-rotate-001.htm">2d-rotate-001</a></td>
+ <td><a href="reference/2d-rotate-ref.htm">=</a> <a href="reference/2d-rotate-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="animations-001" class="ahem animated">
+ <tr>
+ <td rowspan="1" title="CSS Regions: animating content flowed into a region">
+ <a href="animations-001.htm">animations-001</a></td>
+ <td><a href="reference/animations-001-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="animated" title="Animated test">Animated</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="backface-visibility-hidden-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with backface visibility = hidden">
+ <a href="backface-visibility-hidden-001.htm">backface-visibility-hidden-001</a></td>
+ <td><a href="reference/backface-visibility-hidden-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="canvas3d-001" class="dom">
+ <tr>
+ <td rowspan="1" title="CSS Regions: rendering 3D canvas elements inside regions">
+ <a href="canvas3d-001.htm">canvas3d-001</a></td>
+ <td><a href="reference/canvas3d-001-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="canvas3d-002" class="dom">
+ <tr>
+ <td rowspan="1" title="CSS Regions: rendering text flowed in a region on top of 3D content">
+ <a href="canvas3d-002.htm">canvas3d-002</a></td>
+ <td><a href="reference/canvas3d-002-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="css-rotate-2d-3d-001" class="">
+ <tr>
+ <td rowspan="1" title="2D rotation with 3D rotation">
+ <a href="css-rotate-2d-3d-001.htm">css-rotate-2d-3d-001</a></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-scale-nested-001" class="">
+ <tr>
+ <td rowspan="1" title="scale 0 on a parent with a child">
+ <a href="css-scale-nested-001.htm">css-scale-nested-001</a></td>
+ <td><a href="reference/css-scale-nested-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-skew-001" class="">
+ <tr>
+ <td rowspan="1" title="skew function part 1">
+ <a href="css-skew-001.htm">css-skew-001</a></td>
+ <td><a href="reference/css-skew-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-skew-002" class="">
+ <tr>
+ <td rowspan="1" title="skew function part 2">
+ <a href="css-skew-002.htm">css-skew-002</a></td>
+ <td><a href="reference/css-skew-002-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-x-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-X-negative.htm">css-transform-3d-rotate3d-x-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-x-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-X-positive.htm">css-transform-3d-rotate3d-x-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-y-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Y-negative.htm">css-transform-3d-rotate3d-y-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-y-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Y-positive.htm">css-transform-3d-rotate3d-y-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-z-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Z-negative.htm">css-transform-3d-rotate3d-z-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-z-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Z-positive.htm">css-transform-3d-rotate3d-z-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatex-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotateX on div element">
+ <a href="css-transform-3d-rotateX-negative.htm">css-transform-3d-rotatex-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatex-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotateX on div element">
+ <a href="css-transform-3d-rotateX-positive.htm">css-transform-3d-rotatex-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatey-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotateY on div element">
+ <a href="css-transform-3d-rotateY-negative.htm">css-transform-3d-rotatey-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatey-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotateY on div element">
+ <a href="css-transform-3d-rotateY-positive.htm">css-transform-3d-rotatey-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatez-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotateZ-negative.htm">css-transform-3d-rotatez-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatez-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotateZ-positive.htm">css-transform-3d-rotatez-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-transform-style" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with transform-style on nested elements">
+ <a href="css-transform-3d-transform-style.htm">css-transform-3d-transform-style</a></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function on hover state">
+ <a href="css-transform-scale-001.htm">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and move its origin">
+ <a href="css-transform-scale-002.htm">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transforms-3d-on-anonymous-block-001" class="">
+ <tr>
+ <td rowspan="1" title="No 3D transforms on anonymous block boxes">
+ <a href="css-transforms-3d-on-anonymous-block-001.htm">css-transforms-3d-on-anonymous-block-001</a></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transforms-transformlist" class="">
+ <tr>
+ <td rowspan="1" title="SVG transform in baseVal list">
+ <a href="css-transforms-transformlist.htm">css-transforms-transformlist</a></td>
+ <td><a href="reference/css-transforms-transformlist-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-perspective" class="">
+ <tr>
+ <td rowspan="1" title="rotateX 90 degrees with perspective make it invisible">
+ <a href="css3-transform-perspective.htm">css3-transform-perspective</a></td>
+ <td><a href="reference/css3-transform-perspective-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-rotatey" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotateY function">
+ <a href="css3-transform-rotateY.htm">css3-transform-rotatey</a></td>
+ <td><a href="reference/css3-transform-rotateY-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-scale" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function">
+ <a href="css3-transform-scale.htm">css3-transform-scale</a></td>
+ <td><a href="reference/css3-transform-scale-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function">
+ <a href="css3-transform-scale-002.htm">css3-transform-scale-002</a></td>
+ <td><a href="reference/css3-transform-scale-ref-002.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="iframe-001" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: flowing an iframe that loads content with 3D transform">
+ <a href="iframe-001.htm">iframe-001</a></td>
+ <td><a href="reference/iframe-001-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 0px center('center' computes to '50%' in vertical position)">
+ <a href="perspective-origin-001.htm">perspective-origin-001</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - center 0px('center' computes to '50%' in horizontal position)">
+ <a href="perspective-origin-002.htm">perspective-origin-002</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-003" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)">
+ <a href="perspective-origin-003.htm">perspective-origin-003</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-004" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 50% top('top' computes to '0%' in vertical position)">
+ <a href="perspective-origin-004.htm">perspective-origin-004</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-005" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - left 50%('left' computes to '0%' in horizontal position)">
+ <a href="perspective-origin-005.htm">perspective-origin-005</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-006" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - right 50%('right' computes to '100%' in horizontal position)">
+ <a href="perspective-origin-006.htm">perspective-origin-006</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-x" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-origin-x.htm">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-xy" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-origin-xy.htm">perspective-origin-xy</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-0" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-0.htm">perspective-translatez-0</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-negative" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-negative.htm">perspective-translatez-negative</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-positive" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-positive.htm">perspective-translatez-positive</a></td>
+ <td><a href="reference/perspective-reftest.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (non-text) content">
+ <a href="regions-transforms-001.htm">regions-transforms-001</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-002" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow content element that has a child">
+ <a href="regions-transforms-002.htm">regions-transforms-002</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-003" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Named flow content that has a transformed parent outside of the named flow">
+ <a href="regions-transforms-003.htm">regions-transforms-003</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-004" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region using a 3D transform">
+ <a href="regions-transforms-004.htm">regions-transforms-004</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-005" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region">
+ <a href="regions-transforms-005.htm">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-006" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on region with named flow (text) content that overflows">
+ <a href="regions-transforms-006.htm">regions-transforms-006</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-007" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on both the named flow content and the region">
+ <a href="regions-transforms-007.htm">regions-transforms-007</a></td>
+ <td><a href="reference/regions-transforms-001-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-008" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows">
+ <a href="regions-transforms-008.htm">regions-transforms-008</a></td>
+ <td><a href="reference/regions-transforms-008-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-009" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows">
+ <a href="regions-transforms-009.htm">regions-transforms-009</a></td>
+ <td><a href="reference/regions-transforms-008-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-010" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with position: relative">
+ <a href="regions-transforms-010.htm">regions-transforms-010</a></td>
+ <td><a href="reference/regions-transforms-010-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-011" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region where parent and child are separate named flow content nodes">
+ <a href="regions-transforms-011.htm">regions-transforms-011</a></td>
+ <td><a href="reference/regions-transforms-010-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-012" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow content flowing into transformed region">
+ <a href="regions-transforms-012.htm">regions-transforms-012</a></td>
+ <td><a href="reference/regions-transforms-010-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-013" class="">
+ <tr>
+ <td rowspan="2" title="CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions">
+ <a href="regions-transforms-013.htm">regions-transforms-013</a></td>
+ <td><a href="reference/regions-transforms-013-alt-ref.htm">=</a> </td>
+ <td rowspan="2"></td>
+ </tr>
+ <tr>
+ <td><a href="reference/regions-transforms-013-alt-ref.htm">=</a></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-014" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transform region with position:absolute and transform-origin">
+ <a href="regions-transforms-014.htm">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-015" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute">
+ <a href="regions-transforms-015.htm">regions-transforms-015</a></td>
+ <td><a href="reference/regions-transforms-014-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-016" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow content with perspective()">
+ <a href="regions-transforms-016.htm">regions-transforms-016</a></td>
+ <td><a href="reference/regions-transforms-016-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-017" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Multiple transformed named flow content nodes that overflow a region">
+ <a href="regions-transforms-017.htm">regions-transforms-017</a></td>
+ <td><a href="reference/regions-transforms-017-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-018" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow (text) content that overflows a region">
+ <a href="regions-transforms-018.htm">regions-transforms-018</a></td>
+ <td><a href="reference/regions-transforms-018-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-019" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow (text) content with perspective property set on region">
+ <a href="regions-transforms-019.htm">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-020" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions">
+ <a href="regions-transforms-020.htm">regions-transforms-020</a></td>
+ <td><a href="reference/regions-transforms-020-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-021" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions">
+ <a href="regions-transforms-021.htm">regions-transforms-021</a></td>
+ <td><a href="reference/regions-transforms-020-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-022" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions">
+ <a href="regions-transforms-022.htm">regions-transforms-022</a></td>
+ <td><a href="reference/regions-transforms-020-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="rotate_45deg.htm">rotate_45deg</a></td>
+ <td><a href="reference/rotate_45deg-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_x_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateX with perspective produces a trapezoid">
+ <a href="rotate_x_45deg.htm">rotate_x_45deg</a></td>
+ <td><a href="reference/rotate_x_45deg-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_y_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="rotate_y_45deg.htm">rotate_y_45deg</a></td>
+ <td><a href="reference/rotate_y_45deg-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotatey" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotateY">
+ <a href="rotateY.htm">rotatey</a></td>
+ <td><a href="reference/rotateY-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scale-optional-second-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and one parameter">
+ <a href="scale-optional-second-001.htm">scale-optional-second-001</a></td>
+ <td><a href="reference/scale-optional-second-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scale-zero-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and zero values">
+ <a href="scale-zero-001.htm">scale-zero-001</a></td>
+ <td><a href="reference/scale-zero-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scalex" class="">
+ <tr>
+ <td rowspan="1" title="test scale x">
+ <a href="scalex.htm">scalex</a></td>
+ <td><a href="reference/scalex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scaley" class="">
+ <tr>
+ <td rowspan="1" title="test scale y">
+ <a href="scaley.htm">scaley</a></td>
+ <td><a href="reference/scaley-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="skew-test1" class="svg">
+ <tr>
+ <td rowspan="1" title="Testing 1 - skew()">
+ <a href="skew-test1.htm">skew-test1</a></td>
+ <td><a href="reference/skew-test1-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-document-styles-001.htm">svg-document-styles-001</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-document-styles-002.htm">svg-document-styles-002</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-document-styles-003.htm">svg-document-styles-003</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-document-styles-004.htm">svg-document-styles-004</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid document transform style">
+ <a href="svg-document-styles-005.htm">svg-document-styles-005</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group">
+ <a href="svg-document-styles-006.htm">svg-document-styles-006</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-document-styles-007.htm">svg-document-styles-007</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document and presentation attribute styles on an SVG element">
+ <a href="svg-document-styles-008.htm">svg-document-styles-008</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-document-styles-009.htm">svg-document-styles-009</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-document-styles-010.htm">svg-document-styles-010</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-document-styles-011.htm">svg-document-styles-011</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="Document style of rotate with three arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-document-styles-012.htm">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style">
+ <a href="svg-document-styles-013.htm">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document and presentation attribute styles on an SVG element using rotate with three arguments">
+ <a href="svg-document-styles-014.htm">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-external-styles-001.htm">svg-external-styles-001</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-external-styles-002.htm">svg-external-styles-002</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-external-styles-003.htm">svg-external-styles-003</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-external-styles-004.htm">svg-external-styles-004</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid external transform style">
+ <a href="svg-external-styles-005.htm">svg-external-styles-005</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group">
+ <a href="svg-external-styles-006.htm">svg-external-styles-006</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-external-styles-007.htm">svg-external-styles-007</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external and presentation attribute styles on an SVG element">
+ <a href="svg-external-styles-008.htm">svg-external-styles-008</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-external-styles-009.htm">svg-external-styles-009</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-external-styles-010.htm">svg-external-styles-010</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-external-styles-011.htm">svg-external-styles-011</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="External style of rotate with three arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-external-styles-012.htm">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style">
+ <a href="svg-external-styles-013.htm">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external and presentation attribute styles on an SVG element">
+ <a href="svg-external-styles-014.htm">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-gradientTransform-001.htm">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-gradientTransform-002.htm">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-gradientTransform-003.htm">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-gradientTransform-004.htm">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-gradientTransform-005.htm">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-gradientTransform-006.htm">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-gradientTransform-007.htm">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-gradientTransform-008.htm">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-gradientTransform-009.htm">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-010.htm">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-011.htm">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-012.htm">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-013.htm">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-014.htm">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-015.htm">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-016.htm">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-gradientTransform-017.htm">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-018.htm">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-019.htm">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-020.htm">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-021.htm">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-022.htm">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-023.htm">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-024.htm">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-gradientTransform-025.htm">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-gradientTransform-026.htm">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-gradientTransform-027.htm">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-gradientTransform-028.htm">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-gradientTransform-029.htm">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-gradientTransform-030.htm">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-gradientTransform-031.htm">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-gradientTransform-032.htm">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-gradientTransform-033.htm">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-034.htm">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-035.htm">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-036.htm">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-037.htm">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-038.htm">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-039.htm">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-040.htm">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-gradientTransform-041.htm">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-042.htm">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-043.htm">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-044.htm">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-045.htm">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-046.htm">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-047.htm">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-048.htm">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG transform presentation attribute on the gradient element - has no effect">
+ <a href="svg-gradientTransform-049.htm">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute with translateX applied twice">
+ <a href="svg-gradientTransform-combination-001.htm">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units">
+ <a href="svg-gradientTransform-combination-002.htm">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-gradientTransform-combination-003.htm">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-gradientTransform-ex-unit-001.htm">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-ex-unit-002.htm">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-ex-unit-003.htm">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-gradientTransform-ex-unit-004.htm">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-ex-unit-005.htm">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-ex-unit-006.htm">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect">
+ <a href="svg-gradientTransform-relative-001.htm">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect">
+ <a href="svg-gradientTransform-relative-002.htm">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect">
+ <a href="svg-gradientTransform-relative-003.htm">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-inline-styles-001.htm">svg-inline-styles-001</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-inline-styles-002.htm">svg-inline-styles-002</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-inline-styles-003.htm">svg-inline-styles-003</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-inline-styles-004.htm">svg-inline-styles-004</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid inline transform style">
+ <a href="svg-inline-styles-005.htm">svg-inline-styles-005</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group">
+ <a href="svg-inline-styles-006.htm">svg-inline-styles-006</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-inline-styles-007.htm">svg-inline-styles-007</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline and presentation attribute styles on an SVG element">
+ <a href="svg-inline-styles-008.htm">svg-inline-styles-008</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-inline-styles-009.htm">svg-inline-styles-009</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-inline-styles-010.htm">svg-inline-styles-010</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-inline-styles-011.htm">svg-inline-styles-011</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-inline-styles-012.htm">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style">
+ <a href="svg-inline-styles-013.htm">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments">
+ <a href="svg-inline-styles-014.htm">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0">
+ <a href="svg-matrix-001.htm">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0">
+ <a href="svg-matrix-002.htm">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0">
+ <a href="svg-matrix-003.htm">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0">
+ <a href="svg-matrix-004.htm">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0">
+ <a href="svg-matrix-005.htm">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0">
+ <a href="svg-matrix-006.htm">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100">
+ <a href="svg-matrix-007.htm">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100">
+ <a href="svg-matrix-008.htm">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0">
+ <a href="svg-matrix-009.htm">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100">
+ <a href="svg-matrix-010.htm">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0">
+ <a href="svg-matrix-011.htm">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100">
+ <a href="svg-matrix-012.htm">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0">
+ <a href="svg-matrix-013.htm">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0">
+ <a href="svg-matrix-014.htm">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100">
+ <a href="svg-matrix-015.htm">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100">
+ <a href="svg-matrix-016.htm">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100">
+ <a href="svg-matrix-017.htm">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100">
+ <a href="svg-matrix-018.htm">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0">
+ <a href="svg-matrix-019.htm">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100">
+ <a href="svg-matrix-020.htm">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0">
+ <a href="svg-matrix-021.htm">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100">
+ <a href="svg-matrix-022.htm">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0">
+ <a href="svg-matrix-023.htm">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0">
+ <a href="svg-matrix-024.htm">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0">
+ <a href="svg-matrix-025.htm">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100">
+ <a href="svg-matrix-026.htm">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100">
+ <a href="svg-matrix-027.htm">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100">
+ <a href="svg-matrix-028.htm">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1">
+ <a href="svg-matrix-029.htm">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100">
+ <a href="svg-matrix-030.htm">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100">
+ <a href="svg-matrix-031.htm">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-032" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0">
+ <a href="svg-matrix-032.htm">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1">
+ <a href="svg-matrix-033.htm">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0">
+ <a href="svg-matrix-034.htm">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100">
+ <a href="svg-matrix-035.htm">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0">
+ <a href="svg-matrix-036.htm">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0">
+ <a href="svg-matrix-037.htm">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50">
+ <a href="svg-matrix-038.htm">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100">
+ <a href="svg-matrix-039.htm">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-040" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50">
+ <a href="svg-matrix-040.htm">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0">
+ <a href="svg-matrix-041.htm">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50">
+ <a href="svg-matrix-042.htm">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0">
+ <a href="svg-matrix-043.htm">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0">
+ <a href="svg-matrix-044.htm">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150">
+ <a href="svg-matrix-045.htm">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0">
+ <a href="svg-matrix-046.htm">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100">
+ <a href="svg-matrix-047.htm">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-048" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200">
+ <a href="svg-matrix-048.htm">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas and no spaces">
+ <a href="svg-matrix-049.htm">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-050" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma">
+ <a href="svg-matrix-050.htm">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-051" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma">
+ <a href="svg-matrix-051.htm">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-052" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma">
+ <a href="svg-matrix-052.htm">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-053" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma">
+ <a href="svg-matrix-053.htm">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-054" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma">
+ <a href="svg-matrix-054.htm">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-055" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma">
+ <a href="svg-matrix-055.htm">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-056" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by multiple spaces">
+ <a href="svg-matrix-056.htm">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-057" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas">
+ <a href="svg-matrix-057.htm">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-058" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'a' value">
+ <a href="svg-matrix-058.htm">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-059" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'b' value">
+ <a href="svg-matrix-059.htm">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-060" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'c' value">
+ <a href="svg-matrix-060.htm">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-061" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'd' value">
+ <a href="svg-matrix-061.htm">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-062" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'e' value">
+ <a href="svg-matrix-062.htm">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-063" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'f' value">
+ <a href="svg-matrix-063.htm">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-064" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'a' value with another transform function">
+ <a href="svg-matrix-064.htm">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-065" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'b' value with another transform function">
+ <a href="svg-matrix-065.htm">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-066" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'c' value with another transform function">
+ <a href="svg-matrix-066.htm">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-067" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'd' value with another transform function">
+ <a href="svg-matrix-067.htm">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-068" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'e' value with another transform function">
+ <a href="svg-matrix-068.htm">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-069" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'f' value with another transform function">
+ <a href="svg-matrix-069.htm">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - default value">
+ <a href="svg-origin-length-001.htm">svg-origin-length-001</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 0">
+ <a href="svg-origin-length-002.htm">svg-origin-length-002</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 100px 0">
+ <a href="svg-origin-length-003.htm">svg-origin-length-003</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 100px">
+ <a href="svg-origin-length-004.htm">svg-origin-length-004</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 50px 50px">
+ <a href="svg-origin-length-005.htm">svg-origin-length-005</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 100px 0">
+ <a href="svg-origin-length-006.htm">svg-origin-length-006</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 100">
+ <a href="svg-origin-length-007.htm">svg-origin-length-007</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 50 50">
+ <a href="svg-origin-length-008.htm">svg-origin-length-008</a></td>
+ <td><a href="reference/svg-origin-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in cm - default value">
+ <a href="svg-origin-length-cm-001.htm">svg-origin-length-cm-001</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in cm - 0 0">
+ <a href="svg-origin-length-cm-002.htm">svg-origin-length-cm-002</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 2cm 0">
+ <a href="svg-origin-length-cm-003.htm">svg-origin-length-cm-003</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 2cm">
+ <a href="svg-origin-length-cm-004.htm">svg-origin-length-cm-004</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 1cm 1cm">
+ <a href="svg-origin-length-cm-005.htm">svg-origin-length-cm-005</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in inch - default value">
+ <a href="svg-origin-length-in-001.htm">svg-origin-length-in-001</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in inch - 0 0">
+ <a href="svg-origin-length-in-002.htm">svg-origin-length-in-002</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 1.5in 0">
+ <a href="svg-origin-length-in-003.htm">svg-origin-length-in-003</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 1.5in">
+ <a href="svg-origin-length-in-004.htm">svg-origin-length-in-004</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0.75in 0.75in">
+ <a href="svg-origin-length-in-005.htm">svg-origin-length-in-005</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in pt - default value">
+ <a href="svg-origin-length-pt-001.htm">svg-origin-length-pt-001</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in pt - 0 0">
+ <a href="svg-origin-length-pt-002.htm">svg-origin-length-pt-002</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 80pt 0">
+ <a href="svg-origin-length-pt-003.htm">svg-origin-length-pt-003</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 80pt">
+ <a href="svg-origin-length-pt-004.htm">svg-origin-length-pt-004</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 40pt 40pt">
+ <a href="svg-origin-length-pt-005.htm">svg-origin-length-pt-005</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value absolute value and missing second argument">
+ <a href="svg-origin-relative-length-001.htm">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value 'center' value and missing second argument">
+ <a href="svg-origin-relative-length-002.htm">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value '50%' value and missing second argument">
+ <a href="svg-origin-relative-length-003.htm">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% 50%'">
+ <a href="svg-origin-relative-length-004.htm">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% center'">
+ <a href="svg-origin-relative-length-005.htm">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 50%'">
+ <a href="svg-origin-relative-length-006.htm">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center center'">
+ <a href="svg-origin-relative-length-007.htm">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '75 center'">
+ <a href="svg-origin-relative-length-008.htm">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '75 50%'">
+ <a href="svg-origin-relative-length-009.htm">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 75'">
+ <a href="svg-origin-relative-length-010.htm">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% 75'">
+ <a href="svg-origin-relative-length-011.htm">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0'">
+ <a href="svg-origin-relative-length-012.htm">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '150'">
+ <a href="svg-origin-relative-length-013.htm">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '100%'">
+ <a href="svg-origin-relative-length-014.htm">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right'">
+ <a href="svg-origin-relative-length-015.htm">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left'">
+ <a href="svg-origin-relative-length-016.htm">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '25%'">
+ <a href="svg-origin-relative-length-017.htm">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top'">
+ <a href="svg-origin-relative-length-018.htm">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom'">
+ <a href="svg-origin-relative-length-019.htm">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0% 0%'">
+ <a href="svg-origin-relative-length-020.htm">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top right'">
+ <a href="svg-origin-relative-length-021.htm">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top left'">
+ <a href="svg-origin-relative-length-022.htm">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top center'">
+ <a href="svg-origin-relative-length-023.htm">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom left'">
+ <a href="svg-origin-relative-length-024.htm">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom center'">
+ <a href="svg-origin-relative-length-025.htm">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom right'">
+ <a href="svg-origin-relative-length-026.htm">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right top'">
+ <a href="svg-origin-relative-length-027.htm">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right center'">
+ <a href="svg-origin-relative-length-028.htm">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right bottom'">
+ <a href="svg-origin-relative-length-029.htm">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 75'">
+ <a href="svg-origin-relative-length-030.htm">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 0%'">
+ <a href="svg-origin-relative-length-031.htm">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-032" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 100%'">
+ <a href="svg-origin-relative-length-032.htm">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left top'">
+ <a href="svg-origin-relative-length-033.htm">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left center'">
+ <a href="svg-origin-relative-length-034.htm">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left bottom'">
+ <a href="svg-origin-relative-length-035.htm">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 75'">
+ <a href="svg-origin-relative-length-036.htm">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 0%'">
+ <a href="svg-origin-relative-length-037.htm">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 100%'">
+ <a href="svg-origin-relative-length-038.htm">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center top'">
+ <a href="svg-origin-relative-length-039.htm">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-040" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center bottom'">
+ <a href="svg-origin-relative-length-040.htm">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center left'">
+ <a href="svg-origin-relative-length-041.htm">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center right'">
+ <a href="svg-origin-relative-length-042.htm">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 100%'">
+ <a href="svg-origin-relative-length-043.htm">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0 center'">
+ <a href="svg-origin-relative-length-044.htm">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 0%'">
+ <a href="svg-origin-relative-length-045.htm">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 0'">
+ <a href="svg-origin-relative-length-046.htm">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top 100%'">
+ <a href="svg-origin-relative-length-invalid-001.htm">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'">
+ <a href="svg-origin-relative-length-invalid-002.htm">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top 150'">
+ <a href="svg-origin-relative-length-invalid-003.htm">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom 150'">
+ <a href="svg-origin-relative-length-invalid-004.htm">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top top'">
+ <a href="svg-origin-relative-length-invalid-005.htm">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'">
+ <a href="svg-origin-relative-length-invalid-006.htm">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top bottom'">
+ <a href="svg-origin-relative-length-invalid-007.htm">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom top'">
+ <a href="svg-origin-relative-length-invalid-008.htm">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'left left'">
+ <a href="svg-origin-relative-length-invalid-009.htm">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'left right'">
+ <a href="svg-origin-relative-length-invalid-010.htm">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'right right'">
+ <a href="svg-origin-relative-length-invalid-011.htm">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'right left'">
+ <a href="svg-origin-relative-length-invalid-012.htm">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-patternTransform-001.htm">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-patternTransform-002.htm">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-patternTransform-003.htm">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-patternTransform-004.htm">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-patternTransform-005.htm">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-patternTransform-006.htm">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-patternTransform-007.htm">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-patternTransform-008.htm">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-patternTransform-009.htm">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-patternTransform-010.htm">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-patternTransform-011.htm">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-patternTransform-012.htm">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-013.htm">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-014.htm">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-patternTransform-015.htm">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-patternTransform-016.htm">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-patternTransform-017.htm">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-018.htm">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-019.htm">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-020.htm">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-021.htm">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-022.htm">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-023.htm">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-024.htm">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-patternTransform-025.htm">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-patternTransform-026.htm">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-patternTransform-027.htm">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-patternTransform-028.htm">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-patternTransform-029.htm">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-patternTransform-030.htm">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-patternTransform-031.htm">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-patternTransform-032.htm">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-patternTransform-033.htm">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-patternTransform-034.htm">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-patternTransform-035.htm">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-patternTransform-036.htm">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-037.htm">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-038.htm">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-patternTransform-039.htm">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-patternTransform-040.htm">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-patternTransform-041.htm">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-042.htm">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-043.htm">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-044.htm">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-045.htm">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-046.htm">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-047.htm">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-048.htm">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG transform presentation attribute on the pattern element - not supported">
+ <a href="svg-patternTransform-049.htm">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied twice">
+ <a href="svg-patternTransform-combination-001.htm">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units">
+ <a href="svg-patternTransform-combination-002.htm">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-patternTransform-combination-003.htm">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-patternTransform-ex-unit-001.htm">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-patternTransform-ex-unit-002.htm">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-ex-unit-003.htm">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-patternTransform-ex-unit-004.htm">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-patternTransform-ex-unit-005.htm">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-ex-unit-006.htm">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX">
+ <a href="svg-patternTransform-relative-001.htm">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX">
+ <a href="svg-patternTransform-relative-002.htm">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect">
+ <a href="svg-patternTransform-relative-003.htm">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and pixel on translate">
+ <a href="svg-rotate-3args-001.htm">svg-rotate-3args-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments without units on rotate or translate values">
+ <a href="svg-rotate-3args-002.htm">svg-rotate-3args-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with grad on rotate and pt on translate">
+ <a href="svg-rotate-3args-003.htm">svg-rotate-3args-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with turn on rotate and pc on translate">
+ <a href="svg-rotate-3args-004.htm">svg-rotate-3args-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with rad on rotate and mm on translate">
+ <a href="svg-rotate-3args-005.htm">svg-rotate-3args-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative rotate">
+ <a href="svg-rotate-3args-006.htm">svg-rotate-3args-006</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative translateX">
+ <a href="svg-rotate-3args-007.htm">svg-rotate-3args-007</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative translateY">
+ <a href="svg-rotate-3args-008.htm">svg-rotate-3args-008</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with scientific numbers on degree angles">
+ <a href="svg-rotate-3args-009.htm">svg-rotate-3args-009</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with pixel units in scientific notation on translate">
+ <a href="svg-rotate-3args-010.htm">svg-rotate-3args-010</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and percentage units on translate">
+ <a href="svg-rotate-3args-011.htm">svg-rotate-3args-011</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and negative percentage units on translate">
+ <a href="svg-rotate-3args-012.htm">svg-rotate-3args-012</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with space delimited arguments">
+ <a href="svg-rotate-3args-013.htm">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments">
+ <a href="svg-rotate-3args-014.htm">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments with a space after the comma">
+ <a href="svg-rotate-3args-015.htm">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas">
+ <a href="svg-rotate-3args-016.htm">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with length values - 40px 40px">
+ <a href="svg-rotate-3args-017.htm">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument">
+ <a href="svg-rotate-3args-018.htm">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument">
+ <a href="svg-rotate-3args-019.htm">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'">
+ <a href="svg-rotate-3args-020.htm">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values">
+ <a href="svg-rotate-3args-021.htm">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values">
+ <a href="svg-rotate-3args-022.htm">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values">
+ <a href="svg-rotate-3args-023.htm">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with one absolute translation-value argument">
+ <a href="svg-rotate-3args-invalid-001.htm">svg-rotate-3args-invalid-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with no translation-value arguments and a comma">
+ <a href="svg-rotate-3args-invalid-002.htm">svg-rotate-3args-invalid-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments, with a third absolute translation-value argument">
+ <a href="svg-rotate-3args-invalid-003.htm">svg-rotate-3args-invalid-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with one relative translation-value argument">
+ <a href="svg-rotate-3args-invalid-004.htm">svg-rotate-3args-invalid-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments, with a third relative translation-value argument">
+ <a href="svg-rotate-3args-invalid-005.htm">svg-rotate-3args-invalid-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on rotate">
+ <a href="svg-rotate-angle-45-001.htm">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on rotate">
+ <a href="svg-rotate-angle-45-002.htm">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on rotate">
+ <a href="svg-rotate-angle-45-003.htm">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on rotate">
+ <a href="svg-rotate-angle-45-004.htm">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on rotate">
+ <a href="svg-rotate-angle-45-005.htm">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative, unit less turn">
+ <a href="svg-rotate-angle-45-006.htm">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative degrees">
+ <a href="svg-rotate-angle-45-007.htm">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative gradians">
+ <a href="svg-rotate-angle-45-008.htm">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative radians">
+ <a href="svg-rotate-angle-45-009.htm">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative turns">
+ <a href="svg-rotate-angle-45-010.htm">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with unit less angle">
+ <a href="svg-rotate-angle-45-011.htm">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in degree">
+ <a href="svg-rotate-angle-45-012.htm">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in gradian">
+ <a href="svg-rotate-angle-45-013.htm">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in radian">
+ <a href="svg-rotate-angle-45-014.htm">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in turn">
+ <a href="svg-rotate-angle-45-015.htm">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on unit less angles">
+ <a href="svg-rotate-angle-45-016.htm">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on degree angles">
+ <a href="svg-rotate-angle-45-017.htm">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on gradian angles">
+ <a href="svg-rotate-angle-45-018.htm">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on radian angles">
+ <a href="svg-rotate-angle-45-019.htm">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and with scientific numbers on turns">
+ <a href="svg-rotate-angle-45-020.htm">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-rotate-angle-45-021.htm">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-rotate-angle-45-022.htm">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-rotate-angle-45-023.htm">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-rotate-angle-45-024.htm">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-rotate-angle-45-025.htm">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on rotate">
+ <a href="svg-rotate-angle-90-001.htm">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on rotate">
+ <a href="svg-rotate-angle-90-002.htm">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on rotate">
+ <a href="svg-rotate-angle-90-003.htm">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on rotate">
+ <a href="svg-rotate-angle-90-004.htm">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on rotate">
+ <a href="svg-rotate-angle-90-005.htm">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative, unit less turn">
+ <a href="svg-rotate-angle-90-006.htm">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative degrees">
+ <a href="svg-rotate-angle-90-007.htm">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative gradians">
+ <a href="svg-rotate-angle-90-008.htm">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative radians">
+ <a href="svg-rotate-angle-90-009.htm">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative turns">
+ <a href="svg-rotate-angle-90-010.htm">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with unit less angle">
+ <a href="svg-rotate-angle-90-011.htm">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in degree">
+ <a href="svg-rotate-angle-90-012.htm">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in gradian">
+ <a href="svg-rotate-angle-90-013.htm">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in radian">
+ <a href="svg-rotate-angle-90-014.htm">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in turn">
+ <a href="svg-rotate-angle-90-015.htm">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on unit less angles">
+ <a href="svg-rotate-angle-90-016.htm">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on degree angles">
+ <a href="svg-rotate-angle-90-017.htm">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on gradian angles">
+ <a href="svg-rotate-angle-90-018.htm">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on radian angles">
+ <a href="svg-rotate-angle-90-019.htm">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on turns">
+ <a href="svg-rotate-angle-90-020.htm">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-rotate-angle-90-021.htm">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-rotate-angle-90-022.htm">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-rotate-angle-90-023.htm">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-rotate-angle-90-024.htm">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-rotate-angle-90-025.htm">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 with only one parameter specified">
+ <a href="svg-scale-001.htm">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 1.5 with only one parameter specified">
+ <a href="svg-scale-002.htm">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 2 with only one parameter specified">
+ <a href="svg-scale-003.htm">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace">
+ <a href="svg-scale-004.htm">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale with percent values - not supported">
+ <a href="svg-scale-005.htm">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 0.5 and vertically 1.5">
+ <a href="svg-scale-006.htm">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 1.5 and vertically 0.5">
+ <a href="svg-scale-007.htm">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 on the g element">
+ <a href="svg-scale-008.htm">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element">
+ <a href="svg-scale-009.htm">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 with only one parameter specified">
+ <a href="svg-scale-010.htm">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -2 with only one parameter specified">
+ <a href="svg-scale-011.htm">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace">
+ <a href="svg-scale-012.htm">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -0.5 and vertically -1.5">
+ <a href="svg-scale-013.htm">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -1.5 and vertically -0.5">
+ <a href="svg-scale-014.htm">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -0.5 and vertically 1.5">
+ <a href="svg-scale-015.htm">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 1.5 and vertically -0.5">
+ <a href="svg-scale-016.htm">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 on the g element">
+ <a href="svg-scale-017.htm">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX 0.5">
+ <a href="svg-scalex-001.htm">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX 1.5">
+ <a href="svg-scalex-002.htm">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX with percent argument - not supported">
+ <a href="svg-scalex-003.htm">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX -0.5">
+ <a href="svg-scalex-004.htm">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX -1.5">
+ <a href="svg-scalex-005.htm">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY 0.5">
+ <a href="svg-scaley-001.htm">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY 1.5">
+ <a href="svg-scaley-002.htm">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY with percent argument - not supported">
+ <a href="svg-scaley-003.htm">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and and scaleY -0.5">
+ <a href="svg-scaley-004.htm">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY -1.5">
+ <a href="svg-scaley-005.htm">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on skewX">
+ <a href="svg-skewx-001.htm">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on skewX">
+ <a href="svg-skewx-002.htm">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on skewX">
+ <a href="svg-skewx-003.htm">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on skewX">
+ <a href="svg-skewx-004.htm">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on skewX">
+ <a href="svg-skewx-005.htm">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative, unit less turn">
+ <a href="svg-skewx-006.htm">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative degrees">
+ <a href="svg-skewx-007.htm">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative gradians">
+ <a href="svg-skewx-008.htm">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative radians">
+ <a href="svg-skewx-009.htm">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative turns">
+ <a href="svg-skewx-010.htm">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with unit less angle">
+ <a href="svg-skewx-011.htm">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in degree">
+ <a href="svg-skewx-012.htm">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in gradian">
+ <a href="svg-skewx-013.htm">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in radian">
+ <a href="svg-skewx-014.htm">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in turn">
+ <a href="svg-skewx-015.htm">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on unit less angles">
+ <a href="svg-skewx-016.htm">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on unit less angles">
+ <a href="svg-skewx-017.htm">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on gradian angles">
+ <a href="svg-skewx-018.htm">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on radian angles">
+ <a href="svg-skewx-019.htm">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on turns">
+ <a href="svg-skewx-020.htm">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-skewx-021.htm">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-skewx-022.htm">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-skewx-023.htm">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-skewx-024.htm">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-skewx-025.htm">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewxy-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with skewX and skewY">
+ <a href="svg-skewxy-001.htm">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewxy-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with skewX and skewY with different units">
+ <a href="svg-skewxy-002.htm">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on skewY">
+ <a href="svg-skewy-001.htm">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on skewY">
+ <a href="svg-skewy-002.htm">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on skewY">
+ <a href="svg-skewy-003.htm">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on skewY">
+ <a href="svg-skewy-004.htm">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on skewY">
+ <a href="svg-skewy-005.htm">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative, unit less turn">
+ <a href="svg-skewy-006.htm">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative degrees">
+ <a href="svg-skewy-007.htm">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative gradians">
+ <a href="svg-skewy-008.htm">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative radians">
+ <a href="svg-skewy-009.htm">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative turns">
+ <a href="svg-skewy-010.htm">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with unit less angle">
+ <a href="svg-skewy-011.htm">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in degree">
+ <a href="svg-skewy-012.htm">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in gradian">
+ <a href="svg-skewy-013.htm">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in radian">
+ <a href="svg-skewy-014.htm">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in turn">
+ <a href="svg-skewy-015.htm">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on unit less angles">
+ <a href="svg-skewy-016.htm">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on unit less angles">
+ <a href="svg-skewy-017.htm">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on gradian angles">
+ <a href="svg-skewy-018.htm">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on radian angles">
+ <a href="svg-skewy-019.htm">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on turns">
+ <a href="svg-skewy-020.htm">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-skewy-021.htm">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-skewy-022.htm">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-skewy-023.htm">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-skewy-024.htm">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-skewy-025.htm">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate on group">
+ <a href="svg-transform-group-001.htm">svg-transform-group-001</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX on group">
+ <a href="svg-transform-group-002.htm">svg-transform-group-002</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY on group">
+ <a href="svg-transform-group-003.htm">svg-transform-group-003</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale on group">
+ <a href="svg-transform-group-004.htm">svg-transform-group-004</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX on group">
+ <a href="svg-transform-group-005.htm">svg-transform-group-005</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY on group">
+ <a href="svg-transform-group-006.htm">svg-transform-group-006</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate on group">
+ <a href="svg-transform-group-007.htm">svg-transform-group-007</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX on group">
+ <a href="svg-transform-group-008.htm">svg-transform-group-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY on group">
+ <a href="svg-transform-group-009.htm">svg-transform-group-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix on group">
+ <a href="svg-transform-group-010.htm">svg-transform-group-010</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with three arguments on group">
+ <a href="svg-transform-group-011.htm">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-001" class="svg">
+ <tr>
+ <td rowspan="1" title="No separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-001.htm">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma + no whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-002.htm">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma + whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-003.htm">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-004.htm">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma, whitespace, and no separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-005.htm">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Multiple spaces between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-006.htm">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Multiple spaces before and after transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-007.htm">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute">
+ <a href="svg-transform-list-separations-008.htm">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute">
+ <a href="svg-transform-list-separations-009.htm">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by newlines on SVG presentation attribute">
+ <a href="svg-transform-list-separations-010.htm">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas and newlines on SVG presentation attribute">
+ <a href="svg-transform-list-separations-011.htm">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate on group, translate on child">
+ <a href="svg-transform-nested-001.htm">svg-transform-nested-001</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, translateX on child">
+ <a href="svg-transform-nested-002.htm">svg-transform-nested-002</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, translateY on child">
+ <a href="svg-transform-nested-003.htm">svg-transform-nested-003</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, scale on child">
+ <a href="svg-transform-nested-004.htm">svg-transform-nested-004</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, scaleX on child">
+ <a href="svg-transform-nested-005.htm">svg-transform-nested-005</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, scaleY on child">
+ <a href="svg-transform-nested-006.htm">svg-transform-nested-006</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, rotate on child">
+ <a href="svg-transform-nested-007.htm">svg-transform-nested-007</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewX on group, skewX on child">
+ <a href="svg-transform-nested-008.htm">svg-transform-nested-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewY on group, skewY on child">
+ <a href="svg-transform-nested-009.htm">svg-transform-nested-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, matrix on child">
+ <a href="svg-transform-nested-010.htm">svg-transform-nested-010</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translate on group, scale on child">
+ <a href="svg-transform-nested-011.htm">svg-transform-nested-011</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, scaleY on child">
+ <a href="svg-transform-nested-012.htm">svg-transform-nested-012</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, skewX on child">
+ <a href="svg-transform-nested-013.htm">svg-transform-nested-013</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, skewY on child">
+ <a href="svg-transform-nested-014.htm">svg-transform-nested-014</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, rotate on child">
+ <a href="svg-transform-nested-015.htm">svg-transform-nested-015</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, translateX on child">
+ <a href="svg-transform-nested-016.htm">svg-transform-nested-016</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, translateY on child">
+ <a href="svg-transform-nested-017.htm">svg-transform-nested-017</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewX on group, scaleX on child">
+ <a href="svg-transform-nested-018.htm">svg-transform-nested-018</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewY on group, translate on child">
+ <a href="svg-transform-nested-019.htm">svg-transform-nested-019</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, scaleX on child">
+ <a href="svg-transform-nested-020.htm">svg-transform-nested-020</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translate on group, scaleY on child1, rotate on child2">
+ <a href="svg-transform-nested-021.htm">svg-transform-nested-021</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2">
+ <a href="svg-transform-nested-022.htm">svg-transform-nested-022</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, translate on child1, scale on child2">
+ <a href="svg-transform-nested-023.htm">svg-transform-nested-023</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, translateX on child1, scaleX on child2">
+ <a href="svg-transform-nested-024.htm">svg-transform-nested-024</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, translateY on child1, scale on child2">
+ <a href="svg-transform-nested-025.htm">svg-transform-nested-025</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, translate on child1, rotate on child2">
+ <a href="svg-transform-nested-026.htm">svg-transform-nested-026</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2">
+ <a href="svg-transform-nested-027.htm">svg-transform-nested-027</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2">
+ <a href="svg-transform-nested-028.htm">svg-transform-nested-028</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, rotate with three arguments on child">
+ <a href="svg-transform-nested-029.htm">svg-transform-nested-029</a></td>
+ <td><a href="reference/svg-green-square-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value arguments without unit">
+ <a href="svg-translate-001.htm">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units on translate">
+ <a href="svg-translate-002.htm">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units on translate">
+ <a href="svg-translate-003.htm">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units on translate">
+ <a href="svg-translate-004.htm">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units on translate">
+ <a href="svg-translate-005.htm">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units on translate">
+ <a href="svg-translate-006.htm">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units on translate">
+ <a href="svg-translate-007.htm">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units on translate">
+ <a href="svg-translate-008.htm">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation">
+ <a href="svg-translate-009.htm">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate">
+ <a href="svg-translate-010.htm">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units in scientific notation on translate">
+ <a href="svg-translate-011.htm">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate">
+ <a href="svg-translate-012.htm">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate">
+ <a href="svg-translate-013.htm">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate">
+ <a href="svg-translate-014.htm">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate">
+ <a href="svg-translate-015.htm">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units in scientific notation on translate">
+ <a href="svg-translate-016.htm">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents">
+ <a href="svg-translate-017.htm">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-018.htm">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-019.htm">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-020.htm">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-021.htm">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-022.htm">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-023.htm">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-024.htm">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with negative translation-value arguments without unit">
+ <a href="svg-translate-025.htm">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative pixel units on translate">
+ <a href="svg-translate-026.htm">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative point units on translate">
+ <a href="svg-translate-027.htm">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative pica units on translate">
+ <a href="svg-translate-028.htm">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative millimeter units on translate">
+ <a href="svg-translate-029.htm">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative centimeter units on translate">
+ <a href="svg-translate-030.htm">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative inch units on translate">
+ <a href="svg-translate-031.htm">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative em units on translate">
+ <a href="svg-translate-032.htm">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation">
+ <a href="svg-translate-033.htm">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate">
+ <a href="svg-translate-034.htm">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate">
+ <a href="svg-translate-035.htm">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate">
+ <a href="svg-translate-036.htm">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate">
+ <a href="svg-translate-037.htm">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate">
+ <a href="svg-translate-038.htm">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate">
+ <a href="svg-translate-039.htm">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate">
+ <a href="svg-translate-040.htm">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents">
+ <a href="svg-translate-041.htm">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-042.htm">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-043.htm">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-044.htm">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-045.htm">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-046.htm">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-047.htm">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-048.htm">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with one translation-value argument">
+ <a href="svg-translate-049.htm">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-050" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with one negative translation-value argument">
+ <a href="svg-translate-050.htm">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-051" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with no spaces">
+ <a href="svg-translate-051.htm">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-052" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with a space in between">
+ <a href="svg-translate-052.htm">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-053" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with arguments separated by multiple spaces">
+ <a href="svg-translate-053.htm">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-054" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma">
+ <a href="svg-translate-054.htm">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-055" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma">
+ <a href="svg-translate-055.htm">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less">
+ <a href="svg-translate-abs-unit-combinations-001.htm">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px">
+ <a href="svg-translate-abs-unit-combinations-002.htm">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm">
+ <a href="svg-translate-abs-unit-combinations-003.htm">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt">
+ <a href="svg-translate-abs-unit-combinations-004.htm">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px">
+ <a href="svg-translate-abs-unit-combinations-005.htm">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm">
+ <a href="svg-translate-abs-unit-combinations-006.htm">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units on translate">
+ <a href="svg-translate-ex-unit-001.htm">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate">
+ <a href="svg-translate-ex-unit-002.htm">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-ex-unit-003.htm">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative ex units on translate">
+ <a href="svg-translate-ex-unit-004.htm">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate">
+ <a href="svg-translate-ex-unit-005.htm">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-ex-unit-006.htm">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice">
+ <a href="svg-translate-multiple-001.htm">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice in both directions">
+ <a href="svg-translate-multiple-002.htm">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units">
+ <a href="svg-translate-multiple-relative-001.htm">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice in percentage units">
+ <a href="svg-translate-multiple-relative-002.htm">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with percentage units on translate">
+ <a href="svg-translate-relative-001.htm">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative percentage units on translate">
+ <a href="svg-translate-relative-002.htm">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %">
+ <a href="svg-translate-relative-003.htm">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px">
+ <a href="svg-translate-relative-004.htm">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %">
+ <a href="svg-translate-relative-005.htm">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less">
+ <a href="svg-translate-relative-006.htm">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less">
+ <a href="svg-translate-relative-007.htm">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %">
+ <a href="svg-translate-relative-008.htm">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-translatex-001.htm">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-translatex-002.htm">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-translatex-003.htm">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-translatex-004.htm">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-translatex-005.htm">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-translatex-006.htm">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-translatex-007.htm">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-translatex-008.htm">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-translatex-009.htm">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-translatex-010.htm">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-translatex-011.htm">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-translatex-012.htm">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-013.htm">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-014.htm">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-translatex-015.htm">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-translatex-016.htm">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-translatex-017.htm">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-018.htm">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-019.htm">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-020.htm">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-021.htm">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-022.htm">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-023.htm">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-024.htm">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-translatex-025.htm">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-translatex-026.htm">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-translatex-027.htm">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-translatex-028.htm">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-translatex-029.htm">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-translatex-030.htm">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-translatex-031.htm">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-translatex-032.htm">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-translatex-033.htm">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-translatex-034.htm">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-translatex-035.htm">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-translatex-036.htm">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-037.htm">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-038.htm">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-translatex-039.htm">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-translatex-040.htm">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-translatex-041.htm">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-042.htm">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-043.htm">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-044.htm">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-045.htm">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-046.htm">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-047.htm">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-048.htm">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied twice">
+ <a href="svg-translatex-combination-001.htm">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units">
+ <a href="svg-translatex-combination-002.htm">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied twice in percentage units">
+ <a href="svg-translatex-combination-003.htm">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-translatex-combination-004.htm">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-translatex-ex-unit-001.htm">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-translatex-ex-unit-002.htm">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-ex-unit-003.htm">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-translatex-ex-unit-004.htm">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-translatex-ex-unit-005.htm">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-ex-unit-006.htm">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with percentage unit on translateX">
+ <a href="svg-translatex-relative-001.htm">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative percentage unit on translateX">
+ <a href="svg-translatex-relative-002.htm">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value argument without unit">
+ <a href="svg-translatey-001.htm">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit on translateY">
+ <a href="svg-translatey-002.htm">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit on translateY">
+ <a href="svg-translatey-003.htm">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit on translateY">
+ <a href="svg-translatey-004.htm">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit on translateY">
+ <a href="svg-translatey-005.htm">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit on translateY">
+ <a href="svg-translatey-006.htm">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit on translateY">
+ <a href="svg-translatey-007.htm">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit on translateY">
+ <a href="svg-translatey-008.htm">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation">
+ <a href="svg-translatey-009.htm">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY">
+ <a href="svg-translatey-010.htm">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY">
+ <a href="svg-translatey-011.htm">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY">
+ <a href="svg-translatey-012.htm">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-013.htm">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-014.htm">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY">
+ <a href="svg-translatey-015.htm">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY">
+ <a href="svg-translatey-016.htm">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-translatey-017.htm">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-018.htm">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-019.htm">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-020.htm">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-021.htm">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-022.htm">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-023.htm">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-024.htm">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with a negative translation-value argument without unit">
+ <a href="svg-translatey-025.htm">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pixel unit on translateY">
+ <a href="svg-translatey-026.htm">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative point unit on translateY">
+ <a href="svg-translatey-027.htm">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pica unit on translateY">
+ <a href="svg-translatey-028.htm">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative millimeter unit on translateY">
+ <a href="svg-translatey-029.htm">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative centimeter unit on translateY">
+ <a href="svg-translatey-030.htm">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative inch unit on translateY">
+ <a href="svg-translatey-031.htm">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative em unit on translateY">
+ <a href="svg-translatey-032.htm">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-translatey-033.htm">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY">
+ <a href="svg-translatey-034.htm">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY">
+ <a href="svg-translatey-035.htm">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY">
+ <a href="svg-translatey-036.htm">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-037.htm">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-038.htm">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY">
+ <a href="svg-translatey-039.htm">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY">
+ <a href="svg-translatey-040.htm">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-translatey-041.htm">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-042.htm">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-043.htm">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-044.htm">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-045.htm">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-046.htm">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-047.htm">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-048.htm">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied twice">
+ <a href="svg-translatey-combination-001.htm">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units">
+ <a href="svg-translatey-combination-002.htm">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied twice in percentage units">
+ <a href="svg-translatey-combination-003.htm">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied in both directions">
+ <a href="svg-translatey-combination-004.htm">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit on translateY">
+ <a href="svg-translatey-ex-unit-001.htm">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY">
+ <a href="svg-translatey-ex-unit-002.htm">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-ex-unit-003.htm">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative ex unit on translateY">
+ <a href="svg-translatey-ex-unit-004.htm">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY">
+ <a href="svg-translatey-ex-unit-005.htm">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-ex-unit-006.htm">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with percentage unit on translateY">
+ <a href="svg-translatey-relative-001.htm">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative percentage unit on translateY">
+ <a href="svg-translatey-relative-002.htm">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-3d-rotatey-stair-above-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="transform-3d-rotateY-stair-above-001.htm">transform-3d-rotatey-stair-above-001</a></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-3d-rotatey-stair-below-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="transform-3d-rotateY-stair-below-001.htm">transform-3d-rotatey-stair-below-001</a></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-001" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (left/top)">
+ <a href="transform-abspos-001.htm">transform-abspos-001</a></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-002" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (left/top offsets)">
+ <a href="transform-abspos-002.htm">transform-abspos-002</a></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-003" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (right/bottom offsets)">
+ <a href="transform-abspos-003.htm">transform-abspos-003</a></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-004" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (bottom/right)">
+ <a href="transform-abspos-004.htm">transform-abspos-004</a></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-005" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (bottom/right)">
+ <a href="transform-abspos-005.htm">transform-abspos-005</a></td>
+ <td><a href="reference/transform-abspos-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-006" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (table)">
+ <a href="transform-abspos-006.htm">transform-abspos-006</a></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-007" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (inline-table)">
+ <a href="transform-abspos-007.htm">transform-abspos-007</a></td>
+ <td><a href="reference/transform-abspos-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-applies-to-001" class="">
+ <tr>
+ <td rowspan="1" title="transform applied to elements with 'display' set to 'block'">
+ <a href="transform-applies-to-001.htm">transform-applies-to-001</a></td>
+ <td><a href="reference/transform-applies-to-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-applies-to-002" class="ahem">
+ <tr>
+ <td rowspan="1" title="Transform does not apply to non-replaced inline elements">
+ <a href="transform-applies-to-002.htm">transform-applies-to-002</a></td>
+ <td><a href="reference/transform-applies-to-002-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (rotate right)">
+ <a href="transform-background-001.htm">transform-background-001</a></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (rotate left)">
+ <a href="transform-background-002.htm">transform-background-002</a></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (flip)">
+ <a href="transform-background-003.htm">transform-background-003</a></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (nested flip)">
+ <a href="transform-background-004.htm">transform-background-004</a></td>
+ <td><a href="reference/transform-background-ref-1.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (non-propagated body)">
+ <a href="transform-background-005.htm">transform-background-005</a></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (propagated body)">
+ <a href="transform-background-006.htm">transform-background-006</a></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> <a href="reference/transform-background-006-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (propagated body with root element transform)">
+ <a href="transform-background-007.htm">transform-background-007</a></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (root element background and transform)">
+ <a href="transform-background-008.htm">transform-background-008</a></td>
+ <td><a href="reference/transform-background-ref-2.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-compound-001" class="">
+ <tr>
+ <td rowspan="1" title="Compound Transforms">
+ <a href="transform-compound-001.htm">transform-compound-001</a></td>
+ <td><a href="reference/transform-compound-ref.htm">=</a> <a href="reference/transform-compound-notref-1.htm">&#x2260;</a> <a href="reference/transform-compound-notref-2.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-descendant-001" class="">
+ <tr>
+ <td rowspan="1" title="Transform Affects Descendant">
+ <a href="transform-descendant-001.htm">transform-descendant-001</a></td>
+ <td><a href="reference/transform-descendant-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-001" class="">
+ <tr>
+ <td rowspan="1" title="Inline-Block">
+ <a href="transform-display-001.htm">transform-display-001</a></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-002" class="">
+ <tr>
+ <td rowspan="1" title="Table">
+ <a href="transform-display-002.htm">transform-display-002</a></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-003" class="">
+ <tr>
+ <td rowspan="1" title="Inline-Table">
+ <a href="transform-display-003.htm">transform-display-003</a></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-004" class="">
+ <tr>
+ <td rowspan="1" title="List-Item">
+ <a href="transform-display-004.htm">transform-display-004</a></td>
+ <td><a href="reference/transform-display-ref.htm">=</a> <a href="reference/transform-display-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background">
+ <a href="transform-fixed-bg-001.htm">transform-fixed-bg-001</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-002" class="dom svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with scrolling)">
+ <a href="transform-fixed-bg-002.htm">transform-fixed-bg-002</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with rotation)">
+ <a href="transform-fixed-bg-003.htm">transform-fixed-bg-003</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-004" class="dom svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with rotation and scrolling)">
+ <a href="transform-fixed-bg-004.htm">transform-fixed-bg-004</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (no-op transform)">
+ <a href="transform-fixed-bg-005.htm">transform-fixed-bg-005</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (transform of intermediate)">
+ <a href="transform-fixed-bg-006.htm">transform-fixed-bg-006</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (transform on root)">
+ <a href="transform-fixed-bg-007.htm">transform-fixed-bg-007</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-generated-001" class="">
+ <tr>
+ <td rowspan="1" title="Generated Content (block)">
+ <a href="transform-generated-001.htm">transform-generated-001</a></td>
+ <td><a href="reference/transform-generated-001-ref.htm">=</a> <a href="reference/transform-generated-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-generated-002" class="">
+ <tr>
+ <td rowspan="1" title="Generated Content (inline)">
+ <a href="transform-generated-002.htm">transform-generated-002</a></td>
+ <td><a href="reference/transform-generated-002-ref.htm">=</a> <a href="reference/transform-generated-002-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-iframe-001" class="">
+ <tr>
+ <td rowspan="1" title="Iframe">
+ <a href="transform-iframe-001.htm">transform-iframe-001</a></td>
+ <td><a href="reference/transform-iframe-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-image-001" class="">
+ <tr>
+ <td rowspan="1" title="Transformed &lt;img&gt;">
+ <a href="transform-image-001.htm">transform-image-001</a></td>
+ <td><a href="reference/transform-image-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-001" class="">
+ <tr>
+ <td rowspan="1" title="'inherit' and em">
+ <a href="transform-inherit-001.htm">transform-inherit-001</a></td>
+ <td><a href="reference/transform-inherit-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-002" class="">
+ <tr>
+ <td rowspan="1" title="'inherit' and percentages">
+ <a href="transform-inherit-002.htm">transform-inherit-002</a></td>
+ <td><a href="reference/transform-inherit-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="&quot;transform-origin: inherit&quot; and em">
+ <a href="transform-inherit-origin-001.htm">transform-inherit-origin-001</a></td>
+ <td><a href="reference/transform-inherit-origin-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="&quot;transform-origin: inherit&quot; and percentages">
+ <a href="transform-inherit-origin-002.htm">transform-inherit-origin-002</a></td>
+ <td><a href="reference/transform-inherit-origin-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inline-001" class="">
+ <tr>
+ <td rowspan="1" title="Transformed Inline">
+ <a href="transform-inline-001.htm">transform-inline-001</a></td>
+ <td><a href="reference/transform-inline-ref.htm">=</a> <a href="reference/transform-inline-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-001" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=text)">
+ <a href="transform-input-001.htm">transform-input-001</a></td>
+ <td><a href="reference/transform-input-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-002" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=file)">
+ <a href="transform-input-002.htm">transform-input-002</a></td>
+ <td><a href="reference/transform-input-002-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-003" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=search)">
+ <a href="transform-input-003.htm">transform-input-003</a></td>
+ <td><a href="reference/transform-input-003-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-004" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=tel)">
+ <a href="transform-input-004.htm">transform-input-004</a></td>
+ <td><a href="reference/transform-input-004-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-005" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=url)">
+ <a href="transform-input-005.htm">transform-input-005</a></td>
+ <td><a href="reference/transform-input-005-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-006" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=email)">
+ <a href="transform-input-006.htm">transform-input-006</a></td>
+ <td><a href="reference/transform-input-006-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-007" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=password)">
+ <a href="transform-input-007.htm">transform-input-007</a></td>
+ <td><a href="reference/transform-input-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-008" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=datetime)">
+ <a href="transform-input-008.htm">transform-input-008</a></td>
+ <td><a href="reference/transform-input-008-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-009" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=date)">
+ <a href="transform-input-009.htm">transform-input-009</a></td>
+ <td><a href="reference/transform-input-009-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-010" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=month)">
+ <a href="transform-input-010.htm">transform-input-010</a></td>
+ <td><a href="reference/transform-input-010-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-011" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=week)">
+ <a href="transform-input-011.htm">transform-input-011</a></td>
+ <td><a href="reference/transform-input-011-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-012" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=time)">
+ <a href="transform-input-012.htm">transform-input-012</a></td>
+ <td><a href="reference/transform-input-012-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-013" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=datetime-local)">
+ <a href="transform-input-013.htm">transform-input-013</a></td>
+ <td><a href="reference/transform-input-013-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-014" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=number)">
+ <a href="transform-input-014.htm">transform-input-014</a></td>
+ <td><a href="reference/transform-input-014-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-015" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=range)">
+ <a href="transform-input-015.htm">transform-input-015</a></td>
+ <td><a href="reference/transform-input-015-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-016" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=color)">
+ <a href="transform-input-016.htm">transform-input-016</a></td>
+ <td><a href="reference/transform-input-016-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-017" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=checkbox)">
+ <a href="transform-input-017.htm">transform-input-017</a></td>
+ <td><a href="reference/transform-input-017-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-018" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=radio)">
+ <a href="transform-input-018.htm">transform-input-018</a></td>
+ <td><a href="reference/transform-input-018-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-019" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=submit)">
+ <a href="transform-input-019.htm">transform-input-019</a></td>
+ <td><a href="reference/transform-input-019-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateX()">
+ <a href="transform-matrix-001.htm">transform-matrix-001</a></td>
+ <td><a href="reference/transform-matrix-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-002" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateY()">
+ <a href="transform-matrix-002.htm">transform-matrix-002</a></td>
+ <td><a href="reference/transform-matrix-002-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-003" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateX(%)">
+ <a href="transform-matrix-003.htm">transform-matrix-003</a></td>
+ <td><a href="reference/transform-matrix-003-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-004" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateY(%)">
+ <a href="transform-matrix-004.htm">transform-matrix-004</a></td>
+ <td><a href="reference/transform-matrix-004-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-005" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/skewX()">
+ <a href="transform-matrix-005.htm">transform-matrix-005</a></td>
+ <td><a href="reference/transform-matrix-005-ref.htm">=</a> <a href="reference/transform-matrix-005-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-006" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/skewY()">
+ <a href="transform-matrix-006.htm">transform-matrix-006</a></td>
+ <td><a href="reference/transform-matrix-006-ref.htm">=</a> <a href="reference/transform-matrix-005-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-007" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/scale()">
+ <a href="transform-matrix-007.htm">transform-matrix-007</a></td>
+ <td><a href="reference/transform-matrix-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-008" class="">
+ <tr>
+ <td rowspan="1" title="matrix() with non-numeric args">
+ <a href="transform-matrix-008.htm">transform-matrix-008</a></td>
+ <td><a href="reference/transform-matrix-008-ref.htm">=</a> <a href="reference/transform-matrix-008-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin">
+ <a href="transform-origin.htm">transform-origin</a></td>
+ <td><a href="reference/transform-origin-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="Default transform-origin not top left">
+ <a href="transform-origin-001.htm">transform-origin-001</a></td>
+ <td><a href="reference/transform-origin-ref-1.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="Default transform-origin not center right">
+ <a href="transform-origin-002.htm">transform-origin-002</a></td>
+ <td><a href="reference/transform-origin-ref-1.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-003" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 1">
+ <a href="transform-origin-003.htm">transform-origin-003</a></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-004" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 2">
+ <a href="transform-origin-004.htm">transform-origin-004</a></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-005" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 3">
+ <a href="transform-origin-005.htm">transform-origin-005</a></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-006" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 4">
+ <a href="transform-origin-006.htm">transform-origin-006</a></td>
+ <td><a href="reference/transform-origin-ref-2.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-007" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)">
+ <a href="transform-origin-007.htm">transform-origin-007</a></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-008" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - center 0%('center' computes to '50%' in horizontal position)">
+ <a href="transform-origin-008.htm">transform-origin-008</a></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-009" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 0% center('center' computes to '50%' in vertical position)">
+ <a href="transform-origin-009.htm">transform-origin-009</a></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-01" class="">
+ <tr>
+ <td rowspan="1" title="SVG Transform using transform-origin">
+ <a href="transform-origin-01.htm">transform-origin-01</a></td>
+ <td><a href="reference/transform-origin-01-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-010" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - left 0%('left' computes to '0%' in horizontal position)">
+ <a href="transform-origin-010.htm">transform-origin-010</a></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-011" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - right 100%('right' computes to '100%' in horizontal position)">
+ <a href="transform-origin-011.htm">transform-origin-011</a></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-012" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 0% top('top' computes to '0%' in vertical position)">
+ <a href="transform-origin-012.htm">transform-origin-012</a></td>
+ <td><a href="reference/transform-origin-007-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-001" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top left">
+ <a href="transform-origin-name-001.htm">transform-origin-name-001</a></td>
+ <td><a href="reference/transform-origin-name-ref-1.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-002" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: left top">
+ <a href="transform-origin-name-002.htm">transform-origin-name-002</a></td>
+ <td><a href="reference/transform-origin-name-ref-1.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-003" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top">
+ <a href="transform-origin-name-003.htm">transform-origin-name-003</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-004" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top center">
+ <a href="transform-origin-name-004.htm">transform-origin-name-004</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-005" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: center top">
+ <a href="transform-origin-name-005.htm">transform-origin-name-005</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-006" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top right">
+ <a href="transform-origin-name-006.htm">transform-origin-name-006</a></td>
+ <td><a href="reference/transform-origin-name-ref-3.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-007" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: right top">
+ <a href="transform-origin-name-007.htm">transform-origin-name-007</a></td>
+ <td><a href="reference/transform-origin-name-ref-3.htm">=</a> <a href="reference/transform-origin-name-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-overflow-001" class="">
+ <tr>
+ <td rowspan="1" title="overflow: auto">
+ <a href="transform-overflow-001.htm">transform-overflow-001</a></td>
+ <td><a href="reference/transform-overflow-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-overflow-002" class="">
+ <tr>
+ <td rowspan="1" title="overflow: scroll">
+ <a href="transform-overflow-002.htm">transform-overflow-002</a></td>
+ <td><a href="reference/transform-overflow-002-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-001" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX)">
+ <a href="transform-percent-001.htm">transform-percent-001</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-002" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateY)">
+ <a href="transform-percent-002.htm">transform-percent-002</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-003" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translate)">
+ <a href="transform-percent-003.htm">transform-percent-003</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-004" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translateY)">
+ <a href="transform-percent-004.htm">transform-percent-004</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-005" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translateY and translate)">
+ <a href="transform-percent-005.htm">transform-percent-005</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-006" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translate)">
+ <a href="transform-percent-006.htm">transform-percent-006</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-007" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateY and translate)">
+ <a href="transform-percent-007.htm">transform-percent-007</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-008" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (border box)">
+ <a href="transform-percent-008.htm">transform-percent-008</a></td>
+ <td><a href="reference/transform-percent-ref.htm">=</a> <a href="reference/transform-percent-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-propagate-inherit-boolean-001" class="">
+ <tr>
+ <td rowspan="1" title="em on Multiple Elements">
+ <a href="transform-propagate-inherit-boolean-001.htm">transform-propagate-inherit-boolean-001</a></td>
+ <td><a href="reference/transform-propagate-inherit-boolean-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) on Root Element With Background">
+ <a href="transform-root-bg-001.htm">transform-root-bg-001</a></td>
+ <td><a href="reference/transform-root-bg-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-002" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) on Root Element With Background On Body">
+ <a href="transform-root-bg-002.htm">transform-root-bg-002</a></td>
+ <td><a href="reference/transform-root-bg-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-003" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5) on Root Element With Background">
+ <a href="transform-root-bg-003.htm">transform-root-bg-003</a></td>
+ <td><a href="reference/transform-root-bg-003-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-004" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) On Body With Background">
+ <a href="transform-root-bg-004.htm">transform-root-bg-004</a></td>
+ <td><a href="reference/transform-root-bg-004-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-001" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(360deg)">
+ <a href="transform-rotate-001.htm">transform-rotate-001</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-002" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(400grad)">
+ <a href="transform-rotate-002.htm">transform-rotate-002</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-003" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)">
+ <a href="transform-rotate-003.htm">transform-rotate-003</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-004" class="">
+ <tr>
+ <td rowspan="1" title="rotate(-45deg) rotate(100grad)">
+ <a href="transform-rotate-004.htm">transform-rotate-004</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-005" class="">
+ <tr>
+ <td rowspan="1" title="rotate(-135deg) rotate(3.1415926535897932384626433rad)">
+ <a href="transform-rotate-005.htm">transform-rotate-005</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-006" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(1turn)">
+ <a href="transform-rotate-006.htm">transform-rotate-006</a></td>
+ <td><a href="reference/transform-rotate-001-ref.htm">=</a> <a href="reference/transform-rotate-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-007" class="">
+ <tr>
+ <td rowspan="1" title="Rotated Simple Box">
+ <a href="transform-rotate-007.htm">transform-rotate-007</a></td>
+ <td><a href="reference/transform-rotate-007-ref.htm">=</a> <a href="reference/transform-rotate-007-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rounding-001" class="">
+ <tr>
+ <td rowspan="1" title="Rounding">
+ <a href="transform-rounding-001.htm">transform-rounding-001</a></td>
+ <td><a href="reference/transform-rounding-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5, 0.5)">
+ <a href="transform-scale-001.htm">transform-scale-001</a></td>
+ <td><a href="reference/transform-scale-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5)">
+ <a href="transform-scale-002.htm">transform-scale-002</a></td>
+ <td><a href="reference/transform-scale-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-percent-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(50%, 50%)">
+ <a href="transform-scale-percent-001.htm">transform-scale-percent-001</a></td>
+ <td><a href="reference/transform-scale-percent-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-test" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function.">
+ <a href="transform-scale-test.htm">transform-scale-test</a></td>
+ <td><a href="reference/transform-scale-test-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scalex-001" class="">
+ <tr>
+ <td rowspan="1" title="scaleX(0.5)">
+ <a href="transform-scalex-001.htm">transform-scalex-001</a></td>
+ <td><a href="reference/transform-scalex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scaley-001" class="">
+ <tr>
+ <td rowspan="1" title="scaleY(0.5)">
+ <a href="transform-scaley-001.htm">transform-scaley-001</a></td>
+ <td><a href="reference/transform-scaley-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-singular-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix(1, 1, 1, 1, 0, 0)">
+ <a href="transform-singular-001.htm">transform-singular-001</a></td>
+ <td><a href="reference/transform-singular-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-001" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, transform: scale(1)">
+ <a href="transform-stacking-001.htm">transform-stacking-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-002" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, transform: none">
+ <a href="transform-stacking-002.htm">transform-stacking-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-003" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, invalid transform value">
+ <a href="transform-stacking-003.htm">transform-stacking-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-004" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, inherited transform: none">
+ <a href="transform-stacking-004.htm">transform-stacking-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stresstest-001" class="">
+ <tr>
+ <td rowspan="1" title="Inversion Stress Test">
+ <a href="transform-stresstest-001.htm">transform-stresstest-001</a></td>
+ <td><a href="reference/transform-stresstest-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-001" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table">
+ <a href="transform-table-001.htm">transform-table-001</a></td>
+ <td><a href="reference/transform-table-001-ref.htm">=</a> <a href="reference/transform-table-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-002" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Inline-Table">
+ <a href="transform-table-002.htm">transform-table-002</a></td>
+ <td><a href="reference/transform-table-001-ref.htm">=</a> <a href="reference/transform-table-002-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-003" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table 2">
+ <a href="transform-table-003.htm">transform-table-003</a></td>
+ <td><a href="reference/transform-table-001-ref.htm">=</a> <a href="reference/transform-table-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-004" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table with caption-side: bottom">
+ <a href="transform-table-004.htm">transform-table-004</a></td>
+ <td><a href="reference/transform-table-004-ref.htm">=</a> <a href="reference/transform-table-004-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-005" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table with caption-side: bottom">
+ <a href="transform-table-005.htm">transform-table-005</a></td>
+ <td><a href="reference/transform-table-004-ref.htm">=</a> <a href="reference/transform-table-005-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-006" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 1">
+ <a href="transform-table-006.htm">transform-table-006</a></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-007" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 2">
+ <a href="transform-table-007.htm">transform-table-007</a></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-008" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 3">
+ <a href="transform-table-008.htm">transform-table-008</a></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-009" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 1">
+ <a href="transform-table-009.htm">transform-table-009</a></td>
+ <td><a href="reference/transform-table-009-ref.htm">=</a> <a href="reference/transform-table-009-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-010" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 2">
+ <a href="transform-table-010.htm">transform-table-010</a></td>
+ <td><a href="reference/transform-table-009-ref.htm">=</a> <a href="reference/transform-table-010-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-011" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 3">
+ <a href="transform-table-011.htm">transform-table-011</a></td>
+ <td><a href="reference/transform-table-009-ref.htm">=</a> <a href="reference/transform-table-011-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-inline-block" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Inline-Block">
+ <a href="transform-transformable-inline-block.htm">transform-transformable-inline-block</a></td>
+ <td><a href="reference/transform-transformable-inline-block-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-inline-table" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Inline-Table">
+ <a href="transform-transformable-inline-table.htm">transform-transformable-inline-table</a></td>
+ <td><a href="reference/transform-transformable-inline-table-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-list-item" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of List-Item">
+ <a href="transform-transformable-list-item.htm">transform-transformable-list-item</a></td>
+ <td><a href="reference/transform-transformable-list-item-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table">
+ <a href="transform-transformable-table.htm">transform-transformable-table</a></td>
+ <td><a href="reference/transform-transformable-table-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-caption" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Caption">
+ <a href="transform-transformable-table-caption.htm">transform-transformable-table-caption</a></td>
+ <td><a href="reference/transform-transformable-table-caption-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-cell" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Cell">
+ <a href="transform-transformable-table-cell.htm">transform-transformable-table-cell</a></td>
+ <td><a href="reference/transform-transformable-table-cell-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-footer-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Footer-Group">
+ <a href="transform-transformable-table-footer-group.htm">transform-transformable-table-footer-group</a></td>
+ <td><a href="reference/transform-transformable-table-footer-group-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-header-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Header-Group">
+ <a href="transform-transformable-table-header-group.htm">transform-transformable-table-header-group</a></td>
+ <td><a href="reference/transform-transformable-table-header-group-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-row" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Row">
+ <a href="transform-transformable-table-row.htm">transform-transformable-table-row</a></td>
+ <td><a href="reference/transform-transformable-table-row-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-row-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Row-Group">
+ <a href="transform-transformable-table-row-group.htm">transform-transformable-table-row-group</a></td>
+ <td><a href="reference/transform-transformable-table-row-group-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-001" class="">
+ <tr>
+ <td rowspan="1" title="translate(50px, 50px)">
+ <a href="transform-translate-001.htm">transform-translate-001</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-002" class="">
+ <tr>
+ <td rowspan="1" title="translate(50px, 50px) rotate(360deg)">
+ <a href="transform-translate-002.htm">transform-translate-002</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-003" class="">
+ <tr>
+ <td rowspan="1" title="translate(25px, 25px) translate(25px, 25px)">
+ <a href="transform-translate-003.htm">transform-translate-003</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-004" class="">
+ <tr>
+ <td rowspan="1" title="translate() plus relative positioning">
+ <a href="transform-translate-004.htm">transform-translate-004</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-005" class="">
+ <tr>
+ <td rowspan="1" title="Several Translations Combined">
+ <a href="transform-translate-005.htm">transform-translate-005</a></td>
+ <td><a href="reference/transform-translate-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-001" class="">
+ <tr>
+ <td rowspan="1" title="translatex(50px)">
+ <a href="transform-translatex-001.htm">transform-translatex-001</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-002" class="">
+ <tr>
+ <td rowspan="1" title="translatex(50px) rotate(360deg)">
+ <a href="transform-translatex-002.htm">transform-translatex-002</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-003" class="">
+ <tr>
+ <td rowspan="1" title="translatex(25px) translatex(25px)">
+ <a href="transform-translatex-003.htm">transform-translatex-003</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-004" class="">
+ <tr>
+ <td rowspan="1" title="translatex() plus relative positioning">
+ <a href="transform-translatex-004.htm">transform-translatex-004</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-005" class="">
+ <tr>
+ <td rowspan="1" title="Several X-Translations Combined">
+ <a href="transform-translatex-005.htm">transform-translatex-005</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-006" class="">
+ <tr>
+ <td rowspan="1" title="transform property with translateX function">
+ <a href="transform-translatex-006.htm">transform-translatex-006</a></td>
+ <td><a href="reference/transform-translatex-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-001" class="">
+ <tr>
+ <td rowspan="1" title="translatey(50px)">
+ <a href="transform-translatey-001.htm">transform-translatey-001</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-002" class="">
+ <tr>
+ <td rowspan="1" title="translatey(50px) rotate(360deg)">
+ <a href="transform-translatey-002.htm">transform-translatey-002</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-003" class="">
+ <tr>
+ <td rowspan="1" title="translatey(25px) translatey(25px)">
+ <a href="transform-translatey-003.htm">transform-translatey-003</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-004" class="">
+ <tr>
+ <td rowspan="1" title="translatey() plus relative positioning">
+ <a href="transform-translatey-004.htm">transform-translatey-004</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-005" class="">
+ <tr>
+ <td rowspan="1" title="Several Y-Translations Combined">
+ <a href="transform-translatey-005.htm">transform-translatey-005</a></td>
+ <td><a href="reference/transform-translatey-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, rotatex(180deg)">
+ <a href="transform3d-backface-visibility-001.htm">transform3d-backface-visibility-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-002" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent and Child in Different Rendering Contexts">
+ <a href="transform3d-backface-visibility-002.htm">transform3d-backface-visibility-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-003" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, rotatex(180deg) on Table">
+ <a href="transform3d-backface-visibility-003.htm">transform3d-backface-visibility-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-004" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Same Rendering Context, Split Transform">
+ <a href="transform3d-backface-visibility-004.htm">transform3d-backface-visibility-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-005" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Different Rendering Context">
+ <a href="transform3d-backface-visibility-005.htm">transform3d-backface-visibility-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-006" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Same Rendering Context">
+ <a href="transform3d-backface-visibility-006.htm">transform3d-backface-visibility-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-007" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, scalez(-1)">
+ <a href="transform3d-backface-visibility-007.htm">transform3d-backface-visibility-007</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-image-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale3d() on a Bitmap">
+ <a href="transform3d-image-scale-001.htm">transform3d-image-scale-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-image-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="scale3d() on an SVG">
+ <a href="transform3d-image-scale-002.htm">transform3d-image-scale-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)">
+ <a href="transform3d-matrix3d-001.htm">transform3d-matrix3d-001</a></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-002" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)">
+ <a href="transform3d-matrix3d-002.htm">transform3d-matrix3d-002</a></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-003" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)">
+ <a href="transform3d-matrix3d-003.htm">transform3d-matrix3d-003</a></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-004" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)">
+ <a href="transform3d-matrix3d-004.htm">transform3d-matrix3d-004</a></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-005" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)">
+ <a href="transform3d-matrix3d-005.htm">transform3d-matrix3d-005</a></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective()">
+ <a href="transform3d-perspective-001.htm">transform3d-perspective-001</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-002" class="">
+ <tr>
+ <td rowspan="1" title="Inherited Perspective">
+ <a href="transform3d-perspective-002.htm">transform3d-perspective-002</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-003" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Grandparent">
+ <a href="transform3d-perspective-003.htm">transform3d-perspective-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-004" class="">
+ <tr>
+ <td rowspan="1" title="'perspective: 1000px' on Grandparent and 'perspective: none' on Parent">
+ <a href="transform3d-perspective-004.htm">transform3d-perspective-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-005" class="">
+ <tr>
+ <td rowspan="1" title="'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent">
+ <a href="transform3d-perspective-005.htm">transform3d-perspective-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-006" class="">
+ <tr>
+ <td rowspan="1" title="Simple Perspective">
+ <a href="transform3d-perspective-006.htm">transform3d-perspective-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-007" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Table Parent">
+ <a href="transform3d-perspective-007.htm">transform3d-perspective-007</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-008" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Table">
+ <a href="transform3d-perspective-008.htm">transform3d-perspective-008</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-009" class="">
+ <tr>
+ <td rowspan="1" title="'perspective-origin' and translate()">
+ <a href="transform3d-perspective-009.htm">transform3d-perspective-009</a></td>
+ <td><a href="reference/transform3d-perspective-009-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin">
+ <a href="transform3d-perspective-origin-001.htm">transform3d-perspective-origin-001</a></td>
+ <td><a href="reference/transform3d-perspective-origin-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="transform3d-rotatex-perspective-001.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Preserve-3D">
+ <a href="transform3d-preserve3d-001.htm">transform3d-preserve3d-001</a></td>
+ <td><a href="reference/transform3d-preserve3d-001-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-002" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 1">
+ <a href="transform3d-preserve3d-002.htm">transform3d-preserve3d-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-003" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 2">
+ <a href="transform3d-preserve3d-003.htm">transform3d-preserve3d-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-004" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 3">
+ <a href="transform3d-preserve3d-004.htm">transform3d-preserve3d-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-005" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Transformed Grandparent and Grandchild">
+ <a href="transform3d-preserve3d-005.htm">transform3d-preserve3d-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-006" class="">
+ <tr>
+ <td rowspan="1" title="Two rotatex(), No Preserve-3D">
+ <a href="transform3d-preserve3d-006.htm">transform3d-preserve3d-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-007" class="">
+ <tr>
+ <td rowspan="1" title="Two rotatey(), No Preserve-3D">
+ <a href="transform3d-preserve3d-007.htm">transform3d-preserve3d-007</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-008" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: hidden'">
+ <a href="transform3d-preserve3d-008.htm">transform3d-preserve3d-008</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-009" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: auto'">
+ <a href="transform3d-preserve3d-009.htm">transform3d-preserve3d-009</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-010" class="">
+ <tr>
+ <td rowspan="1" title="rotatex() With Preserve-3D">
+ <a href="transform3d-preserve3d-010.htm">transform3d-preserve3d-010</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-011" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With 90-Degree Rotation">
+ <a href="transform3d-preserve3d-011.htm">transform3d-preserve3d-011</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-012" class="">
+ <tr>
+ <td rowspan="1" title="90-Degree Rotations Without Preserve-3D">
+ <a href="transform3d-preserve3d-012.htm">transform3d-preserve3d-012</a></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-013" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: scroll'">
+ <a href="transform3d-preserve3d-013.htm">transform3d-preserve3d-013</a></td>
+ <td><a href="reference/transform3d-preserve3d-013-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotate3d-001" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d(1, 0, 0, 45deg)">
+ <a href="transform3d-rotate3d-001.htm">transform3d-rotate3d-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotate3d-002" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d(0, 1, 0, 45deg)">
+ <a href="transform3d-rotate3d-002.htm">transform3d-rotate3d-002</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-001" class="">
+ <tr>
+ <td rowspan="1" title="rotatex(45deg) rotatey(360deg) rotatex(360deg)">
+ <a href="transform3d-rotatex-001.htm">transform3d-rotatex-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective(1000px) rotatex(45deg)">
+ <a href="transform3d-rotatex-perspective-001.htm">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-002" class="">
+ <tr>
+ <td rowspan="1" title="rotatex() and 'perspective'">
+ <a href="transform3d-rotatex-perspective-002.htm">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-003" class="">
+ <tr>
+ <td rowspan="1" title="'perspective' and 'opacity'">
+ <a href="transform3d-rotatex-perspective-003.htm">transform3d-rotatex-perspective-003</a></td>
+ <td><a href="reference/transform3d-rotatex-perspective-ref.htm">=</a> <a href="reference/transform3d-rotatex-perspective-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-transformorigin-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateX() with 'transform-origin'">
+ <a href="transform3d-rotatex-transformorigin-001.htm">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatey-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY(45deg) rotateY(360deg)">
+ <a href="transform3d-rotatey-001.htm">transform3d-rotatey-001</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale3d(2, 2, 2)">
+ <a href="transform3d-scale-001.htm">transform3d-scale-001</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)">
+ <a href="transform3d-scale-002.htm">transform3d-scale-002</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-003" class="">
+ <tr>
+ <td rowspan="1" title="scaleX(2) scaleY(2) scaleZ(2)">
+ <a href="transform3d-scale-003.htm">transform3d-scale-003</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-004" class="">
+ <tr>
+ <td rowspan="1" title="scale3d(2, 2, 0)">
+ <a href="transform3d-scale-004.htm">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-005" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)">
+ <a href="transform3d-scale-005.htm">transform3d-scale-005</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-006" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(90deg) scaleZ(2) rotateX(-90deg)">
+ <a href="transform3d-scale-006.htm">transform3d-scale-006</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-007" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(180deg) scaleZ(-1)">
+ <a href="transform3d-scale-007.htm">transform3d-scale-007</a></td>
+ <td><a href="reference/transform3d-scale-007-ref.htm">=</a> <a href="reference/transform3d-scale-001-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting">
+ <a href="transform3d-sorting-001.htm">transform3d-sorting-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-002" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With Rotation">
+ <a href="transform3d-sorting-002.htm">transform3d-sorting-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-003" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With No Preserve-3D">
+ <a href="transform3d-sorting-003.htm">transform3d-sorting-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-004" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With Preserve-3D on Grandparent">
+ <a href="transform3d-sorting-004.htm">transform3d-sorting-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-005" class="">
+ <tr>
+ <td rowspan="1" title="Sorting With Background on Parent">
+ <a href="transform3d-sorting-005.htm">transform3d-sorting-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-006" class="">
+ <tr>
+ <td rowspan="1" title="Sorting With Intersection">
+ <a href="transform3d-sorting-006.htm">transform3d-sorting-006</a></td>
+ <td><a href="reference/transform3d-sorting-006-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-translate3d-001" class="">
+ <tr>
+ <td rowspan="1" title="translate3d() vs. 'transform-origin'">
+ <a href="transform3d-translate3d-001.htm">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.htm">=</a> <a href="reference/transform-lime-square-ref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-translatez-001" class="">
+ <tr>
+ <td rowspan="1" title="translatez() vs. 'transform-origin'">
+ <a href="transform3d-translatez-001.htm">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.htm">=</a> <a href="reference/transform3d-translatez-notref.htm">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotate-degree-90" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotate function and one parameter">
+ <a href="transforms-rotate-degree-90.htm">transforms-rotate-degree-90</a></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotate-translate-scale" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and rotate function with one parameter">
+ <a href="transforms-rotate-translate-scale.htm">transforms-rotate-translate-scale</a></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotatey-degree-60" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotate function and one parameter">
+ <a href="transforms-rotateY-degree-60.htm">transforms-rotatey-degree-60</a></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-skewx" class="">
+ <tr>
+ <td rowspan="1" title="transform property with skew function for X axis.">
+ <a href="transforms-skewX.htm">transforms-skewx</a></td>
+ <td><a href="reference/transforms-skewX-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-skewy" class="">
+ <tr>
+ <td rowspan="1" title="transform property with skew function for Y axis.">
+ <a href="transforms-skewY.htm">transforms-skewy</a></td>
+ <td><a href="reference/transforms-skewY-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="translate" class="">
+ <tr>
+ <td rowspan="1" title="test translate">
+ <a href="translate.htm">translate</a></td>
+ <td><a href="reference/translate-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="translate-optional-second-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with translate function and one parameter">
+ <a href="translate-optional-second-001.htm">translate-optional-second-001</a></td>
+ <td><a href="reference/translate-optional-second-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-preserve-3d-1" class="">
+ <tr>
+ <td rowspan="1" title="transform preserve-3d">
+ <a href="transofrmed-preserve-3d-1.htm">transofrmed-preserve-3d-1</a></td>
+ <td><a href="reference/transofrmed-preserve-3d-1-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-rotatex-3" class="">
+ <tr>
+ <td rowspan="1" title="transform rotateX">
+ <a href="transofrmed-rotateX-3.htm">transofrmed-rotatex-3</a></td>
+ <td><a href="reference/transofrmed-rotateX-3-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-rotatey-1" class="">
+ <tr>
+ <td rowspan="1" title="transform rotateY">
+ <a href="transofrmed-rotateY-1.htm">transofrmed-rotatey-1</a></td>
+ <td><a href="reference/transofrmed-rotateY-1-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-css-3d-polygon-cycle" class="svg">
+ <tr>
+ <td rowspan="1" title="3d transform polygon cycle">
+ <a href="ttwf-css-3d-polygon-cycle.htm">ttwf-css-3d-polygon-cycle</a></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-css-3d-polygon-cycle-mismatch" class="svg">
+ <tr>
+ <td rowspan="1" title="3d transform polygon cycle">
+ <a href="ttwf-css-3d-polygon-cycle-mismatch.htm">ttwf-css-3d-polygon-cycle-mismatch</a></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.htm">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-reftest-rotate" class="">
+ <tr>
+ <td rowspan="1" title="transform rotate">
+ <a href="ttwf-reftest-rotate.htm">ttwf-reftest-rotate</a></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-skewx-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using skewX() function">
+ <a href="ttwf-transform-skewx-001.htm">ttwf-transform-skewx-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-skewx-001.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-skewy-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using skewY() function">
+ <a href="ttwf-transform-skewy-001.htm">ttwf-transform-skewy-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-skewy-001.htm">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-translatex-001" class="CSS Transform">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using translateX() function">
+ <a href="ttwf-transform-translatex-001.htm">ttwf-transform-translatex-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-translatex-001.htm">=</a> </td>
+ <td rowspan="1"><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-translatey-001" class="CSS Transform">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using translateY() function">
+ <a href="ttwf-transform-translatey-001.htm">ttwf-transform-translatey-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-translatey-001.htm">=</a> </td>
+ <td rowspan="1"><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html>
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/reftest.list b/tests/wpt/css-tests/css-transforms-1_dev/html/reftest.list
new file mode 100644
index 00000000000..ab2c3d4d569
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/reftest.list
@@ -0,0 +1,1034 @@
+
+2d-rotate-001.htm == reference/2d-rotate-ref.htm != reference/2d-rotate-notref.htm
+animations-001.htm == reference/animations-001-ref.htm
+backface-visibility-hidden-001.htm == reference/backface-visibility-hidden-ref.htm
+canvas3d-001.htm == reference/canvas3d-001-ref.htm
+canvas3d-002.htm == reference/canvas3d-002-ref.htm
+css-rotate-2d-3d-001.htm == reference/css-rotate-2d-3d-001-ref.htm
+css-scale-nested-001.htm == reference/css-scale-nested-ref.htm
+css-skew-001.htm == reference/css-skew-001-ref.htm
+css-skew-002.htm == reference/css-skew-002-ref.htm
+css-transform-3d-rotate3d-X-negative.htm == reference/css-transform-3d-rotateX-ref.htm
+css-transform-3d-rotate3d-X-positive.htm == reference/css-transform-3d-rotateX-ref.htm
+css-transform-3d-rotate3d-Y-negative.htm == reference/css-transform-3d-rotateY-ref.htm
+css-transform-3d-rotate3d-Y-positive.htm == reference/css-transform-3d-rotateY-ref.htm
+css-transform-3d-rotate3d-Z-negative.htm == reference/css-transform-3d-rotateZ-ref.htm
+css-transform-3d-rotate3d-Z-positive.htm == reference/css-transform-3d-rotateZ-ref.htm
+css-transform-3d-rotateX-negative.htm == reference/css-transform-3d-rotateX-ref.htm
+css-transform-3d-rotateX-positive.htm == reference/css-transform-3d-rotateX-ref.htm
+css-transform-3d-rotateY-negative.htm == reference/css-transform-3d-rotateY-ref.htm
+css-transform-3d-rotateY-positive.htm == reference/css-transform-3d-rotateY-ref.htm
+css-transform-3d-rotateZ-negative.htm == reference/css-transform-3d-rotateZ-ref.htm
+css-transform-3d-rotateZ-positive.htm == reference/css-transform-3d-rotateZ-ref.htm
+css-transform-3d-transform-style.htm == reference/css-transform-3d-transform-style-ref.htm
+css-transform-scale-001.htm == reference/css-transform-scale-ref-001.htm
+css-transform-scale-002.htm == reference/css-transform-scale-ref-002.htm
+css-transforms-3d-on-anonymous-block-001.htm == reference/css-transforms-3d-anonymous-block-ref.htm
+css-transforms-transformlist.htm == reference/css-transforms-transformlist-ref.htm
+css3-transform-perspective.htm == reference/css3-transform-perspective-ref.htm
+css3-transform-rotateY.htm == reference/css3-transform-rotateY-ref.htm
+css3-transform-scale.htm == reference/css3-transform-scale-ref.htm
+css3-transform-scale-002.htm == reference/css3-transform-scale-ref-002.htm
+iframe-001.htm == reference/iframe-001-ref.htm
+perspective-origin-001.htm == reference/ref-filled-green-100px-square.htm
+perspective-origin-002.htm == reference/ref-filled-green-100px-square.htm
+perspective-origin-003.htm == reference/ref-filled-green-100px-square.htm
+perspective-origin-004.htm == reference/ref-filled-green-100px-square.htm
+perspective-origin-005.htm == reference/ref-filled-green-100px-square.htm
+perspective-origin-006.htm == reference/ref-filled-green-100px-square.htm
+perspective-origin-x.htm == reference/perspective-origin-reftest.htm
+perspective-origin-xy.htm == reference/perspective-reftest.htm
+perspective-translateZ-0.htm == reference/perspective-reftest.htm
+perspective-translateZ-negative.htm == reference/perspective-reftest.htm
+perspective-translateZ-positive.htm == reference/perspective-reftest.htm
+regions-transforms-001.htm == reference/regions-transforms-001-ref.htm
+regions-transforms-002.htm == reference/regions-transforms-001-ref.htm
+regions-transforms-003.htm == reference/regions-transforms-001-ref.htm
+regions-transforms-004.htm == reference/regions-transforms-001-ref.htm
+regions-transforms-005.htm == reference/regions-transforms-001-ref.htm
+regions-transforms-006.htm == reference/regions-transforms-001-ref.htm
+regions-transforms-007.htm == reference/regions-transforms-001-ref.htm
+regions-transforms-008.htm == reference/regions-transforms-008-ref.htm
+regions-transforms-009.htm == reference/regions-transforms-008-ref.htm
+regions-transforms-010.htm == reference/regions-transforms-010-ref.htm
+regions-transforms-011.htm == reference/regions-transforms-010-ref.htm
+regions-transforms-012.htm == reference/regions-transforms-010-ref.htm
+regions-transforms-013.htm == reference/regions-transforms-013-alt-ref.htm
+regions-transforms-013.htm == reference/regions-transforms-013-ref.htm
+regions-transforms-014.htm == reference/regions-transforms-014-ref.htm
+regions-transforms-015.htm == reference/regions-transforms-014-ref.htm
+regions-transforms-016.htm == reference/regions-transforms-016-ref.htm
+regions-transforms-017.htm == reference/regions-transforms-017-ref.htm
+regions-transforms-018.htm == reference/regions-transforms-018-ref.htm
+regions-transforms-019.htm == reference/regions-transforms-019-ref.htm
+regions-transforms-020.htm == reference/regions-transforms-020-ref.htm
+regions-transforms-021.htm == reference/regions-transforms-020-ref.htm
+regions-transforms-022.htm == reference/regions-transforms-020-ref.htm
+rotate_45deg.htm == reference/rotate_45deg-ref.htm
+rotate_x_45deg.htm == reference/rotate_x_45deg-ref.htm
+rotate_y_45deg.htm == reference/rotate_y_45deg-ref.htm
+rotateY.htm == reference/rotateY-ref.htm
+scale-optional-second-001.htm == reference/scale-optional-second-ref.htm
+scale-zero-001.htm == reference/scale-zero-ref.htm
+scalex.htm == reference/scalex-ref.htm
+scaley.htm == reference/scaley-ref.htm
+skew-test1.htm == reference/skew-test1-ref.htm
+svg-document-styles-001.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-002.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-003.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-004.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-005.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-006.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-007.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-008.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-009.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-010.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-011.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-012.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-013.htm == reference/svg-document-styles-ref.htm
+svg-document-styles-014.htm == reference/svg-document-styles-ref.htm
+svg-external-styles-001.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-002.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-003.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-004.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-005.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-006.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-007.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-008.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-009.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-010.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-011.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-012.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-013.htm == reference/svg-external-styles-ref.htm
+svg-external-styles-014.htm == reference/svg-external-styles-ref.htm
+svg-gradientTransform-001.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-002.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-003.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-004.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-005.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-006.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-007.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-008.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-009.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-010.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-011.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-012.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-013.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-014.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-015.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-016.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-017.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-018.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-019.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-020.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-021.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-022.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-023.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-024.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-025.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-026.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-027.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-028.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-029.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-030.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-031.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-032.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-033.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-034.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-035.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-036.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-037.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-038.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-039.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-040.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-041.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-042.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-043.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-044.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-045.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-046.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-047.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-048.htm == reference/svg-gradientTransform-ref.htm
+svg-gradientTransform-049.htm == reference/svg-gradientTransform-transform-ref.htm
+svg-gradientTransform-combination-001.htm == reference/svg-gradientTransform-combination-ref.htm
+svg-gradientTransform-combination-002.htm == reference/svg-gradientTransform-combination-ref.htm
+svg-gradientTransform-combination-003.htm == reference/svg-gradientTransform-combination-ref.htm
+svg-gradientTransform-ex-unit-001.htm == reference/svg-gradientTransform-ex-unit-ref.htm
+svg-gradientTransform-ex-unit-002.htm == reference/svg-gradientTransform-ex-unit-ref.htm
+svg-gradientTransform-ex-unit-003.htm == reference/svg-gradientTransform-ex-unit-ref.htm
+svg-gradientTransform-ex-unit-004.htm == reference/svg-gradientTransform-ex-unit-ref.htm
+svg-gradientTransform-ex-unit-005.htm == reference/svg-gradientTransform-ex-unit-ref.htm
+svg-gradientTransform-ex-unit-006.htm == reference/svg-gradientTransform-ex-unit-ref.htm
+svg-gradientTransform-relative-001.htm == reference/svg-gradientTransform-relative-ref.htm
+svg-gradientTransform-relative-002.htm == reference/svg-gradientTransform-relative-ref.htm
+svg-gradientTransform-relative-003.htm == reference/svg-gradientTransform-relative-ref.htm
+svg-inline-styles-001.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-002.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-003.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-004.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-005.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-006.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-007.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-008.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-009.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-010.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-011.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-012.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-013.htm == reference/svg-inline-styles-ref.htm
+svg-inline-styles-014.htm == reference/svg-inline-styles-ref.htm
+svg-matrix-001.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-002.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-003.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-004.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-005.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-006.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-007.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-008.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-009.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-010.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-011.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-012.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-013.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-014.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-015.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-016.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-017.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-018.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-019.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-020.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-021.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-022.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-023.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-024.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-025.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-026.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-027.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-028.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-029.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-030.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-031.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-032.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-033.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-034.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-035.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-036.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-037.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-038.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-039.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-040.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-041.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-042.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-043.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-044.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-045.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-046.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-047.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-048.htm == reference/svg-matrix-clipped-rect-ref.htm
+svg-matrix-049.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-050.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-051.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-052.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-053.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-054.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-055.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-056.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-057.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-058.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-059.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-060.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-061.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-062.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-063.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-064.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-065.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-066.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-067.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-068.htm == reference/svg-matrix-four-color-ref.htm
+svg-matrix-069.htm == reference/svg-matrix-four-color-ref.htm
+svg-origin-length-001.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-002.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-003.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-004.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-005.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-006.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-007.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-008.htm == reference/svg-origin-length-ref.htm
+svg-origin-length-cm-001.htm == reference/svg-origin-length-cm-ref.htm
+svg-origin-length-cm-002.htm == reference/svg-origin-length-cm-ref.htm
+svg-origin-length-cm-003.htm == reference/svg-origin-length-cm-ref.htm
+svg-origin-length-cm-004.htm == reference/svg-origin-length-cm-ref.htm
+svg-origin-length-cm-005.htm == reference/svg-origin-length-cm-ref.htm
+svg-origin-length-in-001.htm == reference/svg-origin-length-in-ref.htm
+svg-origin-length-in-002.htm == reference/svg-origin-length-in-ref.htm
+svg-origin-length-in-003.htm == reference/svg-origin-length-in-ref.htm
+svg-origin-length-in-004.htm == reference/svg-origin-length-in-ref.htm
+svg-origin-length-in-005.htm == reference/svg-origin-length-in-ref.htm
+svg-origin-length-pt-001.htm == reference/svg-origin-length-pt-ref.htm
+svg-origin-length-pt-002.htm == reference/svg-origin-length-pt-ref.htm
+svg-origin-length-pt-003.htm == reference/svg-origin-length-pt-ref.htm
+svg-origin-length-pt-004.htm == reference/svg-origin-length-pt-ref.htm
+svg-origin-length-pt-005.htm == reference/svg-origin-length-pt-ref.htm
+svg-origin-relative-length-001.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-002.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-003.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-004.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-005.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-006.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-007.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-008.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-009.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-010.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-011.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-012.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-013.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-014.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-015.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-016.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-017.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-018.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-019.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-020.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-021.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-022.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-023.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-024.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-025.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-026.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-027.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-028.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-029.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-030.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-031.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-032.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-033.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-034.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-035.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-036.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-037.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-038.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-039.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-040.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-041.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-042.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-043.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-044.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-045.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-046.htm == reference/svg-origin-relative-length-ref.htm
+svg-origin-relative-length-invalid-001.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-002.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-003.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-004.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-005.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-006.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-007.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-008.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-009.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-010.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-011.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-origin-relative-length-invalid-012.htm == reference/svg-origin-relative-length-invalid-ref.htm
+svg-patternTransform-001.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-002.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-003.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-004.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-005.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-006.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-007.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-008.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-009.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-010.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-011.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-012.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-013.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-014.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-015.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-016.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-017.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-018.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-019.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-020.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-021.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-022.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-023.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-024.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-025.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-026.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-027.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-028.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-029.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-030.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-031.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-032.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-033.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-034.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-035.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-036.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-037.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-038.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-039.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-040.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-041.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-042.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-043.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-044.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-045.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-046.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-047.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-048.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-049.htm == reference/svg-patternTransform-ref.htm
+svg-patternTransform-combination-001.htm == reference/svg-patternTransform-combination-ref.htm
+svg-patternTransform-combination-002.htm == reference/svg-patternTransform-combination-ref.htm
+svg-patternTransform-combination-003.htm == reference/svg-patternTransform-combination-ref.htm
+svg-patternTransform-ex-unit-001.htm == reference/svg-patternTransform-ex-unit-ref.htm
+svg-patternTransform-ex-unit-002.htm == reference/svg-patternTransform-ex-unit-ref.htm
+svg-patternTransform-ex-unit-003.htm == reference/svg-patternTransform-ex-unit-ref.htm
+svg-patternTransform-ex-unit-004.htm == reference/svg-patternTransform-ex-unit-ref.htm
+svg-patternTransform-ex-unit-005.htm == reference/svg-patternTransform-ex-unit-ref.htm
+svg-patternTransform-ex-unit-006.htm == reference/svg-patternTransform-ex-unit-ref.htm
+svg-patternTransform-relative-001.htm == reference/svg-patternTransform-relative-ref.htm
+svg-patternTransform-relative-002.htm == reference/svg-patternTransform-relative-ref.htm
+svg-patternTransform-relative-003.htm == reference/svg-patternTransform-relative-ref.htm
+svg-rotate-3args-001.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-002.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-003.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-004.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-005.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-006.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-007.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-008.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-009.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-010.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-011.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-012.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-013.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-014.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-015.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-016.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-017.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-018.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-019.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-020.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-021.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-022.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-023.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-invalid-001.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-invalid-002.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-invalid-003.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-invalid-004.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-3args-invalid-005.htm == reference/svg-rotate-3args-ref.htm
+svg-rotate-angle-45-001.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-002.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-003.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-004.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-005.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-006.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-007.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-008.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-009.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-010.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-011.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-012.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-013.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-014.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-015.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-016.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-017.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-018.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-019.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-020.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-021.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-022.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-023.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-024.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-45-025.htm == reference/svg-rotate-angle-45-ref.htm
+svg-rotate-angle-90-001.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-002.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-003.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-004.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-005.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-006.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-007.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-008.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-009.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-010.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-011.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-012.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-013.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-014.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-015.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-016.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-017.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-018.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-019.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-020.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-021.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-022.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-023.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-024.htm == reference/svg-rotate-angle-90-ref.htm
+svg-rotate-angle-90-025.htm == reference/svg-rotate-angle-90-ref.htm
+svg-scale-001.htm == reference/svg-scale-ref.htm
+svg-scale-002.htm == reference/svg-scale-ref.htm
+svg-scale-003.htm == reference/svg-scale-ref.htm
+svg-scale-004.htm == reference/svg-scale-ref.htm
+svg-scale-005.htm == reference/svg-scale-ref.htm
+svg-scale-006.htm == reference/svg-scale-ref.htm
+svg-scale-007.htm == reference/svg-scale-ref.htm
+svg-scale-008.htm == reference/svg-scale-ref.htm
+svg-scale-009.htm == reference/svg-scale-ref.htm
+svg-scale-010.htm == reference/svg-scale-ref.htm
+svg-scale-011.htm == reference/svg-scale-ref.htm
+svg-scale-012.htm == reference/svg-scale-ref.htm
+svg-scale-013.htm == reference/svg-scale-ref.htm
+svg-scale-014.htm == reference/svg-scale-ref.htm
+svg-scale-015.htm == reference/svg-scale-ref.htm
+svg-scale-016.htm == reference/svg-scale-ref.htm
+svg-scale-017.htm == reference/svg-scale-ref.htm
+svg-scalex-001.htm == reference/svg-scale-ref.htm
+svg-scalex-002.htm == reference/svg-scale-ref.htm
+svg-scalex-003.htm == reference/svg-scale-ref.htm
+svg-scalex-004.htm == reference/svg-scale-ref.htm
+svg-scalex-005.htm == reference/svg-scale-ref.htm
+svg-scaley-001.htm == reference/svg-scale-ref.htm
+svg-scaley-002.htm == reference/svg-scale-ref.htm
+svg-scaley-003.htm == reference/svg-scale-ref.htm
+svg-scaley-004.htm == reference/svg-scale-ref.htm
+svg-scaley-005.htm == reference/svg-scale-ref.htm
+svg-skewx-001.htm == reference/svg-skewx-ref.htm
+svg-skewx-002.htm == reference/svg-skewx-ref.htm
+svg-skewx-003.htm == reference/svg-skewx-ref.htm
+svg-skewx-004.htm == reference/svg-skewx-ref.htm
+svg-skewx-005.htm == reference/svg-skewx-ref.htm
+svg-skewx-006.htm == reference/svg-skewx-ref.htm
+svg-skewx-007.htm == reference/svg-skewx-ref.htm
+svg-skewx-008.htm == reference/svg-skewx-ref.htm
+svg-skewx-009.htm == reference/svg-skewx-ref.htm
+svg-skewx-010.htm == reference/svg-skewx-ref.htm
+svg-skewx-011.htm == reference/svg-skewx-ref.htm
+svg-skewx-012.htm == reference/svg-skewx-ref.htm
+svg-skewx-013.htm == reference/svg-skewx-ref.htm
+svg-skewx-014.htm == reference/svg-skewx-ref.htm
+svg-skewx-015.htm == reference/svg-skewx-ref.htm
+svg-skewx-016.htm == reference/svg-skewx-ref.htm
+svg-skewx-017.htm == reference/svg-skewx-ref.htm
+svg-skewx-018.htm == reference/svg-skewx-ref.htm
+svg-skewx-019.htm == reference/svg-skewx-ref.htm
+svg-skewx-020.htm == reference/svg-skewx-ref.htm
+svg-skewx-021.htm == reference/svg-skewx-ref.htm
+svg-skewx-022.htm == reference/svg-skewx-ref.htm
+svg-skewx-023.htm == reference/svg-skewx-ref.htm
+svg-skewx-024.htm == reference/svg-skewx-ref.htm
+svg-skewx-025.htm == reference/svg-skewx-ref.htm
+svg-skewxy-001.htm == reference/svg-skewxy-ref.htm
+svg-skewxy-002.htm == reference/svg-skewxy-ref.htm
+svg-skewy-001.htm == reference/svg-skewy-ref.htm
+svg-skewy-002.htm == reference/svg-skewy-ref.htm
+svg-skewy-003.htm == reference/svg-skewy-ref.htm
+svg-skewy-004.htm == reference/svg-skewy-ref.htm
+svg-skewy-005.htm == reference/svg-skewy-ref.htm
+svg-skewy-006.htm == reference/svg-skewy-ref.htm
+svg-skewy-007.htm == reference/svg-skewy-ref.htm
+svg-skewy-008.htm == reference/svg-skewy-ref.htm
+svg-skewy-009.htm == reference/svg-skewy-ref.htm
+svg-skewy-010.htm == reference/svg-skewy-ref.htm
+svg-skewy-011.htm == reference/svg-skewy-ref.htm
+svg-skewy-012.htm == reference/svg-skewy-ref.htm
+svg-skewy-013.htm == reference/svg-skewy-ref.htm
+svg-skewy-014.htm == reference/svg-skewy-ref.htm
+svg-skewy-015.htm == reference/svg-skewy-ref.htm
+svg-skewy-016.htm == reference/svg-skewy-ref.htm
+svg-skewy-017.htm == reference/svg-skewy-ref.htm
+svg-skewy-018.htm == reference/svg-skewy-ref.htm
+svg-skewy-019.htm == reference/svg-skewy-ref.htm
+svg-skewy-020.htm == reference/svg-skewy-ref.htm
+svg-skewy-021.htm == reference/svg-skewy-ref.htm
+svg-skewy-022.htm == reference/svg-skewy-ref.htm
+svg-skewy-023.htm == reference/svg-skewy-ref.htm
+svg-skewy-024.htm == reference/svg-skewy-ref.htm
+svg-skewy-025.htm == reference/svg-skewy-ref.htm
+svg-transform-group-001.htm == reference/svg-green-square-ref.htm
+svg-transform-group-002.htm == reference/svg-green-square-ref.htm
+svg-transform-group-003.htm == reference/svg-green-square-ref.htm
+svg-transform-group-004.htm == reference/svg-green-square-ref.htm
+svg-transform-group-005.htm == reference/svg-green-square-ref.htm
+svg-transform-group-006.htm == reference/svg-green-square-ref.htm
+svg-transform-group-007.htm == reference/svg-green-square-ref.htm
+svg-transform-group-008.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-group-009.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-group-010.htm == reference/svg-green-square-ref.htm
+svg-transform-group-011.htm == reference/svg-green-square-ref.htm
+svg-transform-list-separations-001.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-002.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-003.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-004.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-005.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-006.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-007.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-008.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-009.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-010.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-list-separations-011.htm == reference/svg-transform-list-separations-ref.htm
+svg-transform-nested-001.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-002.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-003.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-004.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-005.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-006.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-007.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-008.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-nested-009.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-nested-010.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-011.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-012.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-013.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-nested-014.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-nested-015.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-016.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-017.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-018.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-nested-019.htm == reference/svg-green-square-250x250-ref.htm
+svg-transform-nested-020.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-021.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-022.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-023.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-024.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-025.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-026.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-027.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-028.htm == reference/svg-green-square-ref.htm
+svg-transform-nested-029.htm == reference/svg-green-square-ref.htm
+svg-translate-001.htm == reference/svg-translate-ref.htm
+svg-translate-002.htm == reference/svg-translate-ref.htm
+svg-translate-003.htm == reference/svg-translate-ref.htm
+svg-translate-004.htm == reference/svg-translate-ref.htm
+svg-translate-005.htm == reference/svg-translate-ref.htm
+svg-translate-006.htm == reference/svg-translate-ref.htm
+svg-translate-007.htm == reference/svg-translate-ref.htm
+svg-translate-008.htm == reference/svg-translate-ref.htm
+svg-translate-009.htm == reference/svg-translate-ref.htm
+svg-translate-010.htm == reference/svg-translate-ref.htm
+svg-translate-011.htm == reference/svg-translate-ref.htm
+svg-translate-012.htm == reference/svg-translate-ref.htm
+svg-translate-013.htm == reference/svg-translate-ref.htm
+svg-translate-014.htm == reference/svg-translate-ref.htm
+svg-translate-015.htm == reference/svg-translate-ref.htm
+svg-translate-016.htm == reference/svg-translate-ref.htm
+svg-translate-017.htm == reference/svg-translate-ref.htm
+svg-translate-018.htm == reference/svg-translate-ref.htm
+svg-translate-019.htm == reference/svg-translate-ref.htm
+svg-translate-020.htm == reference/svg-translate-ref.htm
+svg-translate-021.htm == reference/svg-translate-ref.htm
+svg-translate-022.htm == reference/svg-translate-ref.htm
+svg-translate-023.htm == reference/svg-translate-ref.htm
+svg-translate-024.htm == reference/svg-translate-ref.htm
+svg-translate-025.htm == reference/svg-translate-ref.htm
+svg-translate-026.htm == reference/svg-translate-ref.htm
+svg-translate-027.htm == reference/svg-translate-ref.htm
+svg-translate-028.htm == reference/svg-translate-ref.htm
+svg-translate-029.htm == reference/svg-translate-ref.htm
+svg-translate-030.htm == reference/svg-translate-ref.htm
+svg-translate-031.htm == reference/svg-translate-ref.htm
+svg-translate-032.htm == reference/svg-translate-ref.htm
+svg-translate-033.htm == reference/svg-translate-ref.htm
+svg-translate-034.htm == reference/svg-translate-ref.htm
+svg-translate-035.htm == reference/svg-translate-ref.htm
+svg-translate-036.htm == reference/svg-translate-ref.htm
+svg-translate-037.htm == reference/svg-translate-ref.htm
+svg-translate-038.htm == reference/svg-translate-ref.htm
+svg-translate-039.htm == reference/svg-translate-ref.htm
+svg-translate-040.htm == reference/svg-translate-ref.htm
+svg-translate-041.htm == reference/svg-translate-ref.htm
+svg-translate-042.htm == reference/svg-translate-ref.htm
+svg-translate-043.htm == reference/svg-translate-ref.htm
+svg-translate-044.htm == reference/svg-translate-ref.htm
+svg-translate-045.htm == reference/svg-translate-ref.htm
+svg-translate-046.htm == reference/svg-translate-ref.htm
+svg-translate-047.htm == reference/svg-translate-ref.htm
+svg-translate-048.htm == reference/svg-translate-ref.htm
+svg-translate-049.htm == reference/svg-translate-ref.htm
+svg-translate-050.htm == reference/svg-translate-ref.htm
+svg-translate-051.htm == reference/svg-translate-ref.htm
+svg-translate-052.htm == reference/svg-translate-ref.htm
+svg-translate-053.htm == reference/svg-translate-ref.htm
+svg-translate-054.htm == reference/svg-translate-ref.htm
+svg-translate-055.htm == reference/svg-translate-ref.htm
+svg-translate-abs-unit-combinations-001.htm == reference/svg-translate-abs-unit-combinations-ref.htm
+svg-translate-abs-unit-combinations-002.htm == reference/svg-translate-abs-unit-combinations-ref.htm
+svg-translate-abs-unit-combinations-003.htm == reference/svg-translate-abs-unit-combinations-ref.htm
+svg-translate-abs-unit-combinations-004.htm == reference/svg-translate-abs-unit-combinations-ref.htm
+svg-translate-abs-unit-combinations-005.htm == reference/svg-translate-abs-unit-combinations-ref.htm
+svg-translate-abs-unit-combinations-006.htm == reference/svg-translate-abs-unit-combinations-ref.htm
+svg-translate-ex-unit-001.htm == reference/svg-translate-ex-unit-ref.htm
+svg-translate-ex-unit-002.htm == reference/svg-translate-ex-unit-ref.htm
+svg-translate-ex-unit-003.htm == reference/svg-translate-ex-unit-ref.htm
+svg-translate-ex-unit-004.htm == reference/svg-translate-ex-unit-ref.htm
+svg-translate-ex-unit-005.htm == reference/svg-translate-ex-unit-ref.htm
+svg-translate-ex-unit-006.htm == reference/svg-translate-ex-unit-ref.htm
+svg-translate-multiple-001.htm == reference/svg-translate-multiple-ref.htm
+svg-translate-multiple-002.htm == reference/svg-translate-multiple-ref.htm
+svg-translate-multiple-relative-001.htm == reference/svg-translate-multiple-relative-ref.htm
+svg-translate-multiple-relative-002.htm == reference/svg-translate-multiple-relative-ref.htm
+svg-translate-relative-001.htm == reference/svg-translate-relative-ref.htm
+svg-translate-relative-002.htm == reference/svg-translate-relative-ref.htm
+svg-translate-relative-003.htm == reference/svg-translate-relative-ref.htm
+svg-translate-relative-004.htm == reference/svg-translate-relative-ref.htm
+svg-translate-relative-005.htm == reference/svg-translate-relative-ref.htm
+svg-translate-relative-006.htm == reference/svg-translate-relative-ref.htm
+svg-translate-relative-007.htm == reference/svg-translate-relative-ref.htm
+svg-translate-relative-008.htm == reference/svg-translate-relative-ref.htm
+svg-translatex-001.htm == reference/svg-translatex-ref.htm
+svg-translatex-002.htm == reference/svg-translatex-ref.htm
+svg-translatex-003.htm == reference/svg-translatex-ref.htm
+svg-translatex-004.htm == reference/svg-translatex-ref.htm
+svg-translatex-005.htm == reference/svg-translatex-ref.htm
+svg-translatex-006.htm == reference/svg-translatex-ref.htm
+svg-translatex-007.htm == reference/svg-translatex-ref.htm
+svg-translatex-008.htm == reference/svg-translatex-ref.htm
+svg-translatex-009.htm == reference/svg-translatex-ref.htm
+svg-translatex-010.htm == reference/svg-translatex-ref.htm
+svg-translatex-011.htm == reference/svg-translatex-ref.htm
+svg-translatex-012.htm == reference/svg-translatex-ref.htm
+svg-translatex-013.htm == reference/svg-translatex-ref.htm
+svg-translatex-014.htm == reference/svg-translatex-ref.htm
+svg-translatex-015.htm == reference/svg-translatex-ref.htm
+svg-translatex-016.htm == reference/svg-translatex-ref.htm
+svg-translatex-017.htm == reference/svg-translatex-ref.htm
+svg-translatex-018.htm == reference/svg-translatex-ref.htm
+svg-translatex-019.htm == reference/svg-translatex-ref.htm
+svg-translatex-020.htm == reference/svg-translatex-ref.htm
+svg-translatex-021.htm == reference/svg-translatex-ref.htm
+svg-translatex-022.htm == reference/svg-translatex-ref.htm
+svg-translatex-023.htm == reference/svg-translatex-ref.htm
+svg-translatex-024.htm == reference/svg-translatex-ref.htm
+svg-translatex-025.htm == reference/svg-translatex-ref.htm
+svg-translatex-026.htm == reference/svg-translatex-ref.htm
+svg-translatex-027.htm == reference/svg-translatex-ref.htm
+svg-translatex-028.htm == reference/svg-translatex-ref.htm
+svg-translatex-029.htm == reference/svg-translatex-ref.htm
+svg-translatex-030.htm == reference/svg-translatex-ref.htm
+svg-translatex-031.htm == reference/svg-translatex-ref.htm
+svg-translatex-032.htm == reference/svg-translatex-ref.htm
+svg-translatex-033.htm == reference/svg-translatex-ref.htm
+svg-translatex-034.htm == reference/svg-translatex-ref.htm
+svg-translatex-035.htm == reference/svg-translatex-ref.htm
+svg-translatex-036.htm == reference/svg-translatex-ref.htm
+svg-translatex-037.htm == reference/svg-translatex-ref.htm
+svg-translatex-038.htm == reference/svg-translatex-ref.htm
+svg-translatex-039.htm == reference/svg-translatex-ref.htm
+svg-translatex-040.htm == reference/svg-translatex-ref.htm
+svg-translatex-041.htm == reference/svg-translatex-ref.htm
+svg-translatex-042.htm == reference/svg-translatex-ref.htm
+svg-translatex-043.htm == reference/svg-translatex-ref.htm
+svg-translatex-044.htm == reference/svg-translatex-ref.htm
+svg-translatex-045.htm == reference/svg-translatex-ref.htm
+svg-translatex-046.htm == reference/svg-translatex-ref.htm
+svg-translatex-047.htm == reference/svg-translatex-ref.htm
+svg-translatex-048.htm == reference/svg-translatex-ref.htm
+svg-translatex-combination-001.htm == reference/svg-translatex-ref.htm
+svg-translatex-combination-002.htm == reference/svg-translatex-ref.htm
+svg-translatex-combination-003.htm == reference/svg-translatex-ref.htm
+svg-translatex-combination-004.htm == reference/svg-translatex-ref.htm
+svg-translatex-ex-unit-001.htm == reference/svg-translatex-ex-unit-ref.htm
+svg-translatex-ex-unit-002.htm == reference/svg-translatex-ex-unit-ref.htm
+svg-translatex-ex-unit-003.htm == reference/svg-translatex-ex-unit-ref.htm
+svg-translatex-ex-unit-004.htm == reference/svg-translatex-ex-unit-ref.htm
+svg-translatex-ex-unit-005.htm == reference/svg-translatex-ex-unit-ref.htm
+svg-translatex-ex-unit-006.htm == reference/svg-translatex-ex-unit-ref.htm
+svg-translatex-relative-001.htm == reference/svg-translatex-ref.htm
+svg-translatex-relative-002.htm == reference/svg-translatex-ref.htm
+svg-translatey-001.htm == reference/svg-translatey-ref.htm
+svg-translatey-002.htm == reference/svg-translatey-ref.htm
+svg-translatey-003.htm == reference/svg-translatey-ref.htm
+svg-translatey-004.htm == reference/svg-translatey-ref.htm
+svg-translatey-005.htm == reference/svg-translatey-ref.htm
+svg-translatey-006.htm == reference/svg-translatey-ref.htm
+svg-translatey-007.htm == reference/svg-translatey-ref.htm
+svg-translatey-008.htm == reference/svg-translatey-ref.htm
+svg-translatey-009.htm == reference/svg-translatey-ref.htm
+svg-translatey-010.htm == reference/svg-translatey-ref.htm
+svg-translatey-011.htm == reference/svg-translatey-ref.htm
+svg-translatey-012.htm == reference/svg-translatey-ref.htm
+svg-translatey-013.htm == reference/svg-translatey-ref.htm
+svg-translatey-014.htm == reference/svg-translatey-ref.htm
+svg-translatey-015.htm == reference/svg-translatey-ref.htm
+svg-translatey-016.htm == reference/svg-translatey-ref.htm
+svg-translatey-017.htm == reference/svg-translatey-ref.htm
+svg-translatey-018.htm == reference/svg-translatey-ref.htm
+svg-translatey-019.htm == reference/svg-translatey-ref.htm
+svg-translatey-020.htm == reference/svg-translatey-ref.htm
+svg-translatey-021.htm == reference/svg-translatey-ref.htm
+svg-translatey-022.htm == reference/svg-translatey-ref.htm
+svg-translatey-023.htm == reference/svg-translatey-ref.htm
+svg-translatey-024.htm == reference/svg-translatey-ref.htm
+svg-translatey-025.htm == reference/svg-translatey-ref.htm
+svg-translatey-026.htm == reference/svg-translatey-ref.htm
+svg-translatey-027.htm == reference/svg-translatey-ref.htm
+svg-translatey-028.htm == reference/svg-translatey-ref.htm
+svg-translatey-029.htm == reference/svg-translatey-ref.htm
+svg-translatey-030.htm == reference/svg-translatey-ref.htm
+svg-translatey-031.htm == reference/svg-translatey-ref.htm
+svg-translatey-032.htm == reference/svg-translatey-ref.htm
+svg-translatey-033.htm == reference/svg-translatey-ref.htm
+svg-translatey-034.htm == reference/svg-translatey-ref.htm
+svg-translatey-035.htm == reference/svg-translatey-ref.htm
+svg-translatey-036.htm == reference/svg-translatey-ref.htm
+svg-translatey-037.htm == reference/svg-translatey-ref.htm
+svg-translatey-038.htm == reference/svg-translatey-ref.htm
+svg-translatey-039.htm == reference/svg-translatey-ref.htm
+svg-translatey-040.htm == reference/svg-translatey-ref.htm
+svg-translatey-041.htm == reference/svg-translatey-ref.htm
+svg-translatey-042.htm == reference/svg-translatey-ref.htm
+svg-translatey-043.htm == reference/svg-translatey-ref.htm
+svg-translatey-044.htm == reference/svg-translatey-ref.htm
+svg-translatey-045.htm == reference/svg-translatey-ref.htm
+svg-translatey-046.htm == reference/svg-translatey-ref.htm
+svg-translatey-047.htm == reference/svg-translatey-ref.htm
+svg-translatey-048.htm == reference/svg-translatey-ref.htm
+svg-translatey-combination-001.htm == reference/svg-translatey-ref.htm
+svg-translatey-combination-002.htm == reference/svg-translatey-ref.htm
+svg-translatey-combination-003.htm == reference/svg-translatey-ref.htm
+svg-translatey-combination-004.htm == reference/svg-translatey-ref.htm
+svg-translatey-ex-unit-001.htm == reference/svg-translatey-ex-unit-ref.htm
+svg-translatey-ex-unit-002.htm == reference/svg-translatey-ex-unit-ref.htm
+svg-translatey-ex-unit-003.htm == reference/svg-translatey-ex-unit-ref.htm
+svg-translatey-ex-unit-004.htm == reference/svg-translatey-ex-unit-ref.htm
+svg-translatey-ex-unit-005.htm == reference/svg-translatey-ex-unit-ref.htm
+svg-translatey-ex-unit-006.htm == reference/svg-translatey-ex-unit-ref.htm
+svg-translatey-relative-001.htm == reference/svg-translatey-ref.htm
+svg-translatey-relative-002.htm == reference/svg-translatey-ref.htm
+transform-3d-rotateY-stair-above-001.htm == reference/transform-3d-rotateY-stair-above-ref-001.htm
+transform-3d-rotateY-stair-below-001.htm == reference/transform-3d-rotateY-stair-above-ref-001.htm
+transform-abspos-001.htm == reference/transform-abspos-ref.htm
+transform-abspos-002.htm == reference/transform-abspos-ref.htm
+transform-abspos-003.htm == reference/transform-abspos-ref.htm
+transform-abspos-004.htm == reference/transform-abspos-ref.htm
+transform-abspos-005.htm != reference/transform-abspos-ref.htm
+transform-abspos-006.htm == reference/transform-abspos-ref.htm
+transform-abspos-007.htm == reference/transform-abspos-ref.htm
+transform-applies-to-001.htm == reference/transform-applies-to-001-ref.htm
+transform-applies-to-002.htm == reference/transform-applies-to-002-ref.htm
+transform-background-001.htm == reference/transform-background-ref-1.htm
+transform-background-002.htm == reference/transform-background-ref-1.htm
+transform-background-003.htm == reference/transform-background-ref-1.htm
+transform-background-004.htm == reference/transform-background-ref-1.htm
+transform-background-005.htm == reference/transform-background-ref-2.htm
+transform-background-006.htm == reference/transform-background-ref-2.htm != reference/transform-background-006-notref.htm
+transform-background-007.htm == reference/transform-background-ref-2.htm
+transform-background-008.htm == reference/transform-background-ref-2.htm
+transform-compound-001.htm == reference/transform-compound-ref.htm != reference/transform-compound-notref-1.htm != reference/transform-compound-notref-2.htm
+transform-descendant-001.htm == reference/transform-descendant-ref.htm
+transform-display-001.htm == reference/transform-display-ref.htm != reference/transform-display-notref.htm
+transform-display-002.htm == reference/transform-display-ref.htm != reference/transform-display-notref.htm
+transform-display-003.htm == reference/transform-display-ref.htm != reference/transform-display-notref.htm
+transform-display-004.htm == reference/transform-display-ref.htm != reference/transform-display-notref.htm
+transform-fixed-bg-001.htm == reference/transform-fixed-bg-ref.htm
+transform-fixed-bg-002.htm == reference/transform-fixed-bg-ref.htm
+transform-fixed-bg-003.htm == reference/transform-fixed-bg-ref.htm
+transform-fixed-bg-004.htm == reference/transform-fixed-bg-ref.htm
+transform-fixed-bg-005.htm == reference/transform-fixed-bg-ref.htm
+transform-fixed-bg-006.htm == reference/transform-fixed-bg-ref.htm
+transform-fixed-bg-007.htm == reference/transform-fixed-bg-ref.htm
+transform-generated-001.htm == reference/transform-generated-001-ref.htm != reference/transform-generated-001-notref.htm
+transform-generated-002.htm == reference/transform-generated-002-ref.htm != reference/transform-generated-002-notref.htm
+transform-iframe-001.htm == reference/transform-iframe-ref.htm
+transform-image-001.htm == reference/transform-image-ref.htm
+transform-inherit-001.htm == reference/transform-inherit-ref.htm
+transform-inherit-002.htm == reference/transform-inherit-ref.htm
+transform-inherit-origin-001.htm == reference/transform-inherit-origin-ref.htm
+transform-inherit-origin-002.htm == reference/transform-inherit-origin-ref.htm
+transform-inline-001.htm == reference/transform-inline-ref.htm != reference/transform-inline-notref.htm
+transform-input-001.htm == reference/transform-input-001-ref.htm
+transform-input-002.htm == reference/transform-input-002-ref.htm
+transform-input-003.htm == reference/transform-input-003-ref.htm
+transform-input-004.htm == reference/transform-input-004-ref.htm
+transform-input-005.htm == reference/transform-input-005-ref.htm
+transform-input-006.htm == reference/transform-input-006-ref.htm
+transform-input-007.htm == reference/transform-input-007-ref.htm
+transform-input-008.htm == reference/transform-input-008-ref.htm
+transform-input-009.htm == reference/transform-input-009-ref.htm
+transform-input-010.htm == reference/transform-input-010-ref.htm
+transform-input-011.htm == reference/transform-input-011-ref.htm
+transform-input-012.htm == reference/transform-input-012-ref.htm
+transform-input-013.htm == reference/transform-input-013-ref.htm
+transform-input-014.htm == reference/transform-input-014-ref.htm
+transform-input-015.htm == reference/transform-input-015-ref.htm
+transform-input-016.htm == reference/transform-input-016-ref.htm
+transform-input-017.htm == reference/transform-input-017-ref.htm
+transform-input-018.htm == reference/transform-input-018-ref.htm
+transform-input-019.htm == reference/transform-input-019-ref.htm
+transform-matrix-001.htm == reference/transform-matrix-001-ref.htm
+transform-matrix-002.htm == reference/transform-matrix-002-ref.htm
+transform-matrix-003.htm == reference/transform-matrix-003-ref.htm
+transform-matrix-004.htm == reference/transform-matrix-004-ref.htm
+transform-matrix-005.htm == reference/transform-matrix-005-ref.htm != reference/transform-matrix-005-notref.htm
+transform-matrix-006.htm == reference/transform-matrix-006-ref.htm != reference/transform-matrix-005-notref.htm
+transform-matrix-007.htm == reference/transform-matrix-007-ref.htm
+transform-matrix-008.htm == reference/transform-matrix-008-ref.htm != reference/transform-matrix-008-notref.htm
+transform-origin.htm == reference/transform-origin-ref.htm
+transform-origin-001.htm != reference/transform-origin-ref-1.htm
+transform-origin-002.htm != reference/transform-origin-ref-1.htm
+transform-origin-003.htm == reference/transform-origin-ref-2.htm
+transform-origin-004.htm == reference/transform-origin-ref-2.htm
+transform-origin-005.htm == reference/transform-origin-ref-2.htm
+transform-origin-006.htm == reference/transform-origin-ref-2.htm
+transform-origin-007.htm == reference/transform-origin-007-ref.htm
+transform-origin-008.htm == reference/transform-origin-007-ref.htm
+transform-origin-009.htm == reference/transform-origin-007-ref.htm
+transform-origin-01.htm == reference/transform-origin-01-ref.htm
+transform-origin-010.htm == reference/transform-origin-007-ref.htm
+transform-origin-011.htm == reference/transform-origin-007-ref.htm
+transform-origin-012.htm == reference/transform-origin-007-ref.htm
+transform-origin-name-001.htm == reference/transform-origin-name-ref-1.htm != reference/transform-origin-name-notref.htm
+transform-origin-name-002.htm == reference/transform-origin-name-ref-1.htm != reference/transform-origin-name-notref.htm
+transform-origin-name-003.htm == reference/transform-origin-name-ref-2.htm != reference/transform-origin-name-notref.htm
+transform-origin-name-004.htm == reference/transform-origin-name-ref-2.htm != reference/transform-origin-name-notref.htm
+transform-origin-name-005.htm == reference/transform-origin-name-ref-2.htm != reference/transform-origin-name-notref.htm
+transform-origin-name-006.htm == reference/transform-origin-name-ref-3.htm != reference/transform-origin-name-notref.htm
+transform-origin-name-007.htm == reference/transform-origin-name-ref-3.htm != reference/transform-origin-name-notref.htm
+transform-overflow-001.htm == reference/transform-overflow-001-ref.htm
+transform-overflow-002.htm == reference/transform-overflow-002-ref.htm
+transform-percent-001.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-percent-002.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-percent-003.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-percent-004.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-percent-005.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-percent-006.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-percent-007.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-percent-008.htm == reference/transform-percent-ref.htm != reference/transform-percent-notref.htm
+transform-propagate-inherit-boolean-001.htm == reference/transform-propagate-inherit-boolean-ref.htm
+transform-root-bg-001.htm == reference/transform-root-bg-001-ref.htm
+transform-root-bg-002.htm == reference/transform-root-bg-001-ref.htm
+transform-root-bg-003.htm == reference/transform-root-bg-003-ref.htm
+transform-root-bg-004.htm == reference/transform-root-bg-004-ref.htm
+transform-rotate-001.htm == reference/transform-rotate-001-ref.htm != reference/transform-rotate-001-notref.htm
+transform-rotate-002.htm == reference/transform-rotate-001-ref.htm != reference/transform-rotate-001-notref.htm
+transform-rotate-003.htm == reference/transform-rotate-001-ref.htm != reference/transform-rotate-001-notref.htm
+transform-rotate-004.htm == reference/transform-rotate-001-ref.htm != reference/transform-rotate-001-notref.htm
+transform-rotate-005.htm == reference/transform-rotate-001-ref.htm != reference/transform-rotate-001-notref.htm
+transform-rotate-006.htm == reference/transform-rotate-001-ref.htm != reference/transform-rotate-001-notref.htm
+transform-rotate-007.htm == reference/transform-rotate-007-ref.htm != reference/transform-rotate-007-notref.htm
+transform-rounding-001.htm == reference/transform-rounding-ref.htm
+transform-scale-001.htm == reference/transform-scale-ref.htm
+transform-scale-002.htm == reference/transform-scale-ref.htm
+transform-scale-percent-001.htm == reference/transform-scale-percent-ref.htm
+transform-scale-test.htm == reference/transform-scale-test-ref.htm
+transform-scalex-001.htm == reference/transform-scalex-ref.htm
+transform-scaley-001.htm == reference/transform-scaley-ref.htm
+transform-singular-001.htm == reference/transform-singular-ref.htm
+transform-stacking-001.htm == reference/transform-lime-square-ref.htm
+transform-stacking-002.htm == reference/transform-lime-square-ref.htm
+transform-stacking-003.htm == reference/transform-lime-square-ref.htm
+transform-stacking-004.htm == reference/transform-lime-square-ref.htm
+transform-stresstest-001.htm == reference/transform-stresstest-ref.htm
+transform-table-001.htm == reference/transform-table-001-ref.htm != reference/transform-table-001-notref.htm
+transform-table-002.htm == reference/transform-table-001-ref.htm != reference/transform-table-002-notref.htm
+transform-table-003.htm == reference/transform-table-001-ref.htm != reference/transform-table-001-notref.htm
+transform-table-004.htm == reference/transform-table-004-ref.htm != reference/transform-table-004-notref.htm
+transform-table-005.htm == reference/transform-table-004-ref.htm != reference/transform-table-005-notref.htm
+transform-table-006.htm == reference/transform-blank-ref.htm
+transform-table-007.htm == reference/transform-blank-ref.htm
+transform-table-008.htm == reference/transform-blank-ref.htm
+transform-table-009.htm == reference/transform-table-009-ref.htm != reference/transform-table-009-notref.htm
+transform-table-010.htm == reference/transform-table-009-ref.htm != reference/transform-table-010-notref.htm
+transform-table-011.htm == reference/transform-table-009-ref.htm != reference/transform-table-011-notref.htm
+transform-transformable-inline-block.htm == reference/transform-transformable-inline-block-ref.htm
+transform-transformable-inline-table.htm == reference/transform-transformable-inline-table-ref.htm
+transform-transformable-list-item.htm == reference/transform-transformable-list-item-ref.htm
+transform-transformable-table.htm == reference/transform-transformable-table-ref.htm
+transform-transformable-table-caption.htm == reference/transform-transformable-table-caption-ref.htm
+transform-transformable-table-cell.htm == reference/transform-transformable-table-cell-ref.htm
+transform-transformable-table-footer-group.htm == reference/transform-transformable-table-footer-group-ref.htm
+transform-transformable-table-header-group.htm == reference/transform-transformable-table-header-group-ref.htm
+transform-transformable-table-row.htm == reference/transform-transformable-table-row-ref.htm
+transform-transformable-table-row-group.htm == reference/transform-transformable-table-row-group-ref.htm
+transform-translate-001.htm == reference/transform-translate-ref.htm
+transform-translate-002.htm == reference/transform-translate-ref.htm
+transform-translate-003.htm == reference/transform-translate-ref.htm
+transform-translate-004.htm == reference/transform-translate-ref.htm
+transform-translate-005.htm == reference/transform-translate-ref.htm
+transform-translatex-001.htm == reference/transform-translatex-ref.htm
+transform-translatex-002.htm == reference/transform-translatex-ref.htm
+transform-translatex-003.htm == reference/transform-translatex-ref.htm
+transform-translatex-004.htm == reference/transform-translatex-ref.htm
+transform-translatex-005.htm == reference/transform-translatex-ref.htm
+transform-translatex-006.htm == reference/transform-translatex-ref.htm
+transform-translatey-001.htm == reference/transform-translatey-ref.htm
+transform-translatey-002.htm == reference/transform-translatey-ref.htm
+transform-translatey-003.htm == reference/transform-translatey-ref.htm
+transform-translatey-004.htm == reference/transform-translatey-ref.htm
+transform-translatey-005.htm == reference/transform-translatey-ref.htm
+transform3d-backface-visibility-001.htm == reference/transform-lime-square-ref.htm
+transform3d-backface-visibility-002.htm == reference/transform-lime-square-ref.htm
+transform3d-backface-visibility-003.htm == reference/transform-lime-square-ref.htm
+transform3d-backface-visibility-004.htm == reference/transform-lime-square-ref.htm
+transform3d-backface-visibility-005.htm == reference/transform-lime-square-ref.htm
+transform3d-backface-visibility-006.htm == reference/transform-lime-square-ref.htm
+transform3d-backface-visibility-007.htm == reference/transform-lime-square-ref.htm
+transform3d-image-scale-001.htm == reference/transform-lime-square-ref.htm
+transform3d-image-scale-002.htm == reference/transform-lime-square-ref.htm
+transform3d-matrix3d-001.htm == reference/transform3d-matrix3d-001-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-matrix3d-002.htm == reference/transform3d-matrix3d-002-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-matrix3d-003.htm == reference/transform3d-matrix3d-003-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-matrix3d-004.htm == reference/transform3d-matrix3d-004-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-matrix3d-005.htm == reference/transform3d-matrix3d-005-ref.htm
+transform3d-perspective-001.htm == reference/transform3d-perspective-001-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-perspective-002.htm == reference/transform3d-perspective-001-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-perspective-003.htm == reference/transform-lime-square-ref.htm
+transform3d-perspective-004.htm == reference/transform-lime-square-ref.htm
+transform3d-perspective-005.htm == reference/transform-lime-square-ref.htm
+transform3d-perspective-006.htm == reference/transform-lime-square-ref.htm
+transform3d-perspective-007.htm == reference/transform3d-perspective-001-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-perspective-008.htm == reference/transform-lime-square-ref.htm
+transform3d-perspective-009.htm == reference/transform3d-perspective-009-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-perspective-origin-001.htm == reference/transform3d-perspective-origin-ref.htm != reference/transform-lime-square-ref.htm != transform3d-rotatex-perspective-001.htm != reference/transform3d-rotatex-ref.htm
+transform3d-preserve3d-001.htm == reference/transform3d-preserve3d-001-ref.htm
+transform3d-preserve3d-002.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-003.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-004.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-005.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-006.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-007.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-008.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-009.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-010.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-011.htm == reference/transform-lime-square-ref.htm
+transform3d-preserve3d-012.htm == reference/transform-blank-ref.htm
+transform3d-preserve3d-013.htm == reference/transform3d-preserve3d-013-ref.htm
+transform3d-rotate3d-001.htm == reference/transform3d-rotatex-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-rotate3d-002.htm == reference/transform3d-rotatey-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-rotatex-001.htm == reference/transform3d-rotatex-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-rotatex-perspective-001.htm != reference/transform-lime-square-ref.htm != reference/transform3d-rotatex-ref.htm
+transform3d-rotatex-perspective-002.htm != reference/transform-lime-square-ref.htm != reference/transform3d-rotatex-ref.htm
+transform3d-rotatex-perspective-003.htm == reference/transform3d-rotatex-perspective-ref.htm != reference/transform3d-rotatex-perspective-notref.htm
+transform3d-rotatex-transformorigin-001.htm == reference/transform3d-rotatex-transformorigin-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-rotatey-001.htm == reference/transform3d-rotatey-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-scale-001.htm == reference/transform3d-scale-001-ref.htm != reference/transform3d-scale-001-notref.htm
+transform3d-scale-002.htm == reference/transform3d-scale-001-ref.htm != reference/transform3d-scale-001-notref.htm
+transform3d-scale-003.htm == reference/transform3d-scale-001-ref.htm != reference/transform3d-scale-001-notref.htm
+transform3d-scale-004.htm == reference/transform-blank-ref.htm
+transform3d-scale-005.htm == reference/transform3d-scale-005-ref.htm
+transform3d-scale-006.htm == reference/transform3d-scale-005-ref.htm
+transform3d-scale-007.htm == reference/transform3d-scale-007-ref.htm != reference/transform3d-scale-001-notref.htm
+transform3d-sorting-001.htm == reference/transform-lime-square-ref.htm
+transform3d-sorting-002.htm == reference/transform-lime-square-ref.htm
+transform3d-sorting-003.htm == reference/transform-lime-square-ref.htm
+transform3d-sorting-004.htm == reference/transform-lime-square-ref.htm
+transform3d-sorting-005.htm == reference/transform-lime-square-ref.htm
+transform3d-sorting-006.htm == reference/transform3d-sorting-006-ref.htm
+transform3d-translate3d-001.htm == reference/transform3d-translate3d-ref.htm != reference/transform-lime-square-ref.htm
+transform3d-translatez-001.htm == reference/transform3d-translatez-ref.htm != reference/transform3d-translatez-notref.htm
+transforms-rotate-degree-90.htm == reference/transforms-rotate-degree-90-ref.htm
+transforms-rotate-translate-scale.htm == reference/transforms-rotate-translate-scale-ref.htm
+transforms-rotateY-degree-60.htm == reference/transforms-rotateY-degree-60-ref.htm
+transforms-skewX.htm == reference/transforms-skewX-ref.htm
+transforms-skewY.htm == reference/transforms-skewY-ref.htm
+translate.htm == reference/translate-ref.htm
+translate-optional-second-001.htm == reference/translate-optional-second-ref.htm
+transofrmed-preserve-3d-1.htm == reference/transofrmed-preserve-3d-1-ref.htm
+transofrmed-rotateX-3.htm == reference/transofrmed-rotateX-3-ref.htm
+transofrmed-rotateY-1.htm == reference/transofrmed-rotateY-1-ref.htm
+ttwf-css-3d-polygon-cycle.htm == reference/ttwf-css-3d-polygon-cycle-ref.htm
+ttwf-css-3d-polygon-cycle-mismatch.htm == reference/ttwf-css-3d-polygon-cycle-ref.htm
+ttwf-reftest-rotate.htm == reference/ttwf-reftest-rotate-ref.htm
+ttwf-transform-skewx-001.htm == reference/ttwf-reftest-transform-skewx-001.htm
+ttwf-transform-skewy-001.htm == reference/ttwf-reftest-transform-skewy-001.htm
+ttwf-transform-translatex-001.htm == reference/ttwf-reftest-transform-translatex-001.htm
+ttwf-transform-translatey-001.htm == reference/ttwf-reftest-transform-translatey-001.htm
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-001.htm
new file mode 100644
index 00000000000..ec9a0b5739c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-001.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed named flow (non-text) content</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-001-ref.htm" rel="match">
+ <meta content="This test checks that the transform is applied to the named flow non-text content." name="assert">
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-into: f;
+ transform: translateX(100px);
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-002.htm
new file mode 100644
index 00000000000..7c07cae0a63
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-002.htm
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed named flow content element that has a child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-001-ref.htm" rel="match">
+ <meta content="This test checks that the child is transformed along with the parent when the
+ transform is applied to a named flow content node" name="assert">
+ <style>
+ #named-flow-parent {
+ width: 50px;
+ height: 50px;
+ background-color: white;
+ flow-into: f;
+ transform: scaleX(2);
+ transform-origin: left top;
+ }
+ #named-flow-child {
+ width: 50px;
+ height: 100px;
+ background-color: green;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow-parent">
+ <div id="named-flow-child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-003.htm
new file mode 100644
index 00000000000..21bc08421d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-003.htm
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Named flow content that has a transformed parent outside of the named flow</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-001-ref.htm" rel="match">
+ <meta content="This tests checks that when a transform is applied to a parent outside of the named
+ flow but has child in the named flow, the child is not transformed along with the parent." name="assert">
+ <style>
+ #parent {
+ margin-top: -10px;
+ width: 10px;
+ height: 10px;
+ background-color: red;
+ transform: translateX(-50px);
+ }
+ #child {
+ background-color: green;
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="parent">
+ <div id="child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-004.htm
new file mode 100644
index 00000000000..084e2f144cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-004.htm
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed region using a 3D transform</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-001-ref.htm" rel="match">
+ <meta content="This test checks that a 3D transform can be applied to a region" name="assert">
+ <style>
+
+ #named-flow {
+ width: 75px;
+ height: 75px;
+ background-color: red;
+ border-top: 25px solid green;
+ border-right: 25px solid green;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ margin
+ background-color: red;
+ flow-from: f;
+ transform: rotate3d(1,1,0,180deg);
+ }
+ #square {
+ position: absolute;
+ left: 33px;
+ top: 50px;
+ width: 75px;
+ height: 75px;
+ background-color: green;
+ }
+ #failure1, #failure2 {
+ position: absolute;
+ background-color: red;
+ }
+ #failure1 {
+ width: 25px;
+ height: 100px;
+ }
+ #failure2 {
+ width: 100px;
+ height: 25px;
+ top: 125px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+
+ <div id="failure1"></div>
+ <div id="failure2"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+ <div id="square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-005.htm
new file mode 100644
index 00000000000..b1487fcc5cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-005.htm
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
+ once this gets in the spec. -->
+ <meta content="Test checks that content that has a 3D transform does not respect the perspective
+ set on its parent when flowed into a region." name="assert">
+ <meta content="ahem" name="flags">
+ <link href="reference/regions-transforms-001-ref.htm" rel="match">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ #parent {
+ width: 100px;
+ height: 100px;
+ perspective: 800px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateY(85deg);
+ color: red;
+ }
+ #region {
+ flow-from: f;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ #green-rect {
+ position: absolute;
+ top: 50px;
+ left: 53px;
+ width: 10px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="region"></div>
+ <div id="parent">
+ <div class="ahem" id="named-flow">
+ XXXXX<br>
+ XXXXX<br>
+ XXXXX<br>
+ XXXXX<br>
+ XXXXX<br>
+ </div>
+ </div>
+ <!-- If the red content is properly transformed, it will be hidden beneath this green div -->
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-006.htm
new file mode 100644
index 00000000000..8b6e8f24a66
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-006.htm
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: 3D transform on region with named flow (text) content that overflows</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="Test checks that content flowed in a region and overflowing it is still rendered
+ if the region has a 3D transform applied." name="assert">
+ <meta content="ahem" name="flags">
+ <link href="reference/regions-transforms-001-ref.htm" rel="match">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 20px;
+ }
+ #named-flow {
+ flow-into: f;
+ width: 100px;
+ height: 100px;
+ color: red;
+ background-color: green;
+ }
+ #region {
+ flow-from: f;
+ transform: rotateZ(90deg);
+ transform-origin: bottom right;
+
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ #green-rect {
+ position: absolute;
+ width: 20px;
+ height: 100px;
+ background-color: green;
+ top: 50px;
+ left: 88px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="region"></div>
+ <div class="ahem" id="named-flow">XXXXX</div>
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-007.htm
new file mode 100644
index 00000000000..7857fde9d0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-007.htm
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: Transforms on both the named flow content and the region</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer author" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="ahem" name="flags">
+ <meta content="Test checks that if both the content flowed in a region and the region have a
+ transform applied, they are properly composed. More specifically, in this test
+ the content should appear as rotated 180 degrees." name="assert">
+ <link href="reference/regions-transforms-001-ref.htm" rel="match">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 20px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotate(90deg);
+ width: 100px;
+ height: 100px;
+ color: red;
+ background-color: green;
+ }
+ #region {
+ flow-from: f;
+ transform: rotate(90deg);
+ width: 100px;
+ height: 100px;
+ }
+ #green-rect {
+ position: absolute;
+ width: 100px;
+ height: 20px;
+ background-color: green;
+ top: 130px;
+ left: 8px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div class="ahem" id="named-flow">XXXXX</div>
+ <div id="region"></div>
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-008.htm
new file mode 100644
index 00000000000..ea9dac62d26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-008.htm
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer author" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help">
+ <link href="reference/regions-transforms-008-ref.htm" rel="match">
+ <meta content="ahem" name="flags">
+ <meta content="This test checks that named flow text content is transformed when it breaks across
+ multiple regions and that the overflow remains visible." name="assert">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ #named-flow {
+ color: green;
+ margin-left: -50px;
+ transform: translateX(50px);
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ border: 1px solid black;
+ flow-from: f;
+ }
+ .failure {
+ position: absolute;
+ width: 102px;
+ height: 102px;
+ margin-top: 1px;
+ margin-left: 10px;
+ padding-left: 1px;
+ color: red;
+ z-index: -1;
+ }
+ .left {
+ left: 8px;
+ }
+ .right {
+ left: 120px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="ahem" id="named-flow">XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX</div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+ <div class="ahem failure left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure right">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-009.htm
new file mode 100644
index 00000000000..b9a7734a1f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-009.htm
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help">
+ <link href="reference/regions-transforms-008-ref.htm" rel="match">
+ <meta content="ahem" name="flags">
+ <meta content="This test checks that the regions are transformed when named flow text content breaks
+ across multiple regions and that the overflow remains visible." name="assert">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ #named-flow {
+ color: green;
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ float: left;
+ margin-left: 10px;
+ border: 1px solid black;
+ flow-from: f;
+ transform: translateX(50px);
+ }
+ .failure-left,
+ .failure-right {
+ position: absolute;
+ width: 102px;
+ height: 102px;
+ margin-top: 1px;
+ margin-left: 10px;
+ padding-left: 1px;
+ color: red;
+ z-index: -1;
+ }
+ .left {
+ margin-left: -40px;
+ }
+ .failure-left {
+ left: 8px;
+ }
+ .failure-right {
+ left: 120px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="ahem" id="named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div class="region left"></div>
+ <div class="region"></div>
+ <div class="ahem failure-left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure-right">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-010.htm
new file mode 100644
index 00000000000..60af78d406e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-010.htm
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed region with position: relative</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-010-ref.htm" rel="match">
+ <meta content="This test checks that the transform can be applied on relative positioned region." name="assert">
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ left: -50px;
+ flow-from: f;
+ transform: rotate(90deg);
+ }
+ #failure {
+ position: absolute;
+ width: 98px;
+ height: 98px;
+ left: 60px;
+ top: 50px;
+ background-color: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-011.htm
new file mode 100644
index 00000000000..5421baef401
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-011.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed region where parent and child are separate named flow content nodes</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-010-ref.htm" rel="match">
+ <meta content="This test checks that the region is transformed when a parent and its child are
+ separate named flow content nodes flowing into it." name="assert">
+ <style>
+ #named-flow-parent {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #named-flow-child {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ transform: translateX(-50px) rotate(90deg);
+ transform-origin: right bottom;
+ }
+ #failure {
+ position: absolute;
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 59px;
+ top: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow-parent">
+ <div id="named-flow-child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-012.htm
new file mode 100644
index 00000000000..f34433794d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-012.htm
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed named flow content flowing into transformed region</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-010-ref.htm" rel="match">
+ <meta content="This test checks that named flow text content is transformed when it flows into
+ a region that is also transformed." name="assert">
+ <style>
+ #named-flow {
+ background-color: red;
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ transform: translateX(100px);
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-from: f;
+ transform: translateX(50px);
+ }
+ #failure {
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ position: absolute;
+ left: 59px;
+ top: 51px;
+ z-index: -1;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-013.htm
new file mode 100644
index 00000000000..0fccc2385b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-013.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#breaking-rules" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#monolithic" rel="help">
+ <!-- This reference is for UAs that slice monolithic content -->
+ <link href="reference/regions-transforms-013-ref.htm" rel="match">
+ <!-- This reference is for UAs that overflow monolithic content -->
+ <link href="reference/regions-transforms-013-alt-ref.htm" rel="match">
+ <meta content="This test checks that the named flow content that is monolithic is transformed when it
+ breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge." name="assert">
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform: scaleY(2);
+ transform-origin: top left;
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ flow-from: f;
+ }
+ #region1 {
+ background-color: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div id="named-flow"></div>
+ <div class="region" id="region1"></div>
+ <div class="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-014.htm
new file mode 100644
index 00000000000..2a398be02cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-014.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transform region with position:absolute and transform-origin</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/regions-transforms-014-ref.htm" rel="match">
+ <meta content="This test checks that the transform and transform-origin are applied to a region
+ with absolute positioning." name="assert">
+ <style>
+ #named-flow {
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 50px;
+ height: 50px;
+ background-color: red;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ flow-from: f;
+ transform: scale(2);
+ transform-origin: left top;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-015.htm
new file mode 100644
index 00000000000..eafc0657bb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-015.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-014-ref.htm" rel="match">
+ <meta content="This test checks that the transform and transform-origin are applied to named flow
+ content that flows into a region with absolute positioning." name="assert"><style>
+ #named-flow {
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ transform: scale(2);
+ flow-into: f;
+ /* need to use transform-origin, otherwise scale will cause the green square to grow past the left & top
+ edges of the region box */
+ transform-origin: left top;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ z-index: 4;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-016.htm
new file mode 100644
index 00000000000..7d71268f378
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-016.htm
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title></title>
+ <title>CSS Regions: 3D transform on named flow content with perspective()</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-016-ref.htm" rel="match">
+ <meta content="This test checks that a 3D transform is applied with perspective to named flow content." name="assert">
+ <style>
+ #region {
+ width: 300px;
+ height: 300px;
+ position: relative;
+ flow-from: f;
+ }
+ #named-flow {
+ width: 200px;
+ height: 200px;
+ margin: 0 auto 60px;
+ background-color: green;
+ flow-into: f;
+ transform: perspective(600px) rotateX(45deg);
+ }
+ #div-red-parent {
+ position: relative;
+ }
+ .div-red {
+ width: 48px;
+ height: 48px;
+ position: absolute;
+ background-color: red;
+ }
+ #div-red1 {
+ left: 64px;
+ top: 38px;
+ }
+ #div-red2 {
+ left: 191px;
+ top: 38px;
+ }
+ #div-red3 {
+ left: 48px;
+ top: 131px;
+ }
+ #div-red4 {
+ left: 207px;
+ top: 131px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green trapezoid and no red.</p>
+ <!-- This test fails in WebKit. See this bug: https://bugs.webkit.org/show_bug.cgi?id=114293 -->
+ <div id="div-red-parent">
+ <div id="div-red1" class="div-red"></div>
+ <div id="div-red2" class="div-red"></div>
+ <div id="div-red3" class="div-red"></div>
+ <div id="div-red4" class="div-red"></div>
+ </div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-017.htm
new file mode 100644
index 00000000000..5208a3984ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-017.htm
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Multiple transformed named flow content nodes that overflow a region</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck"> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/regions-transforms-017-ref.htm" rel="match">
+ <meta content="This test checks that multiple named flow content nodes are transformed into a region
+ and that the overflow remains visible." name="assert">
+ <style>
+ #named-flow-parent {
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ transform: scaleY(2);
+ transform-origin: top left;
+ }
+ #named-flow-1 {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ }
+ #named-flow-2 {
+ width: 100px;
+ height: 50px;
+ background-color: blue;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ #failure {
+ position: absolute;
+ background-color: red;
+ width: 98px;
+ height: 98px;
+ top: 151px;
+ left: 9px;
+ z-index: -1;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and a blue square below it, and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow-parent">
+ <div id="named-flow-1"></div>
+ <div id="named-flow-2"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-018.htm
new file mode 100644
index 00000000000..f14a4978338
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-018.htm
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: 3D transform on named flow (text) content that overflows a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="Test checks that content that is transformed does not clip when flowed in a region." name="assert">
+ <meta content="ahem" name="flags">
+ <link href="reference/regions-transforms-018-ref.htm" rel="match">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 100px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateZ(90deg);
+ color: green;
+ }
+ #region {
+ flow-from: f;
+ border-bottom: 20px solid green;
+ width: 100px;
+ height: 80px;
+ }
+ #failure {
+ position: absolute;
+ width: 18px;
+ height: 78px;
+ background-color: red;
+ top: 151px;
+ left: 49px;
+ z-index: -1;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green cross and no red.</p>
+ <div class="ahem" id="named-flow">
+ XXXXXXXXX
+ </div>
+ <div id="region"></div>
+ <div id="failure"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-019.htm
new file mode 100644
index 00000000000..3f39552efcc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-019.htm
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: 3D transform on named flow (text) content with perspective property set on region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-origin-property" rel="help">
+ <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
+ once this gets in the spec. -->
+ <meta content="Test checks that the 3D transform is applied named content flow, that the
+ perspective set on the region is applied, and that the content is not clipped when
+ the perspective is shifted" name="assert">
+ <meta content="ahem" name="flags">
+ <link href="reference/regions-transforms-019-ref.htm" rel="match">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateY(45deg);
+ color: green;
+ }
+ #region {
+ flow-from: f;
+ perspective: 200px;
+ perspective-origin: 100% 50%;
+ width: 100px;
+ height: 100px;
+ margin: 20px;
+ }
+ /* Adding a red div that will be covered by the properly transformed
+ element with the perspective respected */
+ #failure {
+ position: absolute;
+ left: 25px;
+ width: 10px;
+ height: 112px;
+ background-color: red;
+ z-index: -1;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green trapezoid and no red.</p>
+ <div id="failure"></div>
+ <div class="ahem" id="named-flow">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-020.htm
new file mode 100644
index 00000000000..4bad27cf0ae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-020.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#breaking-rules" rel="help">
+ <link href="reference/regions-transforms-020-ref.htm" rel="match">
+ <meta content="This test checks that the named flow content that is fragmentable (has a break point)
+ is transformed when it breaks across multiple regions." name="assert">
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ }
+ .src-child {
+ height: 50px;
+ background-color: green;
+ }
+ .region {
+ width: 100px;
+ height: 50px;
+ margin-left: 10px;
+ float: left;
+ background-color: red;
+ flow-from: f;
+ transform: scaleY(2);
+ transform-origin: top left;
+ }
+
+ .failure-div {
+ position: absolute;
+ margin-left: 10px;
+ background-color: red;
+ width: 98px;
+ height: 98px;
+ }
+ .right {
+ left: 119px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div class="failure-div"></div>
+ <div class="failure-div right"></div>
+ <div id="named-flow">
+ <div class="src-child"></div>
+ <div class="src-child"></div>
+ </div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-021.htm
new file mode 100644
index 00000000000..7017c5b259a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-021.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help">
+ <link href="reference/regions-transforms-020-ref.htm" rel="match">
+ <meta content="This test checks that separate transforms can be applied to each named flow content
+ node that breaks across multiple regions and that each fragment has its own transform origin." name="assert">
+ <style>
+ .named-flow {
+ float: left;
+ background-color: green;
+ flow-into: f;
+ }
+ #named-flow-1 {
+ margin-top: 25px;
+ margin-left: 25px;
+ width: 50px;
+ height: 50px;
+ transform: scale(2);
+ transform-origin: center center;
+ }
+ #named-flow-2 {
+ width: 100px;
+ height: 50px;
+ margin-top: 25px;
+ transform-origin: top left;
+ transform: scaleY(2);
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div id="named-flow-1" class="named-flow"></div>
+ <div id="named-flow-2" class="named-flow"></div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-022.htm
new file mode 100644
index 00000000000..0a885776232
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/regions-transforms-022.htm
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html><head>
+ <meta charset="UTF-8">
+ <title>CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan"> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help">
+ <link href="reference/regions-transforms-020-ref.htm" rel="match">
+ <meta content="ahem" name="flags">
+ <meta content="This test checks that separate transforms can be applied to each named flow content
+ text node that breaks across multiple regions" name="assert">
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ .named-flow {
+ width: 100px;
+ color: green;
+ flow-into: f;
+ }
+ #named-flow-1 {
+ margin-left: -50px;
+ transform: translateX(50px);
+ }
+ #named-flow-2 {
+ transform: rotate(90deg);
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ flow-from: f;
+ }
+ .failure {
+ width: 100px;
+ height: 100px;
+ position: absolute;
+ float: left;
+ margin-left: 10px;
+ background-color: green;
+ z-index: -1;
+ }
+ .left {
+ color: red;
+ }
+ .right {
+ left: 118px;
+ }
+ .vertical-bar {
+ width: 10px;
+ height: 100px;
+ float: left;
+ background-color: red;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div id="named-flow-1" class="ahem named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div id="named-flow-2" class="ahem named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div class="region"></div>
+ <div class="region"></div>
+ <div class="ahem failure left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure right">
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-180-degrees-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-180-degrees-001.htm
new file mode 100644
index 00000000000..a5c845eed2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-180-degrees-001.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CCSS Test: transform - rotate 180 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(180deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the top of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-270-degrees-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-270-degrees-001.htm
new file mode 100644
index 00000000000..6c424cc23c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-270-degrees-001.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CCSS Test: transform - rotate 270 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(270deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the right of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-90-degrees-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-90-degrees-001.htm
new file mode 100644
index 00000000000..dd646d80d9a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate-90-degrees-001.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: transform - rotate 90 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(90deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the left of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/rotateY.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/rotateY.htm
new file mode 100644
index 00000000000..cc4cfd62351
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/rotateY.htm
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with rotateY</title>
+ <link href="mailto:zrxldl@gmail.com" rel="author" title="Zou Rui">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-05 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey" rel="help">
+ <link href="reference/rotateY-ref.htm" rel="match">
+ <meta content="When the value of transform is 'rotateY(90deg)', the foward side of a transformed element disappears." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: rotateY(90deg);
+ }
+
+ .container {
+ position: relative;
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ <div class="redSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_45deg.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_45deg.htm
new file mode 100644
index 00000000000..35d36a035f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_45deg.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <link href="reference/rotate_45deg-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Rotate 45 degree in y axis" name="assert">
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateY(45deg);
+ -webkit-transform: rotateY(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+ <p>45 degree rotate on y axis</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_x_45deg.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_x_45deg.htm
new file mode 100644
index 00000000000..66d6b7a7527
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_x_45deg.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateX with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <link href="reference/rotate_x_45deg-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Rotate 45 degree in y axis" name="assert">
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateX(45deg);
+ //-webkit-transform: rotateX(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_y_45deg.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_y_45deg.htm
new file mode 100644
index 00000000000..a465dfa8622
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/rotate_y_45deg.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <link href="reference/rotate_y_45deg-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="Rotate 45 degree in y axis" name="assert">
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateY(45deg);
+ //-webkit-transform: rotateY(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/scale-optional-second-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/scale-optional-second-001.htm
new file mode 100644
index 00000000000..788ee5e7c20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/scale-optional-second-001.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function and one parameter</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/scale-optional-second-ref.htm" rel="match">
+ <meta content="If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform:scale(2);
+ }
+ .redSquare {
+ position: absolute;
+ top: 51px;
+ left: 51px;
+ width: 198px;
+ height: 198px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/scale-zero-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/scale-zero-001.htm
new file mode 100644
index 00000000000..ab8d99496d7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/scale-zero-001.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function and zero values</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/scale-zero-ref.htm" rel="match">
+ <meta content="If zero value is passed to scale function, it causes the element to disappear." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: scale(0);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+ <div class="redSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/scalex.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/scalex.htm
new file mode 100644
index 00000000000..d0a9320cc37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/scalex.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test scale x</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <link href="reference/scalex-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="scale x 2" name="assert">
+ <style type="text/css">
+ .container {
+ z-index: 11;
+ position: absolute;
+ height: 100px;
+ width: 100px;
+ margin-left: 500px;
+ transform: scaleX(2);
+ //-webkit-transform: scaleX(2);
+ background-color: green;
+ }
+
+ .hidden {
+ z-index: 10;
+ background-color: red;
+ position: absolute;
+ height: 100px;
+ width: 200px;
+ margin-left: 450px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green area, no red area.</p>
+ <div class="container">
+ </div>
+ <div class="hidden">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/scaley.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/scaley.htm
new file mode 100644
index 00000000000..6bd36a773f4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/scaley.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test scale y</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <link href="reference/scaley-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="scale y 2" name="assert">
+ <style type="text/css">
+ .container {
+ position: absolute;
+ z-index: 11;
+ height: 100px;
+ width: 100px;
+ background-color:green;
+ margin-top: 200px;
+ transform: scaleY(2);
+ //-webkit-transform: scaleY(2);
+ }
+
+ .hidden {
+ position: absolute;
+ z-index: 10;
+ height: 200px;
+ width: 100px;
+ background-color:red;
+ margin-top: 150px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only 1 green area</p>
+ <div class="container">
+ </div>
+
+ <div class="hidden">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/skew-test1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/skew-test1.htm
new file mode 100644
index 00000000000..66b4ca96d28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/skew-test1.htm
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html lang="en"><!-- Submitted from TestTWF Paris --><head>
+ <meta charset="utf-8">
+ <title>Testing 1 - skew()</title>
+ <link href="mailto:mymygo@gmail.com" rel="author" title="Myriam Goude">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/skew-test1-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0" name="assert">
+ <style>
+
+ h4 {clear:both;}
+
+ /* Test 1 - skew on block types */
+
+ svg {
+ position:absolute;
+ }
+
+ div {
+ width:150px;
+ height:150px;
+ background-color:lime;
+ }
+
+ .skew_div {
+
+ transform: skew(30deg,20deg);
+ transform-origin:0 0;
+ }
+
+ </style>
+</head>
+<body>
+
+ <h3>
+ Test 1 - Tests with degrees on block elements.
+ </h3>
+ <h4>
+ There should be a green block on the page
+ </h4>
+ <svg xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <polygon style="fill:red" points="0,0 150,55 235,205 88,150"></polygon>
+ </svg>
+
+ <div class="skew_div">
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-green.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-green.png
new file mode 100644
index 00000000000..b98ca0ba0a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-lime.png
new file mode 100644
index 00000000000..cb397fb090e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-maroon.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-maroon.png
new file mode 100644
index 00000000000..3f86b072195
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-maroon.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-navy.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-navy.png
new file mode 100644
index 00000000000..9b9a03955ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-navy.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-red.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-red.png
new file mode 100644
index 00000000000..6bd73ac1018
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-white.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-white.png
new file mode 100644
index 00000000000..dd43faec54a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/1x1-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/3d-filler.html b/tests/wpt/css-tests/css-transforms-1_dev/html/support/3d-filler.html
new file mode 100644
index 00000000000..11e7649eb08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/3d-filler.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+ <meta charset="UTF-8">
+ <title>3D transformed Lorem Ipsum</title>
+ <style>
+ body > p {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ color: green;
+ float: left;
+ position: relative;
+ }
+ .transformed {
+ transform: rotateX(0.001deg) rotateZ(-90deg);
+ transform-origin: top center;
+ }
+ .front {
+ z-index: 10;
+ }
+ .back {
+ z-index: 0;
+ }
+ .marker {
+ color: red;
+ }
+ </style>
+</head>
+<body>
+ <p class="transformed front">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </p>
+ <p class="marker back">
+ xx<br>
+ xx
+ </p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-gg-rr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-gg-rr.png
new file mode 100644
index 00000000000..84f5b2a4f1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-gg-rr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-green.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-green.png
new file mode 100644
index 00000000000..b3c8cf3eb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-red.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-red.png
new file mode 100644
index 00000000000..823f125b8e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/60x60-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/Three.js b/tests/wpt/css-tests/css-transforms-1_dev/html/support/Three.js
new file mode 100644
index 00000000000..60747148474
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/Three.js
@@ -0,0 +1,682 @@
+// Three.js r44 - http://github.com/mrdoob/three.js
+var THREE=THREE||{};if(!window.Int32Array)window.Int32Array=Array,window.Float32Array=Array;THREE.Color=function(b){b!==void 0&&this.setHex(b);return this};
+THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(b){this.r=b.r;this.g=b.g;this.b=b.b;return this},setRGB:function(b,c,e){this.r=b;this.g=c;this.b=e;return this},setHSV:function(b,c,e){var f,h,m;if(e==0)this.r=this.g=this.b=0;else switch(f=Math.floor(b*6),h=b*6-f,b=e*(1-c),m=e*(1-c*h),c=e*(1-c*(1-h)),f){case 1:this.r=m;this.g=e;this.b=b;break;case 2:this.r=b;this.g=e;this.b=c;break;case 3:this.r=b;this.g=m;this.b=e;break;case 4:this.r=c;this.g=b;this.b=e;break;case 5:this.r=
+e;this.g=b;this.b=m;break;case 6:case 0:this.r=e,this.g=c,this.b=b}return this},setHex:function(b){b=Math.floor(b);this.r=(b>>16&255)/255;this.g=(b>>8&255)/255;this.b=(b&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};
+THREE.Vector2=function(b,c){this.x=b||0;this.y=c||0};
+THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(b,c){this.x=b;this.y=c;return this},copy:function(b){this.x=b.x;this.y=b.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;return this},
+divideScalar:function(b){b?(this.x/=b,this.y/=b):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){var c=this.x-b.x,b=this.y-b.y;return c*c+b*b},setLength:function(b){return this.normalize().multiplyScalar(b)},
+equals:function(b){return b.x==this.x&&b.y==this.y}};THREE.Vector3=function(b,c,e){this.x=b||0;this.y=c||0;this.z=e||0};
+THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(b,c,e){this.x=b;this.y=c;this.z=e;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;return this},addScalar:function(b){this.x+=b;this.y+=b;this.z+=b;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=
+b.z-c.z;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;return this},multiply:function(b,c){this.x=b.x*c.x;this.y=b.y*c.y;this.z=b.z*c.z;return this},multiplySelf:function(b){this.x*=b.x;this.y*=b.y;this.z*=b.z;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;return this},divideSelf:function(b){this.x/=b.x;this.y/=b.y;this.z/=b.z;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b):this.set(0,0,0);return this},negate:function(){return this.multiplyScalar(-1)},
+dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},cross:function(b,c){this.x=b.y*c.z-b.z*c.y;this.y=b.z*c.x-b.x*c.z;this.z=b.x*c.y-b.y*c.x;return this},crossSelf:function(b){return this.set(this.y*
+b.z-this.z*b.y,this.z*b.x-this.x*b.z,this.x*b.y-this.y*b.x)},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){return(new THREE.Vector3).sub(this,b).lengthSq()},setPositionFromMatrix:function(b){this.x=b.n14;this.y=b.n24;this.z=b.n34},setRotationFromMatrix:function(b){var c=Math.cos(this.y);this.y=Math.asin(b.n13);Math.abs(c)>1.0E-5?(this.x=Math.atan2(-b.n23/c,b.n33/c),this.z=Math.atan2(-b.n12/c,b.n11/c)):(this.x=0,this.z=Math.atan2(b.n21,b.n22))},isZero:function(){return this.lengthSq()<
+1.0E-4}};THREE.Vector4=function(b,c,e,f){this.x=b||0;this.y=c||0;this.z=e||0;this.w=f||1};
+THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w||1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;this.w=b.w+c.w;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;this.w+=b.w;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=b.z-c.z;this.w=
+b.w-c.w;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;this.w-=b.w;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;this.w*=b;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b,this.w/=b):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z+this.w*b.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},
+normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},lerpSelf:function(b,c){this.x+=(b.x-this.x)*c;this.y+=(b.y-this.y)*c;this.z+=(b.z-this.z)*c;this.w+=(b.w-this.w)*c;return this}};THREE.Ray=function(b,c){this.origin=b||new THREE.Vector3;this.direction=c||new THREE.Vector3};
+THREE.Ray.prototype={constructor:THREE.Ray,intersectScene:function(b){return this.intersectObjects(b.objects)},intersectObjects:function(b){var c,e,f=[];c=0;for(e=b.length;c<e;c++)f=f.concat(this.intersectObject(b[c]));f.sort(function(b,e){return b.distance-e.distance});return f},intersectObject:function(b){function c(b,e,c){var f;f=c.clone().subSelf(b).dot(e);if(f<=0)return null;b=b.clone().addSelf(e.clone().multiplyScalar(f));return c.distanceTo(b)}function e(b,e,c,f){var f=f.clone().subSelf(e),
+c=c.clone().subSelf(e),h=b.clone().subSelf(e),b=f.dot(f),e=f.dot(c),f=f.dot(h),k=c.dot(c),c=c.dot(h),h=1/(b*k-e*e),k=(k*f-e*c)*h,b=(b*c-e*f)*h;return k>0&&b>0&&k+b<1}if(b instanceof THREE.Particle){var f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.scale.x)return[];return[{distance:f,point:b.position,face:null,object:b}]}else if(b instanceof THREE.Mesh){f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.geometry.boundingSphere.radius*Math.max(b.scale.x,
+Math.max(b.scale.y,b.scale.z)))return[];var h,m,k,n,u,p,v,t,x,w,z=b.geometry,y=z.vertices,B=[],f=0;for(h=z.faces.length;f<h;f++)if(m=z.faces[f],x=this.origin.clone(),w=this.direction.clone(),p=b.matrixWorld,k=p.multiplyVector3(m.centroid.clone()).subSelf(x),t=k.dot(w),!(t<=0)&&(k=p.multiplyVector3(y[m.a].position.clone()),n=p.multiplyVector3(y[m.b].position.clone()),u=p.multiplyVector3(y[m.c].position.clone()),p=m instanceof THREE.Face4?p.multiplyVector3(y[m.d].position.clone()):null,v=b.matrixRotationWorld.multiplyVector3(m.normal.clone()),
+t=w.dot(v),b.doubleSided||(b.flipSided?t>0:t<0)))if(t=v.dot((new THREE.Vector3).sub(k,x))/t,x=x.addSelf(w.multiplyScalar(t)),m instanceof THREE.Face3)e(x,k,n,u)&&(m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m));else if(m instanceof THREE.Face4&&(e(x,k,n,p)||e(x,n,u,p)))m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m);B.sort(function(b,e){return b.distance-e.distance});return B}else return[]}};
+THREE.Rectangle=function(){function b(){m=f-c;k=h-e}var c,e,f,h,m,k,n=!0;this.getX=function(){return c};this.getY=function(){return e};this.getWidth=function(){return m};this.getHeight=function(){return k};this.getLeft=function(){return c};this.getTop=function(){return e};this.getRight=function(){return f};this.getBottom=function(){return h};this.set=function(k,m,v,t){n=!1;c=k;e=m;f=v;h=t;b()};this.addPoint=function(k,m){n?(n=!1,c=k,e=m,f=k,h=m):(c=c<k?c:k,e=e<m?e:m,f=f>k?f:k,h=h>m?h:m);b()};this.add3Points=
+function(k,m,v,t,x,w){n?(n=!1,c=k<v?k<x?k:x:v<x?v:x,e=m<t?m<w?m:w:t<w?t:w,f=k>v?k>x?k:x:v>x?v:x,h=m>t?m>w?m:w:t>w?t:w):(c=k<v?k<x?k<c?k:c:x<c?x:c:v<x?v<c?v:c:x<c?x:c,e=m<t?m<w?m<e?m:e:w<e?w:e:t<w?t<e?t:e:w<e?w:e,f=k>v?k>x?k>f?k:f:x>f?x:f:v>x?v>f?v:f:x>f?x:f,h=m>t?m>w?m>h?m:h:w>h?w:h:t>w?t>h?t:h:w>h?w:h);b()};this.addRectangle=function(k){n?(n=!1,c=k.getLeft(),e=k.getTop(),f=k.getRight(),h=k.getBottom()):(c=c<k.getLeft()?c:k.getLeft(),e=e<k.getTop()?e:k.getTop(),f=f>k.getRight()?f:k.getRight(),h=h>
+k.getBottom()?h:k.getBottom());b()};this.inflate=function(k){c-=k;e-=k;f+=k;h+=k;b()};this.minSelf=function(k){c=c>k.getLeft()?c:k.getLeft();e=e>k.getTop()?e:k.getTop();f=f<k.getRight()?f:k.getRight();h=h<k.getBottom()?h:k.getBottom();b()};this.instersects=function(b){return Math.min(f,b.getRight())-Math.max(c,b.getLeft())>=0&&Math.min(h,b.getBottom())-Math.max(e,b.getTop())>=0};this.empty=function(){n=!0;h=f=e=c=0;b()};this.isEmpty=function(){return n}};THREE.Matrix3=function(){this.m=[]};
+THREE.Matrix3.prototype={constructor:THREE.Matrix3,transpose:function(){var b,c=this.m;b=c[1];c[1]=c[3];c[3]=b;b=c[2];c[2]=c[6];c[6]=b;b=c[5];c[5]=c[7];c[7]=b;return this},transposeIntoArray:function(b){var c=this.m;b[0]=c[0];b[1]=c[3];b[2]=c[6];b[3]=c[1];b[4]=c[4];b[5]=c[7];b[6]=c[2];b[7]=c[5];b[8]=c[8];return this}};THREE.Matrix4=function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.set(b||1,c||0,e||0,f||0,h||0,m||1,k||0,n||0,u||0,p||0,v||1,t||0,x||0,w||0,z||0,y||1);this.flat=Array(16);this.m33=new THREE.Matrix3};
+THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.n11=b;this.n12=c;this.n13=e;this.n14=f;this.n21=h;this.n22=m;this.n23=k;this.n24=n;this.n31=u;this.n32=p;this.n33=v;this.n34=t;this.n41=x;this.n42=w;this.n43=z;this.n44=y;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(b){this.set(b.n11,b.n12,b.n13,b.n14,b.n21,b.n22,b.n23,b.n24,b.n31,b.n32,b.n33,b.n34,b.n41,b.n42,b.n43,b.n44);return this},lookAt:function(b,
+c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;m.sub(b,c).normalize();if(m.length()===0)m.z=1;f.cross(e,m).normalize();f.length()===0&&(m.x+=1.0E-4,f.cross(e,m).normalize());h.cross(m,f).normalize();this.n11=f.x;this.n12=h.x;this.n13=m.x;this.n21=f.y;this.n22=h.y;this.n23=m.y;this.n31=f.z;this.n32=h.z;this.n33=m.z;return this},multiplyVector3:function(b){var c=b.x,e=b.y,f=b.z,h=1/(this.n41*c+this.n42*e+this.n43*f+this.n44);b.x=(this.n11*c+this.n12*e+this.n13*f+this.n14)*h;
+b.y=(this.n21*c+this.n22*e+this.n23*f+this.n24)*h;b.z=(this.n31*c+this.n32*e+this.n33*f+this.n34)*h;return b},multiplyVector4:function(b){var c=b.x,e=b.y,f=b.z,h=b.w;b.x=this.n11*c+this.n12*e+this.n13*f+this.n14*h;b.y=this.n21*c+this.n22*e+this.n23*f+this.n24*h;b.z=this.n31*c+this.n32*e+this.n33*f+this.n34*h;b.w=this.n41*c+this.n42*e+this.n43*f+this.n44*h;return b},rotateAxis:function(b){var c=b.x,e=b.y,f=b.z;b.x=c*this.n11+e*this.n12+f*this.n13;b.y=c*this.n21+e*this.n22+f*this.n23;b.z=c*this.n31+
+e*this.n32+f*this.n33;b.normalize();return b},crossVector:function(b){var c=new THREE.Vector4;c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=b.w?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44,G=c.n11,H=c.n12,
+E=c.n13,N=c.n14,F=c.n21,I=c.n22,C=c.n23,K=c.n24,U=c.n31,L=c.n32,O=c.n33,S=c.n34,P=c.n41,o=c.n42,W=c.n43,na=c.n44;this.n11=e*G+f*F+h*U+m*P;this.n12=e*H+f*I+h*L+m*o;this.n13=e*E+f*C+h*O+m*W;this.n14=e*N+f*K+h*S+m*na;this.n21=k*G+n*F+u*U+p*P;this.n22=k*H+n*I+u*L+p*o;this.n23=k*E+n*C+u*O+p*W;this.n24=k*N+n*K+u*S+p*na;this.n31=v*G+t*F+x*U+w*P;this.n32=v*H+t*I+x*L+w*o;this.n33=v*E+t*C+x*O+w*W;this.n34=v*N+t*K+x*S+w*na;this.n41=z*G+y*F+B*U+D*P;this.n42=z*H+y*I+B*L+D*o;this.n43=z*E+y*C+B*O+D*W;this.n44=z*
+N+y*K+B*S+D*na;return this},multiplyToArray:function(b,c,e){this.multiply(b,c);e[0]=this.n11;e[1]=this.n21;e[2]=this.n31;e[3]=this.n41;e[4]=this.n12;e[5]=this.n22;e[6]=this.n32;e[7]=this.n42;e[8]=this.n13;e[9]=this.n23;e[10]=this.n33;e[11]=this.n43;e[12]=this.n14;e[13]=this.n24;e[14]=this.n34;e[15]=this.n44;return this},multiplySelf:function(b){this.multiply(this,b);return this},multiplyScalar:function(b){this.n11*=b;this.n12*=b;this.n13*=b;this.n14*=b;this.n21*=b;this.n22*=b;this.n23*=b;this.n24*=
+b;this.n31*=b;this.n32*=b;this.n33*=b;this.n34*=b;this.n41*=b;this.n42*=b;this.n43*=b;this.n44*=b;return this},determinant:function(){var b=this.n11,c=this.n12,e=this.n13,f=this.n14,h=this.n21,m=this.n22,k=this.n23,n=this.n24,u=this.n31,p=this.n32,v=this.n33,t=this.n34,x=this.n41,w=this.n42,z=this.n43,y=this.n44;return f*k*p*x-e*n*p*x-f*m*v*x+c*n*v*x+e*m*t*x-c*k*t*x-f*k*u*w+e*n*u*w+f*h*v*w-b*n*v*w-e*h*t*w+b*k*t*w+f*m*u*z-c*n*u*z-f*h*p*z+b*n*p*z+c*h*t*z-b*m*t*z-e*m*u*y+c*k*u*y+e*h*p*y-b*k*p*y-c*h*
+v*y+b*m*v*y},transpose:function(){var b;b=this.n21;this.n21=this.n12;this.n12=b;b=this.n31;this.n31=this.n13;this.n13=b;b=this.n32;this.n32=this.n23;this.n23=b;b=this.n41;this.n41=this.n14;this.n14=b;b=this.n42;this.n42=this.n24;this.n24=b;b=this.n43;this.n43=this.n34;this.n43=b;return this},clone:function(){var b=new THREE.Matrix4;b.n11=this.n11;b.n12=this.n12;b.n13=this.n13;b.n14=this.n14;b.n21=this.n21;b.n22=this.n22;b.n23=this.n23;b.n24=this.n24;b.n31=this.n31;b.n32=this.n32;b.n33=this.n33;b.n34=
+this.n34;b.n41=this.n41;b.n42=this.n42;b.n43=this.n43;b.n44=this.n44;return b},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(b){b[0]=
+this.n11;b[1]=this.n21;b[2]=this.n31;b[3]=this.n41;b[4]=this.n12;b[5]=this.n22;b[6]=this.n32;b[7]=this.n42;b[8]=this.n13;b[9]=this.n23;b[10]=this.n33;b[11]=this.n43;b[12]=this.n14;b[13]=this.n24;b[14]=this.n34;b[15]=this.n44;return b},flattenToArrayOffset:function(b,c){b[c]=this.n11;b[c+1]=this.n21;b[c+2]=this.n31;b[c+3]=this.n41;b[c+4]=this.n12;b[c+5]=this.n22;b[c+6]=this.n32;b[c+7]=this.n42;b[c+8]=this.n13;b[c+9]=this.n23;b[c+10]=this.n33;b[c+11]=this.n43;b[c+12]=this.n14;b[c+13]=this.n24;b[c+14]=
+this.n34;b[c+15]=this.n44;return b},setTranslation:function(b,c,e){this.set(1,0,0,b,0,1,0,c,0,0,1,e,0,0,0,1);return this},setScale:function(b,c,e){this.set(b,0,0,0,0,c,0,0,0,0,e,0,0,0,0,1);return this},setRotationX:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(1,0,0,0,0,c,-b,0,0,b,c,0,0,0,0,1);return this},setRotationY:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,0,b,0,0,1,0,0,-b,0,c,0,0,0,0,1);return this},setRotationZ:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,-b,0,
+0,b,c,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(b,c){var e=Math.cos(c),f=Math.sin(c),h=1-e,m=b.x,k=b.y,n=b.z,u=h*m,p=h*k;this.set(u*m+e,u*k-f*n,u*n+f*k,0,u*k+f*n,p*k+e,p*n-f*m,0,u*n-f*k,p*n+f*m,h*n*n+e,0,0,0,0,1);return this},setPosition:function(b){this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},getPosition:function(){if(!this.position)this.position=new THREE.Vector3;this.position.set(this.n14,this.n24,this.n34);return this.position},getColumnX:function(){if(!this.columnX)this.columnX=
+new THREE.Vector3;this.columnX.set(this.n11,this.n21,this.n31);return this.columnX},getColumnY:function(){if(!this.columnY)this.columnY=new THREE.Vector3;this.columnY.set(this.n12,this.n22,this.n32);return this.columnY},getColumnZ:function(){if(!this.columnZ)this.columnZ=new THREE.Vector3;this.columnZ.set(this.n13,this.n23,this.n33);return this.columnZ},setRotationFromEuler:function(b,c){var e=b.x,f=b.y,h=b.z,m=Math.cos(e),e=Math.sin(e),k=Math.cos(f),f=Math.sin(f),n=Math.cos(h),h=Math.sin(h);switch(c){case "YXZ":var u=
+k*n,p=k*h,v=f*n,t=f*h;this.n11=u+t*e;this.n12=v*e-p;this.n13=m*f;this.n21=m*h;this.n22=m*n;this.n23=-e;this.n31=p*e-v;this.n32=t+u*e;this.n33=m*k;break;case "ZXY":u=k*n;p=k*h;v=f*n;t=f*h;this.n11=u-t*e;this.n12=-m*h;this.n13=v+p*e;this.n21=p+v*e;this.n22=m*n;this.n23=t-u*e;this.n31=-m*f;this.n32=e;this.n33=m*k;break;case "ZYX":u=m*n;p=m*h;v=e*n;t=e*h;this.n11=k*n;this.n12=v*f-p;this.n13=u*f+t;this.n21=k*h;this.n22=t*f+u;this.n23=p*f-v;this.n31=-f;this.n32=e*k;this.n33=m*k;break;case "YZX":u=m*k;p=
+m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=t-u*h;this.n13=v*h+p;this.n21=h;this.n22=m*n;this.n23=-e*n;this.n31=-f*n;this.n32=p*h+v;this.n33=u-t*h;break;case "XZY":u=m*k;p=m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=-h;this.n13=f*n;this.n21=u*h+t;this.n22=m*n;this.n23=p*h-v;this.n31=v*h-p;this.n32=e*n;this.n33=t*h+u;break;default:u=m*n,p=m*h,v=e*n,t=e*h,this.n11=k*n,this.n12=-k*h,this.n13=f,this.n21=p+v*f,this.n22=u-t*f,this.n23=-e*k,this.n31=t-u*f,this.n32=v+p*f,this.n33=m*k}return this},setRotationFromQuaternion:function(b){var c=
+b.x,e=b.y,f=b.z,h=b.w,m=c+c,k=e+e,n=f+f,b=c*m,u=c*k;c*=n;var p=e*k;e*=n;f*=n;m*=h;k*=h;h*=n;this.n11=1-(p+f);this.n12=u-h;this.n13=c+k;this.n21=u+h;this.n22=1-(b+f);this.n23=e-m;this.n31=c-k;this.n32=e+m;this.n33=1-(b+p);return this},scale:function(b){var c=b.x,e=b.y,b=b.z;this.n11*=c;this.n12*=e;this.n13*=b;this.n21*=c;this.n22*=e;this.n23*=b;this.n31*=c;this.n32*=e;this.n33*=b;this.n41*=c;this.n42*=e;this.n43*=b;return this},compose:function(b,c,e){var f=THREE.Matrix4.__m1,h=THREE.Matrix4.__m2;
+f.identity();f.setRotationFromQuaternion(c);h.setScale(e.x,e.y,e.z);this.multiply(f,h);this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},decompose:function(b,c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;f.set(this.n11,this.n21,this.n31);h.set(this.n12,this.n22,this.n32);m.set(this.n13,this.n23,this.n33);b=b instanceof THREE.Vector3?b:new THREE.Vector3;c=c instanceof THREE.Quaternion?c:new THREE.Quaternion;e=e instanceof THREE.Vector3?e:new THREE.Vector3;e.x=f.length();
+e.y=h.length();e.z=m.length();b.x=this.n14;b.y=this.n24;b.z=this.n34;f=THREE.Matrix4.__m1;f.copy(this);f.n11/=e.x;f.n21/=e.x;f.n31/=e.x;f.n12/=e.y;f.n22/=e.y;f.n32/=e.y;f.n13/=e.z;f.n23/=e.z;f.n33/=e.z;c.setFromRotationMatrix(f);return[b,c,e]},extractPosition:function(b){this.n14=b.n14;this.n24=b.n24;this.n34=b.n34},extractRotation:function(b,c){var e=1/c.x,f=1/c.y,h=1/c.z;this.n11=b.n11*e;this.n21=b.n21*e;this.n31=b.n31*e;this.n12=b.n12*f;this.n22=b.n22*f;this.n32=b.n32*f;this.n13=b.n13*h;this.n23=
+b.n23*h;this.n33=b.n33*h}};
+THREE.Matrix4.makeInvert=function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44;c===void 0&&(c=new THREE.Matrix4);c.n11=u*w*y-p*x*y+p*t*B-n*w*B-u*t*D+n*x*D;c.n12=m*x*y-h*w*y-m*t*B+f*w*B+h*t*D-f*x*D;c.n13=h*p*y-m*u*y+m*n*B-f*p*B-h*n*D+f*u*D;c.n14=m*u*t-h*p*t-m*n*x+f*p*x+h*n*w-f*u*w;c.n21=p*x*z-u*w*z-p*v*B+k*w*B+u*v*D-k*x*D;c.n22=h*w*z-m*x*z+m*v*B-e*w*B-h*v*D+e*x*D;c.n23=m*u*z-h*p*z-m*k*B+e*p*B+h*k*D-e*u*D;c.n24=
+h*p*v-m*u*v+m*k*x-e*p*x-h*k*w+e*u*w;c.n31=n*w*z-p*t*z+p*v*y-k*w*y-n*v*D+k*t*D;c.n32=m*t*z-f*w*z-m*v*y+e*w*y+f*v*D-e*t*D;c.n33=h*p*z-m*n*z+m*k*y-e*p*y-f*k*D+e*n*D;c.n34=m*n*v-f*p*v-m*k*t+e*p*t+f*k*w-e*n*w;c.n41=u*t*z-n*x*z-u*v*y+k*x*y+n*v*B-k*t*B;c.n42=f*x*z-h*t*z+h*v*y-e*x*y-f*v*B+e*t*B;c.n43=h*n*z-f*u*z-h*k*y+e*u*y+f*k*B-e*n*B;c.n44=f*u*v-h*n*v+h*k*t-e*u*t-f*k*x+e*n*x;c.multiplyScalar(1/b.determinant());return c};
+THREE.Matrix4.makeInvert3x3=function(b){var c=b.m33,e=c.m,f=b.n33*b.n22-b.n32*b.n23,h=-b.n33*b.n21+b.n31*b.n23,m=b.n32*b.n21-b.n31*b.n22,k=-b.n33*b.n12+b.n32*b.n13,n=b.n33*b.n11-b.n31*b.n13,u=-b.n32*b.n11+b.n31*b.n12,p=b.n23*b.n12-b.n22*b.n13,v=-b.n23*b.n11+b.n21*b.n13,t=b.n22*b.n11-b.n21*b.n12,b=b.n11*f+b.n21*k+b.n31*p;b==0&&console.error("THREE.Matrix4.makeInvert3x3: Matrix not invertible.");b=1/b;e[0]=b*f;e[1]=b*h;e[2]=b*m;e[3]=b*k;e[4]=b*n;e[5]=b*u;e[6]=b*p;e[7]=b*v;e[8]=b*t;return c};
+THREE.Matrix4.makeFrustum=function(b,c,e,f,h,m){var k;k=new THREE.Matrix4;k.n11=2*h/(c-b);k.n12=0;k.n13=(c+b)/(c-b);k.n14=0;k.n21=0;k.n22=2*h/(f-e);k.n23=(f+e)/(f-e);k.n24=0;k.n31=0;k.n32=0;k.n33=-(m+h)/(m-h);k.n34=-2*m*h/(m-h);k.n41=0;k.n42=0;k.n43=-1;k.n44=0;return k};THREE.Matrix4.makePerspective=function(b,c,e,f){var h,b=e*Math.tan(b*Math.PI/360);h=-b;return THREE.Matrix4.makeFrustum(h*c,b*c,h,b,e,f)};
+THREE.Matrix4.makeOrtho=function(b,c,e,f,h,m){var k,n,u,p;k=new THREE.Matrix4;n=c-b;u=e-f;p=m-h;k.n11=2/n;k.n12=0;k.n13=0;k.n14=-((c+b)/n);k.n21=0;k.n22=2/u;k.n23=0;k.n24=-((e+f)/u);k.n31=0;k.n32=0;k.n33=-2/p;k.n34=-((m+h)/p);k.n41=0;k.n42=0;k.n43=0;k.n44=1;return k};THREE.Matrix4.__v1=new THREE.Vector3;THREE.Matrix4.__v2=new THREE.Vector3;THREE.Matrix4.__v3=new THREE.Vector3;THREE.Matrix4.__m1=new THREE.Matrix4;THREE.Matrix4.__m2=new THREE.Matrix4;
+THREE.Object3D=function(){this.id=THREE.Object3DCount++;this.name="";this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder="XYZ";this.scale=new THREE.Vector3(1,1,1);this.flipSided=this.doubleSided=this.dynamic=!1;this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
+!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.boundRadius=0;this.boundRadiusScale=1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
+THREE.Object3D.prototype={constructor:THREE.Object3D,translate:function(b,c){this.matrix.rotateAxis(c);this.position.addSelf(c.multiplyScalar(b))},translateX:function(b){this.translate(b,this._vector.set(1,0,0))},translateY:function(b){this.translate(b,this._vector.set(0,1,0))},translateZ:function(b){this.translate(b,this._vector.set(0,0,1))},lookAt:function(b){this.matrix.lookAt(b,this.position,this.up);this.rotationAutoUpdate&&this.rotation.setRotationFromMatrix(this.matrix)},addChild:function(b){if(this.children.indexOf(b)===
+-1){b.parent!==void 0&&b.parent.removeChild(b);b.parent=this;this.children.push(b);for(var c=this;c.parent!==void 0;)c=c.parent;c!==void 0&&c instanceof THREE.Scene&&c.addChildRecurse(b)}},removeChild:function(b){var c=this.children.indexOf(b);if(c!==-1)b.parent=void 0,this.children.splice(c,1)},getChildByName:function(b,c){var e,f,h;e=0;for(f=this.children.length;e<f;e++){h=this.children[e];if(h.name===b)return h;if(c&&(h=h.getChildByName(b,c),h!==void 0))return h}},updateMatrix:function(){this.matrix.setPosition(this.position);
+this.useQuaternion?this.matrix.setRotationFromQuaternion(this.quaternion):this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder);if(this.scale.x!==1||this.scale.y!==1||this.scale.z!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,Math.max(this.scale.y,this.scale.z));this.matrixWorldNeedsUpdate=!0},update:function(b,c,e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||c)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),
+this.matrixRotationWorld.extractRotation(this.matrixWorld,this.scale),this.matrixWorldNeedsUpdate=!1,c=!0;for(var b=0,f=this.children.length;b<f;b++)this.children[b].update(this.matrixWorld,c,e)}};THREE.Object3DCount=0;
+THREE.Projector=function(){function b(){var b=u[n]=u[n]||new THREE.RenderableVertex;n++;return b}function c(b,e){return e.z-b.z}function e(b,e){var c=0,f=1,k=b.z+b.w,h=e.z+e.w,m=-b.z+b.w,n=-e.z+e.w;return k>=0&&h>=0&&m>=0&&n>=0?!0:k<0&&h<0||m<0&&n<0?!1:(k<0?c=Math.max(c,k/(k-h)):h<0&&(f=Math.min(f,k/(k-h))),m<0?c=Math.max(c,m/(m-n)):n<0&&(f=Math.min(f,m/(m-n))),f<c?!1:(b.lerpSelf(e,c),e.lerpSelf(b,1-f),!0))}var f,h,m=[],k,n,u=[],p,v,t=[],x,w=[],z,y,B=[],D,G,H=[],E=[],N=[],F=new THREE.Vector4,I=new THREE.Vector4,
+C=new THREE.Matrix4,K=new THREE.Matrix4,U=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],L=new THREE.Vector4,O=new THREE.Vector4;this.projectVector=function(b,e){C.multiply(e.projectionMatrix,e.matrixWorldInverse);C.multiplyVector3(b);return b};this.unprojectVector=function(b,e){C.multiply(e.matrixWorld,THREE.Matrix4.makeInvert(e.projectionMatrix));C.multiplyVector3(b);return b};this.projectObjects=function(b,e,k){var n,u;h=E.length=0;
+n=b.objects;b=0;for(e=n.length;b<e;b++){u=n[b];var w;if(!(w=!u.visible))if(w=u instanceof THREE.Mesh)if(w=u.frustumCulled){a:{w=void 0;for(var t=u.matrixWorld,p=-u.geometry.boundingSphere.radius*Math.max(u.scale.x,Math.max(u.scale.y,u.scale.z)),v=0;v<6;v++)if(w=U[v].x*t.n14+U[v].y*t.n24+U[v].z*t.n34+U[v].w,w<=p){w=!1;break a}w=!0}w=!w}if(!w)w=m[h]=m[h]||new THREE.RenderableObject,h++,f=w,F.copy(u.position),C.multiplyVector3(F),f.object=u,f.z=F.z,E.push(f)}k&&E.sort(c);return E};this.projectScene=
+function(f,h,m){var E=h.near,F=h.far,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa,V,pa,va,ra;G=y=x=v=N.length=0;h.matrixAutoUpdate&&h.update(void 0,!0);f.update(void 0,!1,h);C.multiply(h.projectionMatrix,h.matrixWorldInverse);U[0].set(C.n41-C.n11,C.n42-C.n12,C.n43-C.n13,C.n44-C.n14);U[1].set(C.n41+C.n11,C.n42+C.n12,C.n43+C.n13,C.n44+C.n14);U[2].set(C.n41+C.n21,C.n42+C.n22,C.n43+C.n23,C.n44+C.n24);U[3].set(C.n41-C.n21,C.n42-C.n22,C.n43-C.n23,C.n44-C.n24);U[4].set(C.n41-C.n31,C.n42-C.n32,C.n43-C.n33,C.n44-C.n34);
+U[5].set(C.n41+C.n31,C.n42+C.n32,C.n43+C.n33,C.n44+C.n34);for(R=0;R<6;R++)ca=U[R],ca.divideScalar(Math.sqrt(ca.x*ca.x+ca.y*ca.y+ca.z*ca.z));ca=this.projectObjects(f,h,!0);f=0;for(R=ca.length;f<R;f++)if(X=ca[f].object,X.visible)if(ja=X.matrixWorld,ea=X.matrixRotationWorld,qa=X.materials,V=X.overdraw,n=0,X instanceof THREE.Mesh){pa=X.geometry;ma=pa.vertices;va=pa.faces;pa=pa.faceVertexUvs;ia=0;for(aa=ma.length;ia<aa;ia++)k=b(),k.positionWorld.copy(ma[ia].position),ja.multiplyVector3(k.positionWorld),
+k.positionScreen.copy(k.positionWorld),C.multiplyVector4(k.positionScreen),k.positionScreen.x/=k.positionScreen.w,k.positionScreen.y/=k.positionScreen.w,k.visible=k.positionScreen.z>E&&k.positionScreen.z<F;ma=0;for(ia=va.length;ma<ia;ma++){aa=va[ma];if(aa instanceof THREE.Face3)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],fa.visible&&ga.visible&&da.visible&&(X.doubleSided||X.flipSided!=(da.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-(da.positionScreen.y-fa.positionScreen.y)*
+(ga.positionScreen.x-fa.positionScreen.x)<0))$=t[v]=t[v]||new THREE.RenderableFace3,v++,p=$,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da);else continue;else if(aa instanceof THREE.Face4)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],$=u[aa.d],fa.visible&&ga.visible&&da.visible&&$.visible&&(X.doubleSided||X.flipSided!=(($.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-($.positionScreen.y-fa.positionScreen.y)*(ga.positionScreen.x-fa.positionScreen.x)<0||(ga.positionScreen.x-da.positionScreen.x)*
+($.positionScreen.y-da.positionScreen.y)-(ga.positionScreen.y-da.positionScreen.y)*($.positionScreen.x-da.positionScreen.x)<0)))ra=w[x]=w[x]||new THREE.RenderableFace4,x++,p=ra,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da),p.v4.copy($);else continue;p.normalWorld.copy(aa.normal);ea.multiplyVector3(p.normalWorld);p.centroidWorld.copy(aa.centroid);ja.multiplyVector3(p.centroidWorld);p.centroidScreen.copy(p.centroidWorld);C.multiplyVector3(p.centroidScreen);da=aa.vertexNormals;fa=0;for(ga=da.length;fa<ga;fa++)$=
+p.vertexNormalsWorld[fa],$.copy(da[fa]),ea.multiplyVector3($);fa=0;for(ga=pa.length;fa<ga;fa++)if(ra=pa[fa][ma]){da=0;for($=ra.length;da<$;da++)p.uvs[fa][da]=ra[da]}p.meshMaterials=qa;p.faceMaterials=aa.materials;p.overdraw=V;p.z=p.centroidScreen.z;N.push(p)}}else if(X instanceof THREE.Line){K.multiply(C,ja);ma=X.geometry.vertices;fa=b();fa.positionScreen.copy(ma[0].position);K.multiplyVector4(fa.positionScreen);ia=1;for(aa=ma.length;ia<aa;ia++)if(fa=b(),fa.positionScreen.copy(ma[ia].position),K.multiplyVector4(fa.positionScreen),
+ga=u[n-2],L.copy(fa.positionScreen),O.copy(ga.positionScreen),e(L,O))L.multiplyScalar(1/L.w),O.multiplyScalar(1/O.w),ja=B[y]=B[y]||new THREE.RenderableLine,y++,z=ja,z.v1.positionScreen.copy(L),z.v2.positionScreen.copy(O),z.z=Math.max(L.z,O.z),z.materials=X.materials,N.push(z)}else if(X instanceof THREE.Particle&&(I.set(X.matrixWorld.n14,X.matrixWorld.n24,X.matrixWorld.n34,1),C.multiplyVector4(I),I.z/=I.w,I.z>0&&I.z<1))ja=H[G]=H[G]||new THREE.RenderableParticle,G++,D=ja,D.x=I.x/I.w,D.y=I.y/I.w,D.z=
+I.z,D.rotation=X.rotation.z,D.scale.x=X.scale.x*Math.abs(D.x-(I.x+h.projectionMatrix.n11)/(I.w+h.projectionMatrix.n14)),D.scale.y=X.scale.y*Math.abs(D.y-(I.y+h.projectionMatrix.n22)/(I.w+h.projectionMatrix.n24)),D.materials=X.materials,N.push(D);m&&N.sort(c);return N}};THREE.Quaternion=function(b,c,e,f){this.set(b||0,c||0,e||0,f!==void 0?f:1)};
+THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w;return this},setFromEuler:function(b){var c=0.5*Math.PI/360,e=b.x*c,f=b.y*c,h=b.z*c,b=Math.cos(f),f=Math.sin(f),c=Math.cos(-h),h=Math.sin(-h),m=Math.cos(e),e=Math.sin(e),k=b*c,n=f*h;this.w=k*m-n*e;this.x=k*e+n*m;this.y=f*c*m+b*h*e;this.z=b*h*m-f*c*e;return this},setFromAxisAngle:function(b,c){var e=c/2,f=Math.sin(e);
+this.x=b.x*f;this.y=b.y*f;this.z=b.z*f;this.w=Math.cos(e);return this},setFromRotationMatrix:function(b){var c=Math.pow(b.determinant(),1/3);this.w=Math.sqrt(Math.max(0,c+b.n11+b.n22+b.n33))/2;this.x=Math.sqrt(Math.max(0,c+b.n11-b.n22-b.n33))/2;this.y=Math.sqrt(Math.max(0,c-b.n11+b.n22-b.n33))/2;this.z=Math.sqrt(Math.max(0,c-b.n11-b.n22+b.n33))/2;this.x=b.n32-b.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=b.n13-b.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=b.n21-b.n12<0?-Math.abs(this.z):Math.abs(this.z);
+this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var b=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);b==0?this.w=this.z=this.y=this.x=0:(b=1/b,this.x*=b,this.y*=b,this.z*=b,this.w*=b);return this},multiplySelf:function(b){var c=
+this.x,e=this.y,f=this.z,h=this.w,m=b.x,k=b.y,n=b.z,b=b.w;this.x=c*b+h*m+e*n-f*k;this.y=e*b+h*k+f*m-c*n;this.z=f*b+h*n+c*k-e*m;this.w=h*b-c*m-e*k-f*n;return this},multiply:function(b,c){this.x=b.x*c.w+b.y*c.z-b.z*c.y+b.w*c.x;this.y=-b.x*c.z+b.y*c.w+b.z*c.x+b.w*c.y;this.z=b.x*c.y-b.y*c.x+b.z*c.w+b.w*c.z;this.w=-b.x*c.x-b.y*c.y-b.z*c.z+b.w*c.w;return this},multiplyVector3:function(b,c){c||(c=b);var e=b.x,f=b.y,h=b.z,m=this.x,k=this.y,n=this.z,u=this.w,p=u*e+k*h-n*f,v=u*f+n*e-m*h,t=u*h+m*f-k*e,e=-m*
+e-k*f-n*h;c.x=p*u+e*-m+v*-n-t*-k;c.y=v*u+e*-k+t*-m-p*-n;c.z=t*u+e*-n+p*-k-v*-m;return c}};THREE.Quaternion.slerp=function(b,c,e,f){var h=b.w*c.w+b.x*c.x+b.y*c.y+b.z*c.z;if(Math.abs(h)>=1)return e.w=b.w,e.x=b.x,e.y=b.y,e.z=b.z,e;var m=Math.acos(h),k=Math.sqrt(1-h*h);if(Math.abs(k)<0.001)return e.w=0.5*(b.w+c.w),e.x=0.5*(b.x+c.x),e.y=0.5*(b.y+c.y),e.z=0.5*(b.z+c.z),e;h=Math.sin((1-f)*m)/k;f=Math.sin(f*m)/k;e.w=b.w*h+c.w*f;e.x=b.x*h+c.x*f;e.y=b.y*h+c.y*f;e.z=b.z*h+c.z*f;return e};
+THREE.Vertex=function(b){this.position=b||new THREE.Vector3};THREE.Face3=function(b,c,e,f,h,m){this.a=b;this.b=c;this.c=e;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=h instanceof THREE.Color?h:new THREE.Color;this.vertexColors=h instanceof Array?h:[];this.vertexTangents=[];this.materials=m instanceof Array?m:[m];this.centroid=new THREE.Vector3};
+THREE.Face4=function(b,c,e,f,h,m,k){this.a=b;this.b=c;this.c=e;this.d=f;this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3;this.vertexNormals=h instanceof Array?h:[];this.color=m instanceof THREE.Color?m:new THREE.Color;this.vertexColors=m instanceof Array?m:[];this.vertexTangents=[];this.materials=k instanceof Array?k:[k];this.centroid=new THREE.Vector3};THREE.UV=function(b,c){this.u=b||0;this.v=c||0};
+THREE.UV.prototype={constructor:THREE.UV,set:function(b,c){this.u=b;this.v=c;return this},copy:function(b){this.u=b.u;this.v=b.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}};
+THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.faces=[];this.edges=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1};
+THREE.Geometry.prototype={constructor:THREE.Geometry,computeCentroids:function(){var b,c,e;b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e.centroid.set(0,0,0),e instanceof THREE.Face3?(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),e.centroid.divideScalar(3)):e instanceof THREE.Face4&&(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),
+e.centroid.addSelf(this.vertices[e.d].position),e.centroid.divideScalar(4))},computeFaceNormals:function(b){var c,e,f,h,m,k,n=new THREE.Vector3,u=new THREE.Vector3;f=0;for(h=this.faces.length;f<h;f++){m=this.faces[f];if(b&&m.vertexNormals.length){n.set(0,0,0);c=0;for(e=m.vertexNormals.length;c<e;c++)n.addSelf(m.vertexNormals[c]);n.divideScalar(3)}else c=this.vertices[m.a],e=this.vertices[m.b],k=this.vertices[m.c],n.sub(k.position,e.position),u.sub(c.position,e.position),n.crossSelf(u);n.isZero()||
+n.normalize();m.normal.copy(n)}},computeVertexNormals:function(){var b,c,e,f;if(this.__tmpVertices==void 0){f=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)f[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)if(e=this.faces[b],e instanceof THREE.Face3)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(e instanceof THREE.Face4)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}else{f=
+this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)f[b].set(0,0,0)}b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal)):e instanceof THREE.Face4&&(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal),f[e.d].addSelf(e.normal));b=0;for(c=this.vertices.length;b<c;b++)f[b].normalize();b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(e.vertexNormals[0].copy(f[e.a]),
+e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c])):e instanceof THREE.Face4&&(e.vertexNormals[0].copy(f[e.a]),e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c]),e.vertexNormals[3].copy(f[e.d]))},computeTangents:function(){function b(b,e,c,f,h,m,o){n=b.vertices[e].position;u=b.vertices[c].position;p=b.vertices[f].position;v=k[h];t=k[m];x=k[o];w=u.x-n.x;z=p.x-n.x;y=u.y-n.y;B=p.y-n.y;D=u.z-n.z;G=p.z-n.z;H=t.u-v.u;E=x.u-v.u;N=t.v-v.v;F=x.v-v.v;I=1/(H*F-E*N);L.set((F*w-N*z)*
+I,(F*y-N*B)*I,(F*D-N*G)*I);O.set((H*z-E*w)*I,(H*B-E*y)*I,(H*G-E*D)*I);K[e].addSelf(L);K[c].addSelf(L);K[f].addSelf(L);U[e].addSelf(O);U[c].addSelf(O);U[f].addSelf(O)}var c,e,f,h,m,k,n,u,p,v,t,x,w,z,y,B,D,G,H,E,N,F,I,C,K=[],U=[],L=new THREE.Vector3,O=new THREE.Vector3,S=new THREE.Vector3,P=new THREE.Vector3,o=new THREE.Vector3;c=0;for(e=this.vertices.length;c<e;c++)K[c]=new THREE.Vector3,U[c]=new THREE.Vector3;c=0;for(e=this.faces.length;c<e;c++)m=this.faces[c],k=this.faceVertexUvs[0][c],m instanceof
+THREE.Face3?b(this,m.a,m.b,m.c,0,1,2):m instanceof THREE.Face4&&(b(this,m.a,m.b,m.c,0,1,2),b(this,m.a,m.b,m.d,0,1,3));var W=["a","b","c","d"];c=0;for(e=this.faces.length;c<e;c++){m=this.faces[c];for(f=0;f<m.vertexNormals.length;f++)o.copy(m.vertexNormals[f]),h=m[W[f]],C=K[h],S.copy(C),S.subSelf(o.multiplyScalar(o.dot(C))).normalize(),P.cross(m.vertexNormals[f],C),h=P.dot(U[h]),h=h<0?-1:1,m.vertexTangents[f]=new THREE.Vector4(S.x,S.y,S.z,h)}this.hasTangents=!0},computeBoundingBox:function(){var b;
+if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,e=this.vertices.length;c<e;c++){b=this.vertices[c];if(b.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=b.position.x;else if(b.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=b.position.x;if(b.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=b.position.y;
+else if(b.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=b.position.y;if(b.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=b.position.z;else if(b.position.z>this.boundingBox.z[1])this.boundingBox.z[1]=b.position.z}}},computeBoundingSphere:function(){for(var b=0,c=0,e=this.vertices.length;c<e;c++)b=Math.max(b,this.vertices[c].position.length());this.boundingSphere={radius:b}},computeEdgeFaces:function(){function b(b,e){return Math.min(b,e)+"_"+Math.max(b,e)}function c(b,e,c){b[e]===
+void 0?(b[e]={set:{},array:[]},b[e].set[c]=1,b[e].array.push(c)):b[e].set[c]===void 0&&(b[e].set[c]=1,b[e].array.push(c))}var e,f,h,m,k,n={};e=0;for(f=this.faces.length;e<f;e++)k=this.faces[e],k instanceof THREE.Face3?(h=b(k.a,k.b),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.a,k.c),c(n,h,e)):k instanceof THREE.Face4&&(h=b(k.b,k.d),c(n,h,e),h=b(k.a,k.b),c(n,h,e),h=b(k.a,k.d),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.c,k.d),c(n,h,e));e=0;for(f=this.edges.length;e<f;e++){k=this.edges[e];h=k.vertexIndices[0];m=k.vertexIndices[1];
+k.faceIndices=n[b(h,m)].array;for(h=0;h<k.faceIndices.length;h++)m=k.faceIndices[h],k.faces.push(this.faces[m])}}};THREE.GeometryCount=0;
+THREE.Spline=function(b){function c(b,e,c,f,k,h,m){b=(c-b)*0.5;f=(f-e)*0.5;return(2*(e-c)+b+f)*m+(-3*(e-c)-2*b-f)*h+b*k+e}this.points=b;var e=[],f={x:0,y:0,z:0},h,m,k,n,u,p,v,t,x;this.initFromArray=function(b){this.points=[];for(var e=0;e<b.length;e++)this.points[e]={x:b[e][0],y:b[e][1],z:b[e][2]}};this.getPoint=function(b){h=(this.points.length-1)*b;m=Math.floor(h);k=h-m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>this.points.length-2?m:m+1;e[3]=m>this.points.length-3?m:m+2;p=this.points[e[0]];v=this.points[e[1]];
+t=this.points[e[2]];x=this.points[e[3]];n=k*k;u=k*n;f.x=c(p.x,v.x,t.x,x.x,k,n,u);f.y=c(p.y,v.y,t.y,x.y,k,n,u);f.z=c(p.z,v.z,t.z,x.z,k,n,u);return f};this.getControlPointsArray=function(){var b,e,c=this.points.length,f=[];for(b=0;b<c;b++)e=this.points[b],f[b]=[e.x,e.y,e.z];return f};this.getLength=function(b){var e,c,f=e=e=0,k=new THREE.Vector3,h=new THREE.Vector3,m=[],n=0;m[0]=0;b||(b=100);c=this.points.length*b;k.copy(this.points[0]);for(b=1;b<c;b++)e=b/c,position=this.getPoint(e),h.copy(position),
+n+=h.distanceTo(k),k.copy(position),e*=this.points.length-1,e=Math.floor(e),e!=f&&(m[e]=n,f=e);m[m.length]=n;return{chunks:m,total:n}};this.reparametrizeByArcLength=function(b){var e,c,f,k,h,m,n=[],u=new THREE.Vector3,t=this.getLength();n.push(u.copy(this.points[0]).clone());for(e=1;e<this.points.length;e++){c=t.chunks[e]-t.chunks[e-1];m=Math.ceil(b*c/t.total);k=(e-1)/(this.points.length-1);h=e/(this.points.length-1);for(c=1;c<m-1;c++)f=k+c*(1/m)*(h-k),position=this.getPoint(f),n.push(u.copy(position).clone());
+n.push(u.copy(this.points[e]).clone())}this.points=n}};THREE.Edge=function(b,c,e,f){this.vertices=[b,c];this.vertexIndices=[e,f];this.faces=[];this.faceIndices=[]};THREE.Camera=function(b,c,e,f,h){THREE.Object3D.call(this);this.fov=b||50;this.aspect=c||1;this.near=e||0.1;this.far=f||2E3;this.target=h||new THREE.Object3D;this.useTarget=!0;this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=null;this.updateProjectionMatrix()};THREE.Camera.prototype=new THREE.Object3D;
+THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.supr=THREE.Object3D.prototype;THREE.Camera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);c.multiplyScalar(b);this.position.addSelf(c);this.target.position.addSelf(c)};
+THREE.Camera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var b=this.fullWidth/this.fullHeight,c=Math.tan(this.fov*Math.PI/360)*this.near,e=-c,f=b*e,b=Math.abs(b*c-f),e=Math.abs(c-e);this.projectionMatrix=THREE.Matrix4.makeFrustum(f+this.x*b/this.fullWidth,f+(this.x+this.width)*b/this.fullWidth,c-(this.y+this.height)*e/this.fullHeight,c-this.y*e/this.fullHeight,this.near,this.far)}else this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};
+THREE.Camera.prototype.setViewOffset=function(b,c,e,f,h,m){this.fullWidth=b;this.fullHeight=c;this.x=e;this.y=f;this.width=h;this.height=m;this.updateProjectionMatrix()};
+THREE.Camera.prototype.update=function(b,c,e){if(this.useTarget)this.matrix.lookAt(this.position,this.target.position,this.up),this.matrix.setPosition(this.position),b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse),c=!0;else if(this.matrixAutoUpdate&&this.updateMatrix(),c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=
+!1,c=!0,THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse);for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};THREE.OrthoCamera=function(b,c,e,f,h,m,k){THREE.Camera.call(this,45,1,h,m,k);this.left=b;this.right=c;this.top=e;this.bottom=f;this.updateProjectionMatrix()};THREE.OrthoCamera.prototype=new THREE.Camera;THREE.OrthoCamera.prototype.constructor=THREE.OrthoCamera;
+THREE.OrthoCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makeOrtho(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.Light=function(b){THREE.Object3D.call(this);this.color=new THREE.Color(b)};THREE.Light.prototype=new THREE.Object3D;THREE.Light.prototype.constructor=THREE.Light;THREE.Light.prototype.supr=THREE.Object3D.prototype;THREE.AmbientLight=function(b){THREE.Light.call(this,b)};THREE.AmbientLight.prototype=new THREE.Light;
+THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.DirectionalLight.prototype=new THREE.Light;THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,c,e){THREE.Light.call(this,b);this.position=new THREE.Vector3;this.intensity=c||1;this.distance=e||0};
+THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;THREE.SpotLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.SpotLight.prototype=new THREE.Light;THREE.SpotLight.prototype.constructor=THREE.SpotLight;
+THREE.Material=function(b){this.id=THREE.MaterialCount++;b=b||{};this.opacity=b.opacity!==void 0?b.opacity:1;this.transparent=b.transparent!==void 0?b.transparent:!1;this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.depthTest=b.depthTest!==void 0?b.depthTest:!0;this.polygonOffset=b.polygonOffset!==void 0?b.polygonOffset:!1;this.polygonOffsetFactor=b.polygonOffsetFactor!==void 0?b.polygonOffsetFactor:0;this.polygonOffsetUnits=b.polygonOffsetUnits!==void 0?b.polygonOffsetUnits:
+0;this.alphaTest=b.alphaTest!==void 0?b.alphaTest:0};THREE.MaterialCount=0;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;THREE.MultiplyBlending=3;THREE.AdditiveAlphaBlending=4;
+THREE.LineBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.linewidth=b.linewidth!==void 0?b.linewidth:1;this.linecap=b.linecap!==void 0?b.linecap:"round";this.linejoin=b.linejoin!==void 0?b.linejoin:"round";this.vertexColors=b.vertexColors?b.vertexColors:!1};THREE.LineBasicMaterial.prototype=new THREE.Material;THREE.LineBasicMaterial.prototype.constructor=THREE.LineBasicMaterial;
+THREE.MeshBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshBasicMaterial.prototype=new THREE.Material;THREE.MeshBasicMaterial.prototype.constructor=THREE.MeshBasicMaterial;
+THREE.MeshLambertMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshLambertMaterial.prototype=new THREE.Material;THREE.MeshLambertMaterial.prototype.constructor=THREE.MeshLambertMaterial;
+THREE.MeshPhongMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.ambient=b.ambient!==void 0?new THREE.Color(b.ambient):new THREE.Color(328965);this.specular=b.specular!==void 0?new THREE.Color(b.specular):new THREE.Color(1118481);this.shininess=b.shininess!==void 0?b.shininess:30;this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;
+this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==
+void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshPhongMaterial.prototype=new THREE.Material;THREE.MeshPhongMaterial.prototype.constructor=THREE.MeshPhongMaterial;
+THREE.MeshDepthMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1};THREE.MeshDepthMaterial.prototype=new THREE.Material;THREE.MeshDepthMaterial.prototype.constructor=THREE.MeshDepthMaterial;
+THREE.MeshNormalMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading?b.shading:THREE.FlatShading;this.wireframe=b.wireframe?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth?b.wireframeLinewidth:1};THREE.MeshNormalMaterial.prototype=new THREE.Material;THREE.MeshNormalMaterial.prototype.constructor=THREE.MeshNormalMaterial;THREE.MeshFaceMaterial=function(){};
+THREE.MeshShaderMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.fragmentShader=b.fragmentShader!==void 0?b.fragmentShader:"void main() {}";this.vertexShader=b.vertexShader!==void 0?b.vertexShader:"void main() {}";this.uniforms=b.uniforms!==void 0?b.uniforms:{};this.attributes=b.attributes;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.fog=
+b.fog!==void 0?b.fog:!1;this.lights=b.lights!==void 0?b.lights:!1;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshShaderMaterial.prototype=new THREE.Material;THREE.MeshShaderMaterial.prototype.constructor=THREE.MeshShaderMaterial;
+THREE.ParticleBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.size=b.size!==void 0?b.size:1;this.sizeAttenuation=b.sizeAttenuation!==void 0?b.sizeAttenuation:!0;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1};THREE.ParticleBasicMaterial.prototype=new THREE.Material;THREE.ParticleBasicMaterial.prototype.constructor=THREE.ParticleBasicMaterial;
+THREE.ParticleCanvasMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.program=b.program!==void 0?b.program:function(){}};THREE.ParticleCanvasMaterial.prototype=new THREE.Material;THREE.ParticleCanvasMaterial.prototype.constructor=THREE.ParticleCanvasMaterial;THREE.ParticleDOMMaterial=function(b){THREE.Material.call(this);this.domElement=b};
+THREE.Texture=function(b,c,e,f,h,m){this.id=THREE.TextureCount++;this.image=b;this.mapping=c!==void 0?c:new THREE.UVMapping;this.wrapS=e!==void 0?e:THREE.ClampToEdgeWrapping;this.wrapT=f!==void 0?f:THREE.ClampToEdgeWrapping;this.magFilter=h!==void 0?h:THREE.LinearFilter;this.minFilter=m!==void 0?m:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.needsUpdate=!1};
+THREE.Texture.prototype={constructor:THREE.Texture,clone:function(){var b=new THREE.Texture(this.image,this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b}};THREE.TextureCount=0;THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
+THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;
+THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;THREE.DataTexture=function(b,c,e,f,h,m,k,n,u){THREE.Texture.call(this,null,h,m,k,n,u);this.image={data:b,width:c,height:e};this.format=f!==void 0?f:THREE.RGBAFormat};THREE.DataTexture.prototype=new THREE.Texture;THREE.DataTexture.prototype.constructor=THREE.DataTexture;
+THREE.DataTexture.prototype.clone=function(){var b=new THREE.DataTexture(this.data.slice(0),this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b};THREE.Particle=function(b){THREE.Object3D.call(this);this.materials=b instanceof Array?b:[b]};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;
+THREE.ParticleSystem=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.sortParticles=!1};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;THREE.Line=function(b,c,e){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.type=e!=void 0?e:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;
+THREE.Line.prototype.constructor=THREE.Line;
+THREE.Mesh=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c&&c.length?c:[c];this.overdraw=!1;if(this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere(),this.boundRadius=b.boundingSphere.radius,this.geometry.morphTargets.length)){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var e=0;e<this.geometry.morphTargets.length;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[e].name]=
+e}};THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.supr=THREE.Object3D.prototype;THREE.Mesh.prototype.getMorphTargetIndexByName=function(b){if(this.morphTargetDictionary[b]!==void 0)return this.morphTargetDictionary[b];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+b+" does not exist. Returning 0.");return 0};
+THREE.Bone=function(b){THREE.Object3D.call(this);this.skin=b;this.skinMatrix=new THREE.Matrix4;this.hasNoneBoneChildren=!1};THREE.Bone.prototype=new THREE.Object3D;THREE.Bone.prototype.constructor=THREE.Bone;THREE.Bone.prototype.supr=THREE.Object3D.prototype;
+THREE.Bone.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.skinMatrix.multiply(b,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;if(this.hasNoneBoneChildren){this.matrixWorld.multiply(this.skin.matrixWorld,this.skinMatrix);for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.skinMatrix,c,e):b.update(this.matrixWorld,!0,e)}else for(f=0;f<h;f++)this.children[f].update(this.skinMatrix,
+c,e)};THREE.Bone.prototype.addChild=function(b){if(this.children.indexOf(b)===-1&&(b.parent!==void 0&&b.parent.removeChild(b),b.parent=this,this.children.push(b),!(b instanceof THREE.Bone)))this.hasNoneBoneChildren=!0};
+THREE.SkinnedMesh=function(b,c){THREE.Mesh.call(this,b,c);this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var e,f,h,m,k,n;if(this.geometry.bones!==void 0){for(e=0;e<this.geometry.bones.length;e++)h=this.geometry.bones[e],m=h.pos,k=h.rotq,n=h.scl,f=this.addBone(),f.name=h.name,f.position.set(m[0],m[1],m[2]),f.quaternion.set(k[0],k[1],k[2],k[3]),f.useQuaternion=!0,n!==void 0?f.scale.set(n[0],n[1],n[2]):f.scale.set(1,1,1);for(e=0;e<this.bones.length;e++)h=this.geometry.bones[e],
+f=this.bones[e],h.parent===-1?this.addChild(f):this.bones[h.parent].addChild(f);this.boneMatrices=new Float32Array(16*this.bones.length);this.pose()}};THREE.SkinnedMesh.prototype=new THREE.Mesh;THREE.SkinnedMesh.prototype.constructor=THREE.SkinnedMesh;
+THREE.SkinnedMesh.prototype.update=function(b,c,e){if(this.visible){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.identityMatrix,!1,e):b.update(this.matrixWorld,c,e);e=this.bones.length;ba=this.bones;bm=this.boneMatrices;for(c=0;c<e;c++)ba[c].skinMatrix.flattenToArrayOffset(bm,
+c*16)}};THREE.SkinnedMesh.prototype.addBone=function(b){b===void 0&&(b=new THREE.Bone(this));this.bones.push(b);return b};
+THREE.SkinnedMesh.prototype.pose=function(){this.update(void 0,!0);for(var b,c=[],e=0;e<this.bones.length;e++)b=this.bones[e],c.push(THREE.Matrix4.makeInvert(b.skinMatrix)),b.skinMatrix.flattenToArrayOffset(this.boneMatrices,e*16);if(this.geometry.skinVerticesA===void 0){this.geometry.skinVerticesA=[];this.geometry.skinVerticesB=[];var f;for(b=0;b<this.geometry.skinIndices.length;b++){var e=this.geometry.vertices[b].position,h=this.geometry.skinIndices[b].x,m=this.geometry.skinIndices[b].y;f=new THREE.Vector3(e.x,
+e.y,e.z);this.geometry.skinVerticesA.push(c[h].multiplyVector3(f));f=new THREE.Vector3(e.x,e.y,e.z);this.geometry.skinVerticesB.push(c[m].multiplyVector3(f));this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y!==1&&(e=(1-(this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y))*0.5,this.geometry.skinWeights[b].x+=e,this.geometry.skinWeights[b].y+=e)}}};THREE.Ribbon=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c]};
+THREE.Ribbon.prototype=new THREE.Object3D;THREE.Ribbon.prototype.constructor=THREE.Ribbon;THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=new THREE.Object3D;THREE.LOD.prototype.constructor=THREE.LOD;THREE.LOD.prototype.supr=THREE.Object3D.prototype;THREE.LOD.prototype.add=function(b,c){c===void 0&&(c=0);for(var c=Math.abs(c),e=0;e<this.LODs.length;e++)if(c<this.LODs[e].visibleAtDistance)break;this.LODs.splice(e,0,{visibleAtDistance:c,object3D:b});this.addChild(b)};
+THREE.LOD.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;if(this.LODs.length>1){b=e.matrixWorldInverse;b=-(b.n31*this.position.x+b.n32*this.position.y+b.n33*this.position.z+b.n34);this.LODs[0].object3D.visible=!0;for(var f=1;f<this.LODs.length;f++)if(b>=this.LODs[f].visibleAtDistance)this.LODs[f-1].object3D.visible=!1,
+this.LODs[f].object3D.visible=!0;else break;for(;f<this.LODs.length;f++)this.LODs[f].object3D.visible=!1}for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};
+THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==void 0)this.material=b.material,this.map=void 0,this.blending=material.blending;else if(b.map!==void 0)this.map=b.map instanceof THREE.Texture?b.map:THREE.ImageUtils.loadTexture(b.map),this.material=void 0,this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.useScreenCoordinates=b.useScreenCoordinates!==void 0?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==void 0?b.mergeWith3D:!this.useScreenCoordinates;
+this.affectedByDistance=b.affectedByDistance!==void 0?b.affectedByDistance:!this.useScreenCoordinates;this.scaleByViewport=b.scaleByViewport!==void 0?b.scaleByViewport:!this.affectedByDistance;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.Sprite;
+THREE.Sprite.prototype.supr=THREE.Object3D.prototype;THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,this.scale.y);this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
+THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
+THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.collisions=this.overrideMaterial=this.fog=null;this.objects=[];this.lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
+THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1)this.objects.push(b),this.__objectsAdded.push(b);for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};
+THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else b instanceof THREE.Camera||(c=this.objects.indexOf(b),c!==-1&&(this.objects.splice(c,1),this.__objectsRemoved.push(b)));for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};THREE.Scene.prototype.addObject=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeObject=THREE.Scene.prototype.removeChild;
+THREE.Scene.prototype.addLight=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeLight=THREE.Scene.prototype.removeChild;THREE.Fog=function(b,c,e){this.color=new THREE.Color(b);this.near=c||1;this.far=e||1E3};THREE.FogExp2=function(b,c){this.color=new THREE.Color(b);this.density=c!==void 0?c:2.5E-4};
+THREE.DOMRenderer=function(){THREE.Renderer.call(this);var b=null,c=new THREE.Projector,e,f,h,m;this.domElement=document.createElement("div");this.setSize=function(b,c){e=b;f=c;h=e/2;m=f/2};this.render=function(e,f){var u,p,v,t,x,w,z,y;b=c.projectScene(e,f);u=0;for(p=b.length;u<p;u++)if(x=b[u],x instanceof THREE.RenderableParticle){z=x.x*h+h;y=x.y*m+m;v=0;for(t=x.material.length;v<t;v++)if(w=x.material[v],w instanceof THREE.ParticleDOMMaterial)w=w.domElement,w.style.left=z+"px",w.style.top=y+"px"}}};
+THREE.CanvasRenderer=function(b){function c(b){if(B!=b)w.globalAlpha=B=b}function e(b){if(D!=b){switch(b){case THREE.NormalBlending:w.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:w.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:w.globalCompositeOperation="darker"}D=b}}function f(b){if(G!=b)w.strokeStyle=G=b}function h(b){if(H!=b)w.fillStyle=H=b}var m=this,k=null,n=new THREE.Projector,b=b||{},u=b.canvas!==void 0?b.canvas:document.createElement("canvas"),
+p,v,t,x,w=u.getContext("2d"),z=new THREE.Color(0),y=0,B=1,D=0,G=null,H=null,E=null,N=null,F=null,I,C,K,U,L=new THREE.RenderableVertex,O=new THREE.RenderableVertex,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$=new THREE.Color(0),ca=new THREE.Color(0),X=new THREE.Color(0),ja=new THREE.Color(0),ea=new THREE.Color(0),qa=[],V,pa,va,ra,sa,Ca,wa,Aa,za,Fa,M=new THREE.Rectangle,Z=new THREE.Rectangle,T=new THREE.Rectangle,xa=!1,ha=new THREE.Color,ka=new THREE.Color,ya=new THREE.Color,ta=new THREE.Color,oa=new THREE.Vector3,
+Y,Ga,la,Ba,Va,Da,b=16;Y=document.createElement("canvas");Y.width=Y.height=2;Ga=Y.getContext("2d");Ga.fillStyle="rgba(0,0,0,1)";Ga.fillRect(0,0,2,2);la=Ga.getImageData(0,0,2,2);Ba=la.data;Va=document.createElement("canvas");Va.width=Va.height=b;Da=Va.getContext("2d");Da.translate(-b/2,-b/2);Da.scale(b,b);b--;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setSize=function(b,e){p=b;v=e;t=Math.floor(p/2);x=Math.floor(v/2);u.width=p;u.height=
+v;M.set(-t,-x,t,x);Z.set(-t,-x,t,x);B=1;D=0;F=N=E=H=G=null};this.setClearColor=function(b,e){z.copy(b);y=e;Z.set(-t,-x,t,x)};this.setClearColorHex=function(b,e){z.setHex(b);y=e;Z.set(-t,-x,t,x)};this.clear=function(){w.setTransform(1,0,0,-1,t,x);Z.isEmpty()||(Z.minSelf(M),Z.inflate(2),y<1&&w.clearRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight())),y>0&&(e(THREE.NormalBlending),c(1),h("rgba("+Math.floor(z.r*255)+","+Math.floor(z.g*255)+","+Math.floor(z.b*
+255)+","+y+")"),w.fillRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(b,u){function p(b){var e,c,f,k=b.lights;ka.setRGB(0,0,0);ya.setRGB(0,0,0);ta.setRGB(0,0,0);b=0;for(e=k.length;b<e;b++)c=k[b],f=c.color,c instanceof THREE.AmbientLight?(ka.r+=f.r,ka.g+=f.g,ka.b+=f.b):c instanceof THREE.DirectionalLight?(ya.r+=f.r,ya.g+=f.g,ya.b+=f.b):c instanceof THREE.PointLight&&(ta.r+=f.r,ta.g+=f.g,ta.b+=f.b)}function v(b,e,c,
+f){var k,h,m,o,n=b.lights,b=0;for(k=n.length;b<k;b++)h=n[b],m=h.color,h instanceof THREE.DirectionalLight?(o=c.dot(h.position),o<=0||(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)):h instanceof THREE.PointLight&&(o=c.dot(oa.sub(h.position,e).normalize()),o<=0||(o*=h.distance==0?1:1-Math.min(e.distanceTo(h.position)/h.distance,1),o!=0&&(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)))}function z(b,k,m){c(m.opacity);e(m.blending);var o,n,u,la,p,v;if(m instanceof THREE.ParticleBasicMaterial){if(m.map)la=
+m.map.image,p=la.width>>1,v=la.height>>1,m=k.scale.x*t,u=k.scale.y*x,o=m*p,n=u*v,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(m,-u),w.translate(-p,-v),w.drawImage(la,0,0),w.restore())}else m instanceof THREE.ParticleCanvasMaterial&&(o=k.scale.x*t,n=k.scale.y*x,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(f(m.color.getContextStyle()),h(m.color.getContextStyle()),w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(o,n),m.program(w),
+w.restore()))}function B(b,k,h,m){c(m.opacity);e(m.blending);w.beginPath();w.moveTo(b.positionScreen.x,b.positionScreen.y);w.lineTo(k.positionScreen.x,k.positionScreen.y);w.closePath();if(m instanceof THREE.LineBasicMaterial){b=m.linewidth;if(E!=b)w.lineWidth=E=b;b=m.linecap;if(N!=b)w.lineCap=N=b;b=m.linejoin;if(F!=b)w.lineJoin=F=b;f(m.color.getContextStyle());w.stroke();T.inflate(m.linewidth*2)}}function y(b,f,k,h,n,t,la,p,w){m.data.vertices+=3;m.data.faces++;c(p.opacity);e(p.blending);S=b.positionScreen.x;
+P=b.positionScreen.y;o=f.positionScreen.x;W=f.positionScreen.y;na=k.positionScreen.x;R=k.positionScreen.y;G(S,P,o,W,na,R);if(p instanceof THREE.MeshBasicMaterial)if(p.map)p.map.mapping instanceof THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map));else if(p.envMap){if(p.envMap.mapping instanceof THREE.SphericalReflectionMapping)b=u.matrixWorldInverse,oa.copy(la.vertexNormalsWorld[0]),sa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Ca=-(oa.x*b.n21+oa.y*
+b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[1]),wa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Aa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[2]),za=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Fa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,Ya(S,P,o,W,na,R,sa,Ca,wa,Aa,za,Fa,p.envMap)}else p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshLambertMaterial)p.map&&!p.wireframe&&(p.map.mapping instanceof
+THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map)),e(THREE.SubtractiveBlending)),xa?!p.wireframe&&p.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==3?(ca.r=X.r=ja.r=ka.r,ca.g=X.g=ja.g=ka.g,ca.b=X.b=ja.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ja),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,
+ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(p.color.r*ha.r,1)),$.g=Math.max(0,Math.min(p.color.g*ha.g,1)),$.b=Math.max(0,Math.min(p.color.b*ha.b,1)),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)):p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-
+Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(k.positionScreen.z,V,pa),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va);else if(p instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)}function D(b,f,k,h,n,p,la,t,w){m.data.vertices+=4;m.data.faces++;c(t.opacity);
+e(t.blending);if(t.map||t.envMap)y(b,f,h,0,1,3,la,t,w),y(n,k,p,1,2,3,la,t,w);else if(S=b.positionScreen.x,P=b.positionScreen.y,o=f.positionScreen.x,W=f.positionScreen.y,na=k.positionScreen.x,R=k.positionScreen.y,ia=h.positionScreen.x,aa=h.positionScreen.y,ma=n.positionScreen.x,fa=n.positionScreen.y,ga=p.positionScreen.x,da=p.positionScreen.y,t instanceof THREE.MeshBasicMaterial)H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color);else if(t instanceof
+THREE.MeshLambertMaterial)xa?!t.wireframe&&t.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==4?(ca.r=X.r=ja.r=ea.r=ka.r,ca.g=X.g=ja.g=ea.g=ka.g,ca.b=X.b=ja.b=ea.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v4.positionWorld,la.vertexNormalsWorld[3],ja),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ea),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,da,1,
+0,1,1,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(t.color.r*ha.r,1)),$.g=Math.max(0,Math.min(t.color.g*ha.g,1)),$.b=Math.max(0,Math.min(t.color.b*ha.b,1)),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($)):(H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color));else if(t instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),
+$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($);else if(t instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(h.positionScreen.z,V,pa),ea.r=ea.g=ea.b=1-Na(k.positionScreen.z,V,pa),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,
+da,1,0,1,1,0,1,va)}function G(b,e,c,f,k,h){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(b,e);w.closePath()}function H(b,e,c,f,k,h,m,o){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(m,o);w.lineTo(b,e);w.closePath()}function Ja(b,e,c,k){if(E!=e)w.lineWidth=E=e;if(N!=c)w.lineCap=N=c;if(F!=k)w.lineJoin=F=k;f(b.getContextStyle());w.stroke();T.inflate(e*2)}function Ka(b){h(b.getContextStyle());w.fill()}function Ya(b,e,c,f,k,m,o,n,t,p,la,u,v){if(v.image.width!=0){if(v.needsUpdate==
+!0||qa[v.id]==void 0){var x=v.wrapS==THREE.RepeatWrapping,Da=v.wrapT==THREE.RepeatWrapping;qa[v.id]=w.createPattern(v.image,x&&Da?"repeat":x&&!Da?"repeat-x":!x&&Da?"repeat-y":"no-repeat");v.needsUpdate=!1}h(qa[v.id]);var x=v.offset.x/v.repeat.x,Da=v.offset.y/v.repeat.y,M=(v.image.width-1)*v.repeat.x,v=(v.image.height-1)*v.repeat.y,o=(o+x)*M,n=(n+Da)*v,t=(t+x)*M,p=(p+Da)*v,la=(la+x)*M,u=(u+Da)*v;c-=b;f-=e;k-=b;m-=e;t-=o;p-=n;la-=o;u-=n;x=1/(t*u-la*p);v=(u*c-p*k)*x;p=(u*f-p*m)*x;c=(t*k-la*c)*x;f=(t*
+m-la*f)*x;b=b-v*o-c*n;e=e-p*o-f*n;w.save();w.transform(v,p,c,f,b,e);w.fill();w.restore()}}function Sa(b,e,c,f,k,h,m,o,n,t,p,la,u){var v,x;v=u.width-1;x=u.height-1;m*=v;o*=x;n*=v;t*=x;p*=v;la*=x;c-=b;f-=e;k-=b;h-=e;n-=m;t-=o;p-=m;la-=o;x=1/(n*la-p*t);v=(la*c-t*k)*x;t=(la*f-t*h)*x;c=(n*k-p*c)*x;f=(n*h-p*f)*x;b=b-v*m-c*o;e=e-t*m-f*o;w.save();w.transform(v,t,c,f,b,e);w.clip();w.drawImage(u,0,0);w.restore()}function Wa(b,e,c,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(e.r*255),o=~~(e.g*255),
+e=~~(e.b*255),n=~~(c.r*255),t=~~(c.g*255),c=~~(c.b*255),p=~~(f.r*255),u=~~(f.g*255),f=~~(f.b*255);Ba[0]=k<0?0:k>255?255:k;Ba[1]=h<0?0:h>255?255:h;Ba[2]=b<0?0:b>255?255:b;Ba[4]=m<0?0:m>255?255:m;Ba[5]=o<0?0:o>255?255:o;Ba[6]=e<0?0:e>255?255:e;Ba[8]=n<0?0:n>255?255:n;Ba[9]=t<0?0:t>255?255:t;Ba[10]=c<0?0:c>255?255:c;Ba[12]=p<0?0:p>255?255:p;Ba[13]=u<0?0:u>255?255:u;Ba[14]=f<0?0:f>255?255:f;Ga.putImageData(la,0,0);Da.drawImage(Y,0,0);return Va}function Na(b,e,c){b=(b-e)/(c-e);return b*b*(3-2*b)}function Ta(b){b=
+(b+1)*0.5;return b<0?0:b>1?1:b}function La(b,e){var c=e.x-b.x,f=e.y-b.y,k=c*c+f*f;k!=0&&(k=1/Math.sqrt(k),c*=k,f*=k,e.x+=c,e.y+=f,b.x-=c,b.y-=f)}var Xa,bb,ua,Ea,Ma,Ua,J,A;this.autoClear?this.clear():w.setTransform(1,0,0,-1,t,x);m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,u,this.sortElements);(xa=b.lights.length>0)&&p(b);Xa=0;for(bb=k.length;Xa<bb;Xa++){ua=k[Xa];T.empty();if(ua instanceof THREE.RenderableParticle){I=ua;I.x*=t;I.y*=x;Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],
+A.opacity!=0&&z(I,ua,A,b)}else if(ua instanceof THREE.RenderableLine){if(I=ua.v1,C=ua.v2,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],A.opacity!=0&&B(I,C,ua,A,b)}}else if(ua instanceof THREE.RenderableFace3){if(I=ua.v1,C=ua.v2,K=ua.v3,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=
+t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,K.positionScreen),La(K.positionScreen,I.positionScreen)),T.add3Points(I.positionScreen.x,I.positionScreen.y,C.positionScreen.x,C.positionScreen.y,K.positionScreen.x,K.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}else A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}}else if(ua instanceof THREE.RenderableFace4&&(I=ua.v1,C=ua.v2,K=ua.v3,U=ua.v4,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,U.positionScreen.x*=t,U.positionScreen.y*=x,L.positionScreen.copy(C.positionScreen),O.positionScreen.copy(U.positionScreen),ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,U.positionScreen),
+La(U.positionScreen,I.positionScreen),La(K.positionScreen,L.positionScreen),La(K.positionScreen,O.positionScreen)),T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),T.addPoint(K.positionScreen.x,K.positionScreen.y),T.addPoint(U.positionScreen.x,U.positionScreen.y),M.instersects(T))){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}else A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}Z.addRectangle(T)}w.setTransform(1,0,0,1,0,0)}};
+THREE.SVGRenderer=function(){function b(b,e,c){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.lights[f],h instanceof THREE.DirectionalLight?(m=e.normalWorld.dot(h.position)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m)):h instanceof THREE.PointLight&&(U.sub(h.position,e.centroidWorld),U.normalize(),m=e.normalWorld.dot(U)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m))}function c(e,c,k,o,n,t){m.data.vertices+=3;m.data.faces++;S=f(P++);S.setAttribute("d",
+"M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+"z");n instanceof THREE.MeshBasicMaterial?E.copy(n.color):n instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(t,o,N),E.r=Math.max(0,Math.min(n.color.r*N.r,1)),E.g=Math.max(0,Math.min(n.color.g*N.g,1)),E.b=Math.max(0,Math.min(n.color.b*N.b,1))):E.copy(n.color):n instanceof THREE.MeshDepthMaterial?(K=1-n.__2near/(n.__farPlusNear-o.z*n.__farMinusNear),
+E.setRGB(K,K,K)):n instanceof THREE.MeshNormalMaterial&&E.setRGB(h(o.normalWorld.x),h(o.normalWorld.y),h(o.normalWorld.z));n.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+n.wireframeLinewidth+"; stroke-opacity: "+n.opacity+"; stroke-linecap: "+n.wireframeLinecap+"; stroke-linejoin: "+n.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+n.opacity);u.appendChild(S)}function e(e,c,k,o,n,t,p){m.data.vertices+=4;m.data.faces++;
+S=f(P++);S.setAttribute("d","M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+" L "+o.positionScreen.x+","+o.positionScreen.y+"z");t instanceof THREE.MeshBasicMaterial?E.copy(t.color):t instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(p,n,N),E.r=Math.max(0,Math.min(t.color.r*N.r,1)),E.g=Math.max(0,Math.min(t.color.g*N.g,1)),E.b=Math.max(0,Math.min(t.color.b*N.b,1))):E.copy(t.color):t instanceof
+THREE.MeshDepthMaterial?(K=1-t.__2near/(t.__farPlusNear-n.z*t.__farMinusNear),E.setRGB(K,K,K)):t instanceof THREE.MeshNormalMaterial&&E.setRGB(h(n.normalWorld.x),h(n.normalWorld.y),h(n.normalWorld.z));t.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+t.wireframeLinewidth+"; stroke-opacity: "+t.opacity+"; stroke-linecap: "+t.wireframeLinecap+"; stroke-linejoin: "+t.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+
+t.opacity);u.appendChild(S)}function f(b){L[b]==null&&(L[b]=document.createElementNS("http://www.w3.org/2000/svg","path"),W==0&&L[b].setAttribute("shape-rendering","crispEdges"));return L[b]}function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}var m=this,k=null,n=new THREE.Projector,u=document.createElementNS("http://www.w3.org/2000/svg","svg"),p,v,t,x,w,z,y,B,D=new THREE.Rectangle,G=new THREE.Rectangle,H=!1,E=new THREE.Color(16777215),N=new THREE.Color(16777215),F=new THREE.Color(0),I=new THREE.Color(0),
+C=new THREE.Color(0),K,U=new THREE.Vector3,L=[],O=[],S,P,o,W=1;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setQuality=function(b){switch(b){case "high":W=1;break;case "low":W=0}};this.setSize=function(b,e){p=b;v=e;t=p/2;x=v/2;u.setAttribute("viewBox",-t+" "+-x+" "+p+" "+v);u.setAttribute("width",p);u.setAttribute("height",v);D.set(-t,-x,t,x)};this.clear=function(){for(;u.childNodes.length>0;)u.removeChild(u.childNodes[0])};this.render=
+function(b,f){var h,p,v,E,N,L,K,ca;this.autoClear&&this.clear();m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,f,this.sortElements);o=P=0;if(H=b.lights.length>0){K=b.lights;F.setRGB(0,0,0);I.setRGB(0,0,0);C.setRGB(0,0,0);h=0;for(p=K.length;h<p;h++)v=K[h],E=v.color,v instanceof THREE.AmbientLight?(F.r+=E.r,F.g+=E.g,F.b+=E.b):v instanceof THREE.DirectionalLight?(I.r+=E.r,I.g+=E.g,I.b+=E.b):v instanceof THREE.PointLight&&(C.r+=E.r,C.g+=E.g,C.b+=E.b)}h=0;for(p=k.length;h<p;h++)if(K=k[h],G.empty(),
+K instanceof THREE.RenderableParticle){w=K;w.x*=t;w.y*=-x;v=0;for(E=K.materials.length;v<E;)v++}else if(K instanceof THREE.RenderableLine){if(w=K.v1,z=K.v2,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),D.instersects(G)){v=0;for(E=K.materials.length;v<E;)if((ca=K.materials[v++])&&ca.opacity!=0){N=w;L=z;var X=o++;O[X]==null&&(O[X]=document.createElementNS("http://www.w3.org/2000/svg",
+"line"),W==0&&O[X].setAttribute("shape-rendering","crispEdges"));S=O[X];S.setAttribute("x1",N.positionScreen.x);S.setAttribute("y1",N.positionScreen.y);S.setAttribute("x2",L.positionScreen.x);S.setAttribute("y2",L.positionScreen.y);ca instanceof THREE.LineBasicMaterial&&(S.setAttribute("style","fill: none; stroke: "+ca.color.getContextStyle()+"; stroke-width: "+ca.linewidth+"; stroke-opacity: "+ca.opacity+"; stroke-linecap: "+ca.linecap+"; stroke-linejoin: "+ca.linejoin),u.appendChild(S))}}}else if(K instanceof
+THREE.RenderableFace3){if(w=K.v1,z=K.v2,y=K.v3,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),D.instersects(G)){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&
+ca.opacity!=0&&c(w,z,y,K,ca,b)}else ca&&ca.opacity!=0&&c(w,z,y,K,ca,b)}}else if(K instanceof THREE.RenderableFace4&&(w=K.v1,z=K.v2,y=K.v3,B=K.v4,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,B.positionScreen.x*=t,B.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),G.addPoint(B.positionScreen.x,
+B.positionScreen.y),D.instersects(G))){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}else ca&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}}};
+THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform int combine;\n#endif",
+envmap_fragment:"#ifdef USE_ENVMAP\nvec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = vec4( mix( gl_FragColor.xyz, cubeColor.xyz, reflectivity ), opacity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
+map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, gl_PointCoord );\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif",
+lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
+lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat pointLightWeighting = max( dot( transformedNormal, lVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef PHONG\nvPointLight[ i ] = vec4( lVector, lDistance );\n#endif\n}\n#endif\n}",
+lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mColor = vec4( diffuse, opacity );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 pointSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight * pointDistance;\npointSpecular += mSpecular * pointSpecularWeight * pointDistance;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 dirSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\nvColor = color;\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n#endif",skinning_vertex:"#ifdef USE_SKINNING\ngl_Position = ( boneGlobalMatrices[ int( skinIndex.x ) ] * skinVertexA ) * skinWeight.x;\ngl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;\ngl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;\n#endif",
+morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\nuniform float morphTargetInfluences[ 8 ];\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0, 0.0, 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif",
+default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform float shadowDarkness;\nuniform float shadowBias;\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",
+shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_SOFT\nconst float xPixelOffset = 1.0 / SHADOWMAP_WIDTH;\nconst float yPixelOffset = 1.0 / SHADOWMAP_HEIGHT;\n#endif\nvec4 shadowColor = vec4( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nif ( shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0 ) {\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nfor ( float y = -1.25; y <= 1.25; y += 1.25 )\nfor ( float x = -1.25; x <= 1.25; x += 1.25 ) {\nvec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadow += 1.0;\n}\nshadow /= 9.0;\nshadowColor = shadowColor * vec4( vec3( ( 1.0 - shadowDarkness * shadow ) ), 1.0 );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadowColor = shadowColor * vec4( vec3( shadowDarkness ), 1.0 );\n#endif\n}\n}\ngl_FragColor = gl_FragColor * shadowColor;\n#endif",
+shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif"};
+THREE.UniformsUtils={merge:function(b){var c,e,f,h={};for(c=0;c<b.length;c++)for(e in f=this.clone(b[c]),f)h[e]=f[e];return h},clone:function(b){var c,e,f,h={};for(c in b)for(e in h[c]={},b[c])f=b[c][e],h[c][e]=f instanceof THREE.Color||f instanceof THREE.Vector2||f instanceof THREE.Vector3||f instanceof THREE.Vector4||f instanceof THREE.Matrix4||f instanceof THREE.Texture?f.clone():f instanceof Array?f.slice():f;return h}};
+THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:2,texture:null},envMap:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",
+value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",value:1},scale:{type:"f",
+value:1},map:{type:"t",value:0,texture:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:3,texture:[]},shadowMatrix:{type:"m4v",value:[]},shadowBias:{type:"f",value:0.0039},shadowDarkness:{type:"f",value:0.2}}};
+THREE.ShaderLib={lensFlareVertexTexture:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = ( visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n( visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * vVisibility;\ngl_FragColor = color;\n}\n}"},
+lensFlare:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * visibility;\ngl_FragColor = color;\n}\n}"},
+sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int affectedByDistance;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( affectedByDistance == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
+fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity;\ngl_FragColor = color;\n}"},shadowPost:{vertexShader:"uniform \tmat4 \tprojectionMatrix;\nattribute \tvec3 \tposition;\nvoid main() {\ngl_Position = projectionMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform \tfloat \tdarkness;\nvoid main() {\ngl_FragColor = vec4( 0, 0, 0, darkness );\n}"},
+shadowVolumeDynamic:{uniforms:{directionalLightDirection:{type:"fv",value:[]}},vertexShader:"uniform \tvec3 \tdirectionalLightDirection;\nvoid main() {\nvec4 pos = objectMatrix * vec4( position, 1.0 );\nvec3 norm = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nvec4 extruded = vec4( directionalLightDirection * 5000.0 * step( 0.0, dot( directionalLightDirection, norm ) ), 0.0 );\ngl_Position = projectionMatrix * viewMatrix * ( pos + extruded );\n}",
+fragmentShader:"void main() {\ngl_FragColor = vec4( 1.0 );\n}"},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}",vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},
+normal:{uniforms:{opacity:{type:"f",value:1}},fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}",vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),
+fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,
+THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
+THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,"gl_FragColor = gl_FragColor * vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,
+"}"].join("\n"),vertexShader:["varying vec3 vLightWeighting;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(328965)},
+specular:{type:"c",value:new THREE.Color(1118481)},shininess:{type:"f",value:30}}]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lights_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,
+THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = -mvPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
+THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
+THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},depthRGBA:{uniforms:{},fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}",vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,
+"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n")}};
+THREE.WebGLRenderer=function(b){function c(b,e,c){var f,k,h,m=b.vertices,n=m.length,t=b.colors,p=t.length,u=b.__vertexArray,v=b.__colorArray,w=b.__sortArray,x=b.__dirtyVertices,M=b.__dirtyColors,T=b.__webglCustomAttributes,z,y;if(T)for(z in T)T[z].offset=0;if(c.sortParticles){pa.multiplySelf(c.matrixWorld);for(f=0;f<n;f++)k=m[f].position,sa.copy(k),pa.multiplyVector3(sa),w[f]=[sa.z,f];w.sort(function(b,e){return e[0]-b[0]});for(f=0;f<n;f++)k=m[w[f][1]].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;
+for(f=0;f<p;f++)h=f*3,color=t[w[f][1]],v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T){f=T[z];t=f.value.length;for(h=0;h<t;h++){index=w[h][1];p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[index]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[index];f.size===2?(f.array[p]=y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=
+y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}else{if(x)for(f=0;f<n;f++)k=m[f].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;if(M)for(f=0;f<p;f++)color=t[f],h=f*3,v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T)if(f=T[z],f.__original.needsUpdate){t=f.value.length;for(h=0;h<t;h++){p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[h]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[h];f.size===2?(f.array[p]=
+y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}if(x||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,u,e);if(M||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,v,e);if(T)for(z in T)if(f=T[z],f.__original.needsUpdate||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,
+f.buffer),o.bufferData(o.ARRAY_BUFFER,f.array,e)}function e(b,e,c,f,h){f.program||P.initMaterial(f,e,c,h);if(f.morphTargets&&!h.__webglMorphTargetInfluences){h.__webglMorphTargetInfluences=new Float32Array(P.maxMorphTargets);for(var k=0,m=P.maxMorphTargets;k<m;k++)h.__webglMorphTargetInfluences[k]=0}var k=f.program,m=k.uniforms,n=f.uniforms;k!=na&&(o.useProgram(k),na=k);o.uniformMatrix4fv(m.projectionMatrix,!1,va);if(c&&(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||
+f instanceof THREE.MeshPhongMaterial||f instanceof THREE.LineBasicMaterial||f instanceof THREE.ParticleBasicMaterial||f.fog))if(n.fogColor.value=c.color,c instanceof THREE.Fog)n.fogNear.value=c.near,n.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)n.fogDensity.value=c.density;if(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f.lights){var p,t,u,v=0,w=0,x=0,M,T,z,y=Ca,B=y.directional.colors,Z=y.directional.positions,D=y.point.colors,G=y.point.positions,H=y.point.distances,
+E=0,V=0,c=t=z=0;for(p=e.length;c<p;c++)if(t=e[c],u=t.color,M=t.position,T=t.intensity,z=t.distance,t instanceof THREE.AmbientLight)v+=u.r,w+=u.g,x+=u.b;else if(t instanceof THREE.DirectionalLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,Z[z]=M.x,Z[z+1]=M.y,Z[z+2]=M.z,E+=1;else if(t instanceof THREE.SpotLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,u=1/M.length(),Z[z]=M.x*u,Z[z+1]=M.y*u,Z[z+2]=M.z*u,E+=1;else if(t instanceof THREE.PointLight)t=V*3,D[t]=u.r*T,D[t+1]=u.g*T,D[t+2]=u.b*T,G[t]=M.x,
+G[t+1]=M.y,G[t+2]=M.z,H[V]=z,V+=1;for(c=E*3;c<B.length;c++)B[c]=0;for(c=V*3;c<D.length;c++)D[c]=0;y.point.length=V;y.directional.length=E;y.ambient[0]=v;y.ambient[1]=w;y.ambient[2]=x;e=Ca;n.enableLighting.value=e.directional.length+e.point.length;n.ambientLightColor.value=e.ambient;n.directionalLightColor.value=e.directional.colors;n.directionalLightDirection.value=e.directional.positions;n.pointLightColor.value=e.point.colors;n.pointLightPosition.value=e.point.positions;n.pointLightDistance.value=
+e.point.distances}if(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshPhongMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity,(n.map.texture=f.map)&&n.offsetRepeat.value.set(f.map.offset.x,f.map.offset.y,f.map.repeat.x,f.map.repeat.y),n.lightMap.texture=f.lightMap,n.envMap.texture=f.envMap,n.reflectivity.value=f.reflectivity,n.refractionRatio.value=f.refractionRatio,n.combine.value=f.combine,n.useRefract.value=f.envMap&&f.envMap.mapping instanceof
+THREE.CubeRefractionMapping;if(f instanceof THREE.LineBasicMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity;else if(f instanceof THREE.ParticleBasicMaterial)n.psColor.value=f.color,n.opacity.value=f.opacity,n.size.value=f.size,n.scale.value=wa.height/2,n.map.texture=f.map;else if(f instanceof THREE.MeshPhongMaterial)n.ambient.value=f.ambient,n.specular.value=f.specular,n.shininess.value=f.shininess;else if(f instanceof THREE.MeshDepthMaterial)n.mNear.value=b.near,n.mFar.value=b.far,n.opacity.value=
+f.opacity;else if(f instanceof THREE.MeshNormalMaterial)n.opacity.value=f.opacity;if(h.receiveShadow&&!f._shadowPass&&n.shadowMatrix){for(e=0;e<xa.length;e++)n.shadowMatrix.value[e]=xa[e],n.shadowMap.texture[e]=P.shadowMap[e];n.shadowDarkness.value=P.shadowMapDarkness;n.shadowBias.value=P.shadowMapBias}for(var ka in n)if(p=k.uniforms[ka])if(c=n[ka],v=c.type,e=c.value,v=="i")o.uniform1i(p,e);else if(v=="f")o.uniform1f(p,e);else if(v=="v2")o.uniform2f(p,e.x,e.y);else if(v=="v3")o.uniform3f(p,e.x,e.y,
+e.z);else if(v=="v4")o.uniform4f(p,e.x,e.y,e.z,e.w);else if(v=="c")o.uniform3f(p,e.r,e.g,e.b);else if(v=="fv1")o.uniform1fv(p,e);else if(v=="fv")o.uniform3fv(p,e);else if(v=="v3v"){if(!c._array)c._array=new Float32Array(3*e.length);v=0;for(w=e.length;v<w;v++)x=v*3,c._array[x]=e[v].x,c._array[x+1]=e[v].y,c._array[x+2]=e[v].z;o.uniform3fv(p,c._array)}else if(v=="m4"){if(!c._array)c._array=new Float32Array(16);e.flattenToArray(c._array);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="m4v"){if(!c._array)c._array=
+new Float32Array(16*e.length);v=0;for(w=e.length;v<w;v++)e[v].flattenToArrayOffset(c._array,v*16);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="t"){if(o.uniform1i(p,e),p=c.texture)if(p.image instanceof Array&&p.image.length==6){if(c=p,c.image.length==6)if(c.needsUpdate){if(!c.image.__webglTextureCube)c.image.__webglTextureCube=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);for(e=0;e<6;e++)o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,
+o.RGBA,o.RGBA,o.UNSIGNED_BYTE,c.image[e]);I(o.TEXTURE_CUBE_MAP,c,c.image[0]);c.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else p instanceof THREE.WebGLRenderTargetCube?(c=p,o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.__webglTexture)):C(p,e)}else if(v=="tv"){if(!c._array){c._array=[];v=0;for(w=c.texture.length;v<w;v++)c._array[v]=e+v}o.uniform1iv(p,c._array);v=0;for(w=c.texture.length;v<w;v++)(p=c.texture[v])&&
+C(p,c._array[v])}o.uniformMatrix4fv(m.modelViewMatrix,!1,h._modelViewMatrixArray);m.normalMatrix&&o.uniformMatrix3fv(m.normalMatrix,!1,h._normalMatrixArray);(f instanceof THREE.MeshShaderMaterial||f instanceof THREE.MeshPhongMaterial||f.envMap)&&m.cameraPosition!==null&&o.uniform3f(m.cameraPosition,b.position.x,b.position.y,b.position.z);(f instanceof THREE.MeshShaderMaterial||f.envMap||f.skinning||h.receiveShadow)&&m.objectMatrix!==null&&o.uniformMatrix4fv(m.objectMatrix,!1,h._objectMatrixArray);
+(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshShaderMaterial||f.skinning)&&m.viewMatrix!==null&&o.uniformMatrix4fv(m.viewMatrix,!1,ra);f.skinning&&(o.uniformMatrix4fv(m.cameraInverseMatrix,!1,ra),o.uniformMatrix4fv(m.boneGlobalMatrices,!1,h.boneMatrices));return k}function f(b,c,f,h,k,m){if(h.opacity!=0){var n,b=e(b,c,f,h,m).attributes;if(!h.morphTargets&&b.position>=0)o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(b.position,
+3,o.FLOAT,!1,0,0);else if(m.morphTargetBase){c=h.program.attributes;m.morphTargetBase!==-1?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[m.morphTargetBase]),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0)):c.position>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0));if(m.morphTargetForcedOrder.length)for(var f=0,p=m.morphTargetForcedOrder,t=m.morphTargetInfluences;f<h.numSupportedMorphTargets&&f<p.length;)o.bindBuffer(o.ARRAY_BUFFER,
+k.__webglMorphTargetsBuffers[p[f]]),o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0),m.__webglMorphTargetInfluences[f]=t[p[f]],f++;else{var p=[],u=-1,v=0,t=m.morphTargetInfluences,w,x=t.length,f=0;for(m.morphTargetBase!==-1&&(p[m.morphTargetBase]=!0);f<h.numSupportedMorphTargets;){for(w=0;w<x;w++)!p[w]&&t[w]>u&&(v=w,u=t[v]);o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[v]);o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0);m.__webglMorphTargetInfluences[f]=u;p[v]=1;u=
+-1;f++}}h.program.uniforms.morphTargetInfluences!==null&&o.uniform1fv(h.program.uniforms.morphTargetInfluences,m.__webglMorphTargetInfluences)}if(k.__webglCustomAttributes)for(n in k.__webglCustomAttributes)b[n]>=0&&(c=k.__webglCustomAttributes[n],o.bindBuffer(o.ARRAY_BUFFER,c.buffer),o.vertexAttribPointer(b[n],c.size,o.FLOAT,!1,0,0));b.color>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer),o.vertexAttribPointer(b.color,3,o.FLOAT,!1,0,0));b.normal>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglNormalBuffer),
+o.vertexAttribPointer(b.normal,3,o.FLOAT,!1,0,0));b.tangent>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglTangentBuffer),o.vertexAttribPointer(b.tangent,4,o.FLOAT,!1,0,0));b.uv>=0&&(k.__webglUVBuffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUVBuffer),o.vertexAttribPointer(b.uv,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv)):o.disableVertexAttribArray(b.uv));b.uv2>=0&&(k.__webglUV2Buffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUV2Buffer),o.vertexAttribPointer(b.uv2,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv2)):
+o.disableVertexAttribArray(b.uv2));h.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexABuffer),o.vertexAttribPointer(b.skinVertexA,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexBBuffer),o.vertexAttribPointer(b.skinVertexB,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinIndicesBuffer),o.vertexAttribPointer(b.skinIndex,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinWeightsBuffer),
+o.vertexAttribPointer(b.skinWeight,4,o.FLOAT,!1,0,0));m instanceof THREE.Mesh?(h.wireframe?(o.lineWidth(h.wireframeLinewidth),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglLineBuffer),o.drawElements(o.LINES,k.__webglLineCount,o.UNSIGNED_SHORT,0)):(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglFaceBuffer),o.drawElements(o.TRIANGLES,k.__webglFaceCount,o.UNSIGNED_SHORT,0)),P.data.vertices+=k.__webglFaceCount,P.data.faces+=k.__webglFaceCount/3,P.data.drawCalls++):m instanceof THREE.Line?(m=m.type==THREE.LineStrip?
+o.LINE_STRIP:o.LINES,o.lineWidth(h.linewidth),o.drawArrays(m,0,k.__webglLineCount),P.data.drawCalls++):m instanceof THREE.ParticleSystem?(o.drawArrays(o.POINTS,0,k.__webglParticleCount),P.data.drawCalls++):m instanceof THREE.Ribbon&&(o.drawArrays(o.TRIANGLE_STRIP,0,k.__webglVertexCount),P.data.drawCalls++)}}function h(b,e,c){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.createBuffer();if(!b.__webglNormalBuffer)b.__webglNormalBuffer=o.createBuffer();b.hasPos&&(o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),
+o.bufferData(o.ARRAY_BUFFER,b.positionArray,o.DYNAMIC_DRAW),o.enableVertexAttribArray(e.attributes.position),o.vertexAttribPointer(e.attributes.position,3,o.FLOAT,!1,0,0));if(b.hasNormal){o.bindBuffer(o.ARRAY_BUFFER,b.__webglNormalBuffer);if(c==THREE.FlatShading){var f,k,h,m,n,p,t,u,v,w,x=b.count*3;for(w=0;w<x;w+=9)c=b.normalArray,f=c[w],k=c[w+1],h=c[w+2],m=c[w+3],p=c[w+4],u=c[w+5],n=c[w+6],t=c[w+7],v=c[w+8],f=(f+m+n)/3,k=(k+p+t)/3,h=(h+u+v)/3,c[w]=f,c[w+1]=k,c[w+2]=h,c[w+3]=f,c[w+4]=k,c[w+5]=h,c[w+
+6]=f,c[w+7]=k,c[w+8]=h}o.bufferData(o.ARRAY_BUFFER,b.normalArray,o.DYNAMIC_DRAW);o.enableVertexAttribArray(e.attributes.normal);o.vertexAttribPointer(e.attributes.normal,3,o.FLOAT,!1,0,0)}o.drawArrays(o.TRIANGLES,0,b.count);b.count=0}function m(b){if(aa!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):o.enable(o.CULL_FACE),aa=b.doubleSided;if(ma!=b.flipSided)b.flipSided?o.frontFace(o.CW):o.frontFace(o.CCW),ma=b.flipSided}function k(b){ga!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),ga=
+b)}function n(b,e,c){da!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o.POLYGON_OFFSET_FILL),da=b);if(b&&($!=e||ca!=c))o.polygonOffset(e,c),$=e,ca=c}function u(b){V[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-b.n14);V[1].set(b.n41+b.n11,b.n42+b.n12,b.n43+b.n13,b.n44+b.n14);V[2].set(b.n41+b.n21,b.n42+b.n22,b.n43+b.n23,b.n44+b.n24);V[3].set(b.n41-b.n21,b.n42-b.n22,b.n43-b.n23,b.n44-b.n24);V[4].set(b.n41-b.n31,b.n42-b.n32,b.n43-b.n33,b.n44-b.n34);V[5].set(b.n41+b.n31,b.n42+b.n32,b.n43+b.n33,
+b.n44+b.n34);for(var e,b=0;b<6;b++)e=V[b],e.divideScalar(Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z))}function p(b){for(var e=b.matrixWorld,c=-b.geometry.boundingSphere.radius*Math.max(b.scale.x,Math.max(b.scale.y,b.scale.z)),f=0;f<6;f++)if(b=V[f].x*e.n14+V[f].y*e.n24+V[f].z*e.n34+V[f].w,b<=c)return!1;return!0}function v(b,e){b.list[b.count]=e;b.count+=1}function t(b){var e,c,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=k.count=0;for(e=f.materials.length;b<e;b++)c=f.materials[b],c.transparent?v(h,c):
+v(k,c)}function x(b){var e,c,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transparent;o.count=0;b=n.count=0;for(f=h.materials.length;b<f;b++)if(e=h.materials[b],e instanceof THREE.MeshFaceMaterial){e=0;for(c=m.materials.length;e<c;e++)(k=m.materials[e])&&(k.transparent?v(o,k):v(n,k))}else(k=e)&&(k.transparent?v(o,k):v(n,k))}function w(b,e){return e.z-b.z}function z(b,c){var n,t,v,w=0,x,z,y,D,G=b.lights;T||(T=new THREE.Camera(P.shadowCameraFov,c.aspect,P.shadowCameraNear,P.shadowCameraFar));n=0;for(t=
+G.length;n<t;n++)if(v=G[n],v instanceof THREE.SpotLight&&v.castShadow){P.shadowMap[w]||(P.shadowMap[w]=new THREE.WebGLRenderTarget(P.shadowMapWidth,P.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}));xa[w]||(xa[w]=new THREE.Matrix4);x=P.shadowMap[w];z=xa[w];T.position.copy(v.position);T.target.position.copy(v.target.position);T.update(void 0,!0);b.update(void 0,!1,T);z.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);z.multiplySelf(T.projectionMatrix);
+z.multiplySelf(T.matrixWorldInverse);T.matrixWorldInverse.flattenToArray(ra);T.projectionMatrix.flattenToArray(va);pa.multiply(T.projectionMatrix,T.matrixWorldInverse);u(pa);P.initWebGLObjects(b);K(x);o.clearColor(1,1,1,1);P.clear();o.clearColor(M.r,M.g,M.b,Z);z=b.__webglObjects.length;v=b.__webglObjectsImmediate.length;for(x=0;x<z;x++)y=b.__webglObjects[x],D=y.object,D.visible&&D.castShadow?!(D instanceof THREE.Mesh)||!D.frustumCulled||p(D)?(D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,
+T,!1),y.render=!0):y.render=!1:y.render=!1;k(!0);F(THREE.NormalBlending);for(x=0;x<z;x++)if(y=b.__webglObjects[x],y.render)D=y.object,buffer=y.buffer,m(D),y=D.customDepthMaterial?D.customDepthMaterial:D.geometry.morphTargets.length?ya:ka,f(T,G,null,y,buffer,D);for(x=0;x<v;x++)y=b.__webglObjectsImmediate[x],D=y.object,D.visible&&D.castShadow&&(D.matrixAutoUpdate&&D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,T,!1),m(D),program=e(T,G,null,ka,D),D.render(function(b){h(b,program,ka.shading)}));
+w++}}function y(b,e){var c,f,k;c=Y.attributes;var h=Y.uniforms,m=qa/ea,n,p=[],t=ea*0.5,u=qa*0.5,v=!0;o.useProgram(Y.program);na=Y.program;ga=fa=-1;Ga||(o.enableVertexAttribArray(Y.attributes.position),o.enableVertexAttribArray(Y.attributes.uv),Ga=!0);o.disable(o.CULL_FACE);o.enable(o.BLEND);o.depthMask(!0);o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.vertexAttribPointer(c.position,2,o.FLOAT,!1,16,0);o.vertexAttribPointer(c.uv,2,o.FLOAT,!1,16,8);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);
+o.uniformMatrix4fv(h.projectionMatrix,!1,va);o.activeTexture(o.TEXTURE0);o.uniform1i(h.map,0);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.useScreenCoordinates?k.z=-k.position.z:(k._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,k.matrixWorld,k._modelViewMatrixArray),k.z=-k._modelViewMatrix.n34);b.__webglSprites.sort(w);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.material===void 0&&k.map&&k.map.image&&k.map.image.width&&(k.useScreenCoordinates?(o.uniform1i(h.useScreenCoordinates,
+1),o.uniform3f(h.screenPosition,(k.position.x-t)/t,(u-k.position.y)/u,Math.max(0,Math.min(1,k.position.z)))):(o.uniform1i(h.useScreenCoordinates,0),o.uniform1i(h.affectedByDistance,k.affectedByDistance?1:0),o.uniformMatrix4fv(h.modelViewMatrix,!1,k._modelViewMatrixArray)),n=k.map.image.width/(k.scaleByViewport?qa:1),p[0]=n*m*k.scale.x,p[1]=n*k.scale.y,o.uniform2f(h.uvScale,k.uvScale.x,k.uvScale.y),o.uniform2f(h.uvOffset,k.uvOffset.x,k.uvOffset.y),o.uniform2f(h.alignment,k.alignment.x,k.alignment.y),
+o.uniform1f(h.opacity,k.opacity),o.uniform1f(h.rotation,k.rotation),o.uniform2fv(h.scale,p),k.mergeWith3D&&!v?(o.enable(o.DEPTH_TEST),v=!0):!k.mergeWith3D&&v&&(o.disable(o.DEPTH_TEST),v=!1),F(k.blending),C(k.map,0),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));o.enable(o.CULL_FACE);o.enable(o.DEPTH_TEST);o.depthMask(ia)}function B(b,e,c){b._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,b.matrixWorld,b._modelViewMatrixArray);c&&THREE.Matrix4.makeInvert3x3(b._modelViewMatrix).transposeIntoArray(b._normalMatrixArray)}
+function D(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)if(f.attributes[e].needsUpdate)return!0;return!1}function G(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)f.attributes[e].needsUpdate=!1}function H(b,e){var c;for(c=b.length-1;c>=0;c--)b[c].object==e&&b.splice(c,1)}function E(b){function e(b){var k=[];c=0;for(f=b.length;c<f;c++)b[c]==void 0?k.push("undefined"):k.push(b[c].id);return k.join("_")}
+var c,f,k,h,m,n,o,p,t={},u=b.morphTargets!==void 0?b.morphTargets.length:0;b.geometryGroups={};k=0;for(h=b.faces.length;k<h;k++)m=b.faces[k],n=m.materials,o=e(n),t[o]==void 0&&(t[o]={hash:o,counter:0}),p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],materials:n,vertices:0,numMorphTargets:u}),m=m instanceof THREE.Face3?3:4,b.geometryGroups[p].vertices+m>65535&&(t[o].counter+=1,p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],
+materials:n,vertices:0,numMorphTargets:u})),b.geometryGroups[p].faces.push(k),b.geometryGroups[p].vertices+=m;b.geometryGroupsList=[];for(var v in b.geometryGroups)b.geometryGroupsList.push(b.geometryGroups[v])}function N(b,e,c){b.push({buffer:e,object:c,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function F(b){if(b!=fa){switch(b){case THREE.AdditiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE);break;case THREE.SubtractiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,
+o.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,o.SRC_COLOR);break;default:o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}fa=b}}function I(b,e,c){(c.width&c.width-1)==0&&(c.height&c.height-1)==0?(o.texParameteri(b,o.TEXTURE_WRAP_S,S(e.wrapS)),o.texParameteri(b,o.TEXTURE_WRAP_T,S(e.wrapT)),o.texParameteri(b,o.TEXTURE_MAG_FILTER,S(e.magFilter)),o.texParameteri(b,
+o.TEXTURE_MIN_FILTER,S(e.minFilter)),o.generateMipmap(b)):(o.texParameteri(b,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_MAG_FILTER,O(e.magFilter)),o.texParameteri(b,o.TEXTURE_MIN_FILTER,O(e.minFilter)))}function C(b,e){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b.__webglTexture=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_2D,b.__webglTexture);b instanceof THREE.DataTexture?o.texImage2D(o.TEXTURE_2D,
+0,S(b.format),b.image.width,b.image.height,0,S(b.format),o.UNSIGNED_BYTE,b.image.data):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,b.image);I(o.TEXTURE_2D,b,b.image);b.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_2D,b.__webglTexture)}function K(b){var e=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.depthBuffer=!0;if(b.stencilBuffer===void 0)b.stencilBuffer=!0;b.__webglRenderbuffer=o.createRenderbuffer();
+b.__webglTexture=o.createTexture();if(e){o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture);I(o.TEXTURE_CUBE_MAP,b,b);b.__webglFramebuffer=[];for(var c=0;c<6;c++)b.__webglFramebuffer[c]=o.createFramebuffer(),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),null)}else b.__webglFramebuffer=o.createFramebuffer(),o.bindTexture(o.TEXTURE_2D,b.__webglTexture),I(o.TEXTURE_2D,b,b),o.texImage2D(o.TEXTURE_2D,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),
+null);o.bindRenderbuffer(o.RENDERBUFFER,b.__webglRenderbuffer);if(e)for(c=0;c<6;++c)o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer[c]),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+c,b.__webglTexture,0);else o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,b.__webglTexture,0);b.depthBuffer&&!b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,b.width,b.height),
+o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):b.depthBuffer&&b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,b.width,b.height),o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_STENCIL_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,b.width,b.height);e?o.bindTexture(o.TEXTURE_CUBE_MAP,null):o.bindTexture(o.TEXTURE_2D,null);o.bindRenderbuffer(o.RENDERBUFFER,null);o.bindFramebuffer(o.FRAMEBUFFER,
+null)}var f,k;b?(e=e?b.__webglFramebuffer[b.activeCubeFace]:b.__webglFramebuffer,c=b.width,b=b.height,k=f=0):(e=null,c=ea,b=qa,f=X,k=ja);e!=R&&(o.bindFramebuffer(o.FRAMEBUFFER,e),o.viewport(f,k,c,b),R=e)}function U(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture),o.generateMipmap(o.TEXTURE_CUBE_MAP),o.bindTexture(o.TEXTURE_CUBE_MAP,null)):(o.bindTexture(o.TEXTURE_2D,b.__webglTexture),o.generateMipmap(o.TEXTURE_2D),o.bindTexture(o.TEXTURE_2D,null))}function L(b,
+e){var c;b=="fragment"?c=o.createShader(o.FRAGMENT_SHADER):b=="vertex"&&(c=o.createShader(o.VERTEX_SHADER));o.shaderSource(c,e);o.compileShader(c);if(!o.getShaderParameter(c,o.COMPILE_STATUS))return console.error(o.getShaderInfoLog(c)),console.error(e),null;return c}function O(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return o.NEAREST;default:return o.LINEAR}}function S(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;case THREE.ClampToEdgeWrapping:return o.CLAMP_TO_EDGE;
+case THREE.MirroredRepeatWrapping:return o.MIRRORED_REPEAT;case THREE.NearestFilter:return o.NEAREST;case THREE.NearestMipMapNearestFilter:return o.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return o.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return o.LINEAR;case THREE.LinearMipMapNearestFilter:return o.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return o.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return o.BYTE;case THREE.UnsignedByteType:return o.UNSIGNED_BYTE;case THREE.ShortType:return o.SHORT;
+case THREE.UnsignedShortType:return o.UNSIGNED_SHORT;case THREE.IntType:return o.INT;case THREE.UnsignedShortType:return o.UNSIGNED_INT;case THREE.FloatType:return o.FLOAT;case THREE.AlphaFormat:return o.ALPHA;case THREE.RGBFormat:return o.RGB;case THREE.RGBAFormat:return o.RGBA;case THREE.LuminanceFormat:return o.LUMINANCE;case THREE.LuminanceAlphaFormat:return o.LUMINANCE_ALPHA}return 0}var P=this,o,W=[],na=null,R=null,ia=!0,aa=null,ma=null,fa=null,ga=null,da=null,$=null,ca=null,X=0,ja=0,ea=0,qa=
+0,V=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],pa=new THREE.Matrix4,va=new Float32Array(16),ra=new Float32Array(16),sa=new THREE.Vector4,Ca={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]}},b=b||{},wa=b.canvas!==void 0?b.canvas:document.createElement("canvas"),Aa=b.stencil!==void 0?b.stencil:!0,za=b.preserveDrawingBuffer!==void 0?b.preserveDrawingBuffer:!1,Fa=b.antialias!==
+void 0?b.antialias:!1,M=b.clearColor!==void 0?new THREE.Color(b.clearColor):new THREE.Color(0),Z=b.clearAlpha!==void 0?b.clearAlpha:0;_maxLights=b.maxLights!==void 0?b.maxLights:4;this.data={vertices:0,faces:0,drawCalls:0};this.maxMorphTargets=8;this.domElement=wa;this.sortObjects=this.autoClear=!0;this.shadowMapBias=0.0039;this.shadowMapDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCameraNear=1;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowMap=[];this.shadowMapEnabled=
+!1;this.shadowMapSoft=!0;var T,xa=[],b=THREE.ShaderLib.depthRGBA,ha=THREE.UniformsUtils.clone(b.uniforms),ka=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha}),ya=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha,morphTargets:!0});ka._shadowPass=!0;ya._shadowPass=!0;try{if(!(o=wa.getContext("experimental-webgl",{antialias:Fa,stencil:Aa,preserveDrawingBuffer:za})))throw"Error creating WebGL context.";
+console.log(navigator.userAgent+" | "+o.getParameter(o.VERSION)+" | "+o.getParameter(o.VENDOR)+" | "+o.getParameter(o.RENDERER)+" | "+o.getParameter(o.SHADING_LANGUAGE_VERSION))}catch(ta){console.error(ta)}o.clearColor(0,0,0,1);o.clearDepth(1);o.clearStencil(0);o.enable(o.DEPTH_TEST);o.depthFunc(o.LEQUAL);o.frontFace(o.CCW);o.cullFace(o.BACK);o.enable(o.CULL_FACE);o.enable(o.BLEND);o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA);o.clearColor(M.r,M.g,M.b,Z);this.context=
+o;var oa=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,Y={};Y.vertices=new Float32Array(16);Y.faces=new Uint16Array(6);i=0;Y.vertices[i++]=-1;Y.vertices[i++]=-1;Y.vertices[i++]=0;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=0;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=0;i=Y.vertices[i++]=0;Y.faces[i++]=0;Y.faces[i++]=1;Y.faces[i++]=2;Y.faces[i++]=0;Y.faces[i++]=2;Y.faces[i++]=
+3;Y.vertexBuffer=o.createBuffer();Y.elementBuffer=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.bufferData(o.ARRAY_BUFFER,Y.vertices,o.STATIC_DRAW);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);o.bufferData(o.ELEMENT_ARRAY_BUFFER,Y.faces,o.STATIC_DRAW);Y.program=o.createProgram();o.attachShader(Y.program,L("fragment",THREE.ShaderLib.sprite.fragmentShader));o.attachShader(Y.program,L("vertex",THREE.ShaderLib.sprite.vertexShader));o.linkProgram(Y.program);Y.attributes={};Y.uniforms=
+{};Y.attributes.position=o.getAttribLocation(Y.program,"position");Y.attributes.uv=o.getAttribLocation(Y.program,"uv");Y.uniforms.uvOffset=o.getUniformLocation(Y.program,"uvOffset");Y.uniforms.uvScale=o.getUniformLocation(Y.program,"uvScale");Y.uniforms.rotation=o.getUniformLocation(Y.program,"rotation");Y.uniforms.scale=o.getUniformLocation(Y.program,"scale");Y.uniforms.alignment=o.getUniformLocation(Y.program,"alignment");Y.uniforms.map=o.getUniformLocation(Y.program,"map");Y.uniforms.opacity=o.getUniformLocation(Y.program,
+"opacity");Y.uniforms.useScreenCoordinates=o.getUniformLocation(Y.program,"useScreenCoordinates");Y.uniforms.affectedByDistance=o.getUniformLocation(Y.program,"affectedByDistance");Y.uniforms.screenPosition=o.getUniformLocation(Y.program,"screenPosition");Y.uniforms.modelViewMatrix=o.getUniformLocation(Y.program,"modelViewMatrix");Y.uniforms.projectionMatrix=o.getUniformLocation(Y.program,"projectionMatrix");var Ga=!1;this.setSize=function(b,e){wa.width=b;wa.height=e;this.setViewport(0,0,wa.width,
+wa.height)};this.setViewport=function(b,e,c,f){X=b;ja=e;ea=c;qa=f;o.viewport(X,ja,ea,qa)};this.setScissor=function(b,e,c,f){o.scissor(b,e,c,f)};this.enableScissorTest=function(b){b?o.enable(o.SCISSOR_TEST):o.disable(o.SCISSOR_TEST)};this.enableDepthBufferWrite=function(b){ia=b;o.depthMask(b)};this.setClearColorHex=function(b,e){M.setHex(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.setClearColor=function(b,e){M.copy(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.clear=function(){o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT|
+o.STENCIL_BUFFER_BIT)};this.getContext=function(){return o};this.deallocateObject=function(b){if(b.__webglInit)if(b.__webglInit=!1,delete b._modelViewMatrix,delete b._normalMatrixArray,delete b._modelViewMatrixArray,delete b._objectMatrixArray,b instanceof THREE.Mesh)for(g in b.geometry.geometryGroups){var e=b.geometry.geometryGroups[g];o.deleteBuffer(e.__webglVertexBuffer);o.deleteBuffer(e.__webglNormalBuffer);o.deleteBuffer(e.__webglTangentBuffer);o.deleteBuffer(e.__webglColorBuffer);o.deleteBuffer(e.__webglUVBuffer);
+o.deleteBuffer(e.__webglUV2Buffer);o.deleteBuffer(e.__webglSkinVertexABuffer);o.deleteBuffer(e.__webglSkinVertexBBuffer);o.deleteBuffer(e.__webglSkinIndicesBuffer);o.deleteBuffer(e.__webglSkinWeightsBuffer);o.deleteBuffer(e.__webglFaceBuffer);o.deleteBuffer(e.__webglLineBuffer);if(e.numMorphTargets)for(var c=0,f=e.numMorphTargets;c<f;c++)o.deleteBuffer(e.__webglMorphTargetsBuffers[c])}else if(b instanceof THREE.Ribbon)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);
+else if(b instanceof THREE.Line)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);else if(b instanceof THREE.ParticleSystem)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer)};this.deallocateTexture=function(b){if(b.__webglInit)b.__webglInit=!1,o.deleteTexture(b.__webglTexture)};this.initMaterial=function(b,e,c,f){var k,h,m;b instanceof THREE.MeshDepthMaterial?m="depth":b instanceof THREE.MeshNormalMaterial?m="normal":b instanceof
+THREE.MeshBasicMaterial?m="basic":b instanceof THREE.MeshLambertMaterial?m="lambert":b instanceof THREE.MeshPhongMaterial?m="phong":b instanceof THREE.LineBasicMaterial?m="basic":b instanceof THREE.ParticleBasicMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];b.uniforms=THREE.UniformsUtils.clone(n.uniforms);b.vertexShader=n.vertexShader;b.fragmentShader=n.fragmentShader}var p,t,u;p=u=n=0;for(t=e.length;p<t;p++)h=e[p],h instanceof THREE.SpotLight&&u++,h instanceof THREE.DirectionalLight&&
+u++,h instanceof THREE.PointLight&&n++;n+u<=_maxLights?p=u:(p=Math.ceil(_maxLights*u/(n+u)),n=_maxLights-p);h={directional:p,point:n};n=u=0;for(p=e.length;n<p;n++)t=e[n],t instanceof THREE.SpotLight&&t.castShadow&&u++;var v=50;if(f!==void 0&&f instanceof THREE.SkinnedMesh)v=f.bones.length;var w;a:{p=b.fragmentShader;t=b.vertexShader;var n=b.uniforms,e=b.attributes,c={map:!!b.map,envMap:!!b.envMap,lightMap:!!b.lightMap,vertexColors:b.vertexColors,fog:c,sizeAttenuation:b.sizeAttenuation,skinning:b.skinning,
+morphTargets:b.morphTargets,maxMorphTargets:this.maxMorphTargets,maxDirLights:h.directional,maxPointLights:h.point,maxBones:v,shadowMapEnabled:this.shadowMapEnabled&&f.receiveShadow,shadowMapSoft:this.shadowMapSoft,shadowMapWidth:this.shadowMapWidth,shadowMapHeight:this.shadowMapHeight,maxShadows:u,alphaTest:b.alphaTest},x,f=[];m?f.push(m):(f.push(p),f.push(t));for(x in c)f.push(x),f.push(c[x]);m=f.join();x=0;for(f=W.length;x<f;x++)if(W[x].code==m){w=W[x].program;break a}x=o.createProgram();f=[oa?
+"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":"",c.sizeAttenuation?
+"#define USE_SIZEATTENUATION":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform mat4 cameraInverseMatrix;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinVertexA;\nattribute vec4 skinVertexB;\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
+h=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",c.fog?"#define USE_FOG":"",c.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":
+"",c.shadowMapSoft?"#define SHADOWMAP_WIDTH "+c.shadowMapWidth.toFixed(1):"",c.shadowMapSoft?"#define SHADOWMAP_HEIGHT "+c.shadowMapHeight.toFixed(1):"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");o.attachShader(x,L("fragment",h+p));o.attachShader(x,L("vertex",f+t));o.linkProgram(x);o.getProgramParameter(x,o.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+o.getProgramParameter(x,o.VALIDATE_STATUS)+", gl error ["+o.getError()+"]");x.uniforms=
+{};x.attributes={};var M,f=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition","cameraInverseMatrix","boneGlobalMatrices","morphTargetInfluences"];for(M in n)f.push(M);M=f;f=0;for(n=M.length;f<n;f++)p=M[f],x.uniforms[p]=o.getUniformLocation(x,p);f=["position","normal","uv","uv2","tangent","color","skinVertexA","skinVertexB","skinIndex","skinWeight"];for(M=0;M<c.maxMorphTargets;M++)f.push("morphTarget"+M);for(w in e)f.push(w);w=f;M=0;for(e=w.length;M<e;M++)c=
+w[M],x.attributes[c]=o.getAttribLocation(x,c);W.push({program:x,code:m});w=x}b.program=w;w=b.program.attributes;w.position>=0&&o.enableVertexAttribArray(w.position);w.color>=0&&o.enableVertexAttribArray(w.color);w.normal>=0&&o.enableVertexAttribArray(w.normal);w.tangent>=0&&o.enableVertexAttribArray(w.tangent);b.skinning&&w.skinVertexA>=0&&w.skinVertexB>=0&&w.skinIndex>=0&&w.skinWeight>=0&&(o.enableVertexAttribArray(w.skinVertexA),o.enableVertexAttribArray(w.skinVertexB),o.enableVertexAttribArray(w.skinIndex),
+o.enableVertexAttribArray(w.skinWeight));if(b.attributes)for(k in b.attributes)w[k]!==void 0&&w[k]>=0&&o.enableVertexAttribArray(w[k]);if(b.morphTargets)for(k=b.numSupportedMorphTargets=0;k<this.maxMorphTargets;k++)M="morphTarget"+k,w[M]>=0&&(o.enableVertexAttribArray(w[M]),b.numSupportedMorphTargets++)};this.clearTarget=function(b,c,e,f){K(b);b=0;c&&(b|=o.COLOR_BUFFER_BIT);e&&(b|=o.DEPTH_BUFFER_BIT);f&&(b|=o.STENCIL_BUFFER_BIT);o.clear(b)};this.render=function(b,c,o,v){var M,T,D,Z,G,H,E,V,ka=b.lights,
+C=b.fog;this.shadowMapEnabled&&z(b,c);P.data.vertices=0;P.data.faces=0;P.data.drawCalls=0;c.matrixAutoUpdate&&c.update(void 0,!0);b.update(void 0,!1,c);c.matrixWorldInverse.flattenToArray(ra);c.projectionMatrix.flattenToArray(va);pa.multiply(c.projectionMatrix,c.matrixWorldInverse);u(pa);this.initWebGLObjects(b);K(o);(this.autoClear||v)&&this.clear();G=b.__webglObjects.length;for(v=0;v<G;v++)if(M=b.__webglObjects[v],E=M.object,E.visible)if(!(E instanceof THREE.Mesh)||!E.frustumCulled||p(E)){if(E.matrixWorld.flattenToArray(E._objectMatrixArray),
+B(E,c,!0),x(M),M.render=!0,this.sortObjects)M.object.renderDepth?M.z=M.object.renderDepth:(sa.copy(E.position),pa.multiplyVector3(sa),M.z=sa.z)}else M.render=!1;else M.render=!1;this.sortObjects&&b.__webglObjects.sort(w);H=b.__webglObjectsImmediate.length;for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(E.matrixAutoUpdate&&E.matrixWorld.flattenToArray(E._objectMatrixArray),B(E,c,!0),t(M));if(b.overrideMaterial){k(b.overrideMaterial.depthTest);F(b.overrideMaterial.blending);for(v=
+0;v<G;v++)if(M=b.__webglObjects[v],M.render)E=M.object,V=M.buffer,m(E),f(c,ka,C,b.overrideMaterial,V,E);for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(m(E),T=e(c,ka,C,b.overrideMaterial,E),E.render(function(c){h(c,T,b.overrideMaterial.shading)}))}else{F(THREE.NormalBlending);for(v=G-1;v>=0;v--)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),
+f(c,ka,C,Z,V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}for(v=0;v<G;v++)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),f(c,ka,C,Z,
+V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}}b.__webglSprites.length&&y(b,c);o&&o.minFilter!==THREE.NearestFilter&&o.minFilter!==THREE.LinearFilter&&U(o)};this.initWebGLObjects=function(b){if(!b.__webglObjects)b.__webglObjects=[],b.__webglObjectsImmediate=[],b.__webglSprites=
+[];for(;b.__objectsAdded.length;){var e=b.__objectsAdded[0],f=b,k=void 0,h=void 0,m=void 0;if(!e.__webglInit)if(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrixArray=new Float32Array(9),e._modelViewMatrixArray=new Float32Array(16),e._objectMatrixArray=new Float32Array(16),e.matrixWorld.flattenToArray(e._objectMatrixArray),e instanceof THREE.Mesh)for(k in h=e.geometry,h.geometryGroups==void 0&&E(h),h.geometryGroups){m=h.geometryGroups[k];if(!m.__webglVertexBuffer){var n=m;n.__webglVertexBuffer=
+o.createBuffer();n.__webglNormalBuffer=o.createBuffer();n.__webglTangentBuffer=o.createBuffer();n.__webglColorBuffer=o.createBuffer();n.__webglUVBuffer=o.createBuffer();n.__webglUV2Buffer=o.createBuffer();n.__webglSkinVertexABuffer=o.createBuffer();n.__webglSkinVertexBBuffer=o.createBuffer();n.__webglSkinIndicesBuffer=o.createBuffer();n.__webglSkinWeightsBuffer=o.createBuffer();n.__webglFaceBuffer=o.createBuffer();n.__webglLineBuffer=o.createBuffer();if(n.numMorphTargets){var p=void 0,t=void 0;n.__webglMorphTargetsBuffers=
+[];p=0;for(t=n.numMorphTargets;p<t;p++)n.__webglMorphTargetsBuffers.push(o.createBuffer())}for(var n=m,p=e,v=void 0,u=void 0,w=void 0,x=w=void 0,M=void 0,T=void 0,z=T=t=0,y=w=u=void 0,Z=y=u=v=void 0,w=void 0,x=p.geometry,M=x.faces,y=n.faces,v=0,u=y.length;v<u;v++)w=y[v],w=M[w],w instanceof THREE.Face3?(t+=3,T+=1,z+=3):w instanceof THREE.Face4&&(t+=4,T+=2,z+=4);for(var v=n,u=p,B=y=M=void 0,V=void 0,B=void 0,w=[],M=0,y=u.materials.length;M<y;M++)if(B=u.materials[M],B instanceof THREE.MeshFaceMaterial){B=
+0;for(l=v.materials.length;B<l;B++)(V=v.materials[B])&&w.push(V)}else(V=B)&&w.push(V);v=w;n.__materials=v;a:{M=u=void 0;y=v.length;for(u=0;u<y;u++)if(M=v[u],M.map||M.lightMap||M instanceof THREE.MeshShaderMaterial){u=!0;break a}u=!1}a:{y=M=void 0;w=v.length;for(M=0;M<w;M++)if(y=v[M],!(y instanceof THREE.MeshBasicMaterial&&!y.envMap||y instanceof THREE.MeshDepthMaterial)){y=y&&y.shading!=void 0&&y.shading==THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading;break a}y=!1}a:{w=M=void 0;B=v.length;
+for(M=0;M<B;M++)if(w=v[M],w.vertexColors){w=w.vertexColors;break a}w=!1}n.__vertexArray=new Float32Array(t*3);if(y)n.__normalArray=new Float32Array(t*3);if(x.hasTangents)n.__tangentArray=new Float32Array(t*4);if(w)n.__colorArray=new Float32Array(t*3);if(u){if(x.faceUvs.length>0||x.faceVertexUvs.length>0)n.__uvArray=new Float32Array(t*2);if(x.faceUvs.length>1||x.faceVertexUvs.length>1)n.__uv2Array=new Float32Array(t*2)}if(p.geometry.skinWeights.length&&p.geometry.skinIndices.length)n.__skinVertexAArray=
+new Float32Array(t*4),n.__skinVertexBArray=new Float32Array(t*4),n.__skinIndexArray=new Float32Array(t*4),n.__skinWeightArray=new Float32Array(t*4);n.__faceArray=new Uint16Array(T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0));n.__lineArray=new Uint16Array(z*2);if(n.numMorphTargets){n.__morphTargetsArrays=[];x=0;for(M=n.numMorphTargets;x<M;x++)n.__morphTargetsArrays.push(new Float32Array(t*3))}n.__needsSmoothNormals=y==THREE.SmoothShading;n.__uvType=u;n.__vertexColorType=w;n.__normalType=
+y;n.__webglFaceCount=T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0);n.__webglLineCount=z*2;x=0;for(M=v.length;x<M;x++)if(u=v[x],u.attributes){if(n.__webglCustomAttributes===void 0)n.__webglCustomAttributes={};for(a in u.attributes){w=u.attributes[a];y={};for(Z in w)y[Z]=w[Z];if(!y.__webglInitialized||y.createUniqueBuffers)y.__webglInitialized=!0,T=1,y.type==="v2"?T=2:y.type==="v3"?T=3:y.type==="v4"?T=4:y.type==="c"&&(T=3),y.size=T,y.array=new Float32Array(t*T),y.buffer=o.createBuffer(),
+y.buffer.belongsToAttribute=a,w.needsUpdate=!0,y.__original=w;n.__webglCustomAttributes[a]=y}}n.__inittedArrays=!0;h.__dirtyVertices=!0;h.__dirtyMorphTargets=!0;h.__dirtyElements=!0;h.__dirtyUvs=!0;h.__dirtyNormals=!0;h.__dirtyTangents=!0;h.__dirtyColors=!0}N(f.__webglObjects,m,e)}else if(e instanceof THREE.Ribbon){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=
+new Float32Array(m*3),k.__webglVertexCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.Line){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=new Float32Array(m*3),k.__webglLineCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.ParticleSystem){h=e.geometry;
+if(!h.__webglVertexBuffer){k=h;k.__webglVertexBuffer=o.createBuffer();k.__webglColorBuffer=o.createBuffer();k=h;m=e;n=k.vertices.length;k.__vertexArray=new Float32Array(n*3);k.__colorArray=new Float32Array(n*3);k.__sortArray=[];k.__webglParticleCount=n;k.__materials=m.materials;Z=t=p=void 0;p=0;for(t=m.materials.length;p<t;p++)if(Z=m.materials[p],Z.attributes){if(k.__webglCustomAttributes===void 0)k.__webglCustomAttributes={};for(a in Z.attributes){originalAttribute=Z.attributes[a];attribute={};for(property in originalAttribute)attribute[property]=
+originalAttribute[property];if(!attribute.__webglInitialized||attribute.createUniqueBuffers)attribute.__webglInitialized=!0,size=1,attribute.type==="v2"?size=2:attribute.type==="v3"?size=3:attribute.type==="v4"?size=4:attribute.type==="c"&&(size=3),attribute.size=size,attribute.array=new Float32Array(n*size),attribute.buffer=o.createBuffer(),attribute.buffer.belongsToAttribute=a,originalAttribute.needsUpdate=!0,attribute.__original=originalAttribute;k.__webglCustomAttributes[a]=attribute}}h.__dirtyVertices=
+!0;h.__dirtyColors=!0}N(f.__webglObjects,h,e)}else THREE.MarchingCubes!==void 0&&e instanceof THREE.MarchingCubes?f.__webglObjectsImmediate.push({object:e,opaque:{list:[],count:0},transparent:{list:[],count:0}}):e instanceof THREE.Sprite&&f.__webglSprites.push(e);b.__objectsAdded.splice(0,1)}for(;b.__objectsRemoved.length;){f=b.__objectsRemoved[0];e=b;if(f instanceof THREE.Mesh||f instanceof THREE.ParticleSystem||f instanceof THREE.Ribbon||f instanceof THREE.Line)H(e.__webglObjects,f);else if(f instanceof
+THREE.Sprite){e=e.__webglSprites;h=void 0;for(h=e.length-1;h>=0;h--)e[h]==f&&e.splice(h,1)}else f instanceof THREE.MarchingCubes&&H(e.__webglObjectsImmediate,f);b.__objectsRemoved.splice(0,1)}e=0;for(f=b.__webglObjects.length;e<f;e++)if(k=b.__webglObjects[e].object,t=m=h=void 0,k instanceof THREE.Mesh){h=k.geometry;n=0;for(p=h.geometryGroupsList.length;n<p;n++)if(m=h.geometryGroupsList[n],t=D(m),h.__dirtyVertices||h.__dirtyMorphTargets||h.__dirtyElements||h.__dirtyUvs||h.__dirtyNormals||h.__dirtyColors||
+h.__dirtyTangents||t)if(t=m,Z=o.DYNAMIC_DRAW,T=!h.dynamic,t.__inittedArrays){var ka=x=z=void 0,C=void 0,xa=ka=void 0,K=void 0,pa=void 0,ha=void 0,I=V=B=w=y=M=u=v=void 0,L=void 0,J=C=ha=C=pa=K=void 0,A=void 0,F=A=J=K=void 0,Y=void 0,va=F=A=J=ka=ka=xa=ha=C=F=A=J=Y=F=A=J=Y=F=A=J=void 0,O=0,X=0,S=0,ra=0,R=0,ca=0,P=0,ya=0,oa=0,Q=0,U=0,F=J=0,F=void 0,W=t.__vertexArray,ja=t.__uvArray,fa=t.__uv2Array,ma=t.__normalArray,$=t.__tangentArray,sa=t.__colorArray,aa=t.__skinVertexAArray,ea=t.__skinVertexBArray,ta=
+t.__skinIndexArray,da=t.__skinWeightArray,na=t.__morphTargetsArrays,ga=t.__webglCustomAttributes,A=void 0,qa=t.__faceArray,ia=t.__lineArray,Ga=t.__needsSmoothNormals,u=t.__vertexColorType,v=t.__uvType,M=t.__normalType,wa=k.geometry,Ca=wa.__dirtyVertices,Aa=wa.__dirtyElements,za=wa.__dirtyUvs,Fa=wa.__dirtyNormals,Za=wa.__dirtyTangents,$a=wa.__dirtyColors,ab=wa.__dirtyMorphTargets,Oa=wa.vertices,cb=t.faces,fb=wa.faces,db=wa.faceVertexUvs[0],eb=wa.faceVertexUvs[1],Pa=wa.skinVerticesA,Qa=wa.skinVerticesB,
+Ra=wa.skinIndices,Ia=wa.skinWeights,Ha=wa.morphTargets;if(ga)for(va in ga)ga[va].offset=0,ga[va].offsetSrc=0;z=0;for(x=cb.length;z<x;z++)if(ka=cb[z],C=fb[ka],db&&(y=db[ka]),eb&&(w=eb[ka]),ka=C.vertexNormals,xa=C.normal,K=C.vertexColors,pa=C.color,ha=C.vertexTangents,C instanceof THREE.Face3){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,X+=9;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=
+A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],A.array[J+2]=A.value[C.c]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.offsetSrc+=3),A.offset+=3):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c]):A.boundTo==="faces"?(I=V=B=F=A.value[F],
+A.offsetSrc++):A.boundTo==="faceVertices"&&(B=A.value[F],V=A.value[F+1],I=A.value[F+2],A.offsetSrc+=3),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.offset+=6):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=
+V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z),A.offset+=9):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.offset+=12));if(ab){J=0;for(A=Ha.length;J<A;J++)B=Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+
+7]=I.y,F[U+8]=I.z;U+=9}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=
+1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,Q+=12;if($a&&u)K.length==3&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2]):A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,oa+=9;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+
+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,P+=12;if(Fa&&M)if(ka.length==3&&Ga)for(ha=0;ha<3;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<3;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<3;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<3;ha++)ka=w[ha],fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+2,R+=3,ia[ya]=O,ia[ya+1]=O+
+1,ia[ya+2]=O,ia[ya+3]=O+2,ia[ya+4]=O+1,ia[ya+5]=O+2,ya+=6,O+=3)}else if(C instanceof THREE.Face4){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,L=Oa[C.d].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,W[X+9]=L.x,W[X+10]=L.y,W[X+11]=L.z,X+=12;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],
+A.array[J+2]=A.value[C.c],A.array[J+3]=A.value[C.d]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.array[J+3]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.array[J+3]=A.value[F+3],A.offsetSrc+=4),A.offset+=4):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c],L=A.value[C.d]):A.boundTo==="faces"?(L=I=V=B=F=A.value[F],A.offsetSrc++):A.boundTo==="faceVertices"&&
+(B=A.value[F],V=A.value[F+1],I=A.value[F+2],L=A.value[F+3],A.offsetSrc+=4),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.array[J+6]=L.x,A.array[J+7]=L.y,A.offset+=8):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b,A.array[J+9]=L.r,A.array[J+10]=L.g,A.array[J+11]=L.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+
+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z,A.array[J+9]=L.x,A.array[J+10]=L.y,A.array[J+11]=L.z),A.offset+=12):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.array[J+12]=L.x,A.array[J+13]=L.y,A.array[J+14]=L.z,A.array[J+15]=L.w,A.offset+=16));if(ab){J=0;for(A=Ha.length;J<A;J++)B=
+Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,L=Ha[J].vertices[C.d].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+7]=I.y,F[U+8]=I.z,F[U+9]=L.x,F[U+10]=L.y,F[U+11]=L.z;U+=12}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],Y=Ia[C.d],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,da[Q+12]=Y.x,da[Q+13]=Y.y,da[Q+14]=Y.z,
+da[Q+15]=Y.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],Y=Ra[C.d],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,ta[Q+12]=Y.x,ta[Q+13]=Y.y,ta[Q+14]=Y.z,ta[Q+15]=Y.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],Y=Pa[C.d],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,aa[Q+12]=Y.x,aa[Q+13]=Y.y,aa[Q+14]=Y.z,aa[Q+15]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],
+C=Qa[C.d],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,ea[Q+12]=C.x,ea[Q+13]=C.y,ea[Q+14]=C.z,ea[Q+15]=1,Q+=16;if($a&&u)K.length==4&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2],K=K[3]):K=A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,sa[oa+9]=K.r,sa[oa+10]=K.g,sa[oa+11]=K.b,oa+=12;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],ha=
+ha[3],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,$[P+12]=ha.x,$[P+13]=ha.y,$[P+14]=ha.z,$[P+15]=ha.w,P+=16;if(Fa&&M)if(ka.length==4&&Ga)for(ha=0;ha<4;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<4;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<4;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<4;ha++)ka=w[ha],
+fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+3,qa[R+3]=O+1,qa[R+4]=O+2,qa[R+5]=O+3,R+=6,ia[ya]=O,ia[ya+1]=O+1,ia[ya+2]=O,ia[ya+3]=O+3,ia[ya+4]=O+1,ia[ya+5]=O+2,ia[ya+6]=O+2,ia[ya+7]=O+3,ya+=8,O+=4)}Ca&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,W,Z));if(ga)for(va in ga)A=ga[va],A.__original.needsUpdate&&(o.bindBuffer(o.ARRAY_BUFFER,A.buffer),o.bufferData(o.ARRAY_BUFFER,A.array,Z));if(ab){J=0;for(A=Ha.length;J<A;J++)o.bindBuffer(o.ARRAY_BUFFER,
+t.__webglMorphTargetsBuffers[J]),o.bufferData(o.ARRAY_BUFFER,na[J],Z)}$a&&oa>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,sa,Z));Fa&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglNormalBuffer),o.bufferData(o.ARRAY_BUFFER,ma,Z));Za&&wa.hasTangents&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglTangentBuffer),o.bufferData(o.ARRAY_BUFFER,$,Z));za&&S>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUVBuffer),o.bufferData(o.ARRAY_BUFFER,ja,Z));za&&ra>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUV2Buffer),
+o.bufferData(o.ARRAY_BUFFER,fa,Z));Aa&&(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglFaceBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,qa,Z),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglLineBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,ia,Z));Q>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexABuffer),o.bufferData(o.ARRAY_BUFFER,aa,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexBBuffer),o.bufferData(o.ARRAY_BUFFER,ea,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinIndicesBuffer),o.bufferData(o.ARRAY_BUFFER,
+ta,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinWeightsBuffer),o.bufferData(o.ARRAY_BUFFER,da,Z));T&&(delete t.__inittedArrays,delete t.__colorArray,delete t.__normalArray,delete t.__tangentArray,delete t.__uvArray,delete t.__uv2Array,delete t.__faceArray,delete t.__vertexArray,delete t.__lineArray,delete t.__skinVertexAArray,delete t.__skinVertexBArray,delete t.__skinIndexArray,delete t.__skinWeightArray)}h.__dirtyVertices=!1;h.__dirtyMorphTargets=!1;h.__dirtyElements=!1;h.__dirtyUvs=!1;h.__dirtyNormals=
+!1;h.__dirtyTangents=!1;h.__dirtyColors=!1;G(m)}else if(k instanceof THREE.Ribbon){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+
+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.Line){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);
+o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.ParticleSystem)h=k.geometry,t=D(h),(h.__dirtyVertices||h.__dirtyColors||k.sortParticles||t)&&c(h,o.DYNAMIC_DRAW,k),h.__dirtyVertices=!1,h.__dirtyColors=!1,G(h)};this.setFaceCulling=function(b,e){b?(!e||e=="ccw"?o.frontFace(o.CCW):o.frontFace(o.CW),
+b=="back"?o.cullFace(o.BACK):b=="front"?o.cullFace(o.FRONT):o.cullFace(o.FRONT_AND_BACK),o.enable(o.CULL_FACE)):o.disable(o.CULL_FACE)};this.supportsVertexTextures=function(){return oa}};
+THREE.WebGLRenderTarget=function(b,c,e){this.width=b;this.height=c;e=e||{};this.wrapS=e.wrapS!==void 0?e.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=e.wrapT!==void 0?e.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=e.magFilter!==void 0?e.magFilter:THREE.LinearFilter;this.minFilter=e.minFilter!==void 0?e.minFilter:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=e.format!==void 0?e.format:THREE.RGBAFormat;this.type=e.type!==void 0?e.type:
+THREE.UnsignedByteType;this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0;this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!0};
+THREE.WebGLRenderTarget.prototype.clone=function(){var b=new THREE.WebGLRenderTarget(this.width,this.height);b.wrapS=this.wrapS;b.wrapT=this.wrapT;b.magFilter=this.magFilter;b.minFilter=this.minFilter;b.offset.copy(this.offset);b.repeat.copy(this.repeat);b.format=this.format;b.type=this.type;b.depthBuffer=this.depthBuffer;b.stencilBuffer=this.stencilBuffer;return b};THREE.WebGLRenderTargetCube=function(b,c,e){THREE.WebGLRenderTarget.call(this,b,c,e);this.activeCubeFace=0};
+THREE.WebGLRenderTargetCube.prototype=new THREE.WebGLRenderTarget;THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(b){this.positionWorld.copy(b.positionWorld);this.positionScreen.copy(b.positionScreen)};
+THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.materials=null};
+THREE.ColorUtils={adjustHSV:function(b,c,e,f){var h=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(b,h);h.h=THREE.ColorUtils.clamp(h.h+c,0,1);h.s=THREE.ColorUtils.clamp(h.s+e,0,1);h.v=THREE.ColorUtils.clamp(h.v+f,0,1);b.setHSV(h.h,h.s,h.v)},rgbToHsv:function(b,c){var e=b.r,f=b.g,h=b.b,m=Math.max(Math.max(e,f),h),k=Math.min(Math.min(e,f),h);if(k==m)k=e=0;else{var n=m-k,k=n/m,e=e==m?(f-h)/n:f==m?2+(h-e)/n:4+(e-f)/n;e/=6;e<0&&(e+=1);e>1&&(e-=1)}c===void 0&&(c={h:0,s:0,v:0});c.h=e;c.s=k;c.v=m;return c},
+clamp:function(b,c,e){return b<c?c:b>e?e:b}};THREE.ColorUtils.__hsv={h:0,s:0,v:0};
+THREE.GeometryUtils={merge:function(b,c){var e=c instanceof THREE.Mesh,f=b.vertices.length,h=e?c.geometry:c,m=b.vertices,k=h.vertices,n=b.faces,u=h.faces,p=b.faceVertexUvs[0],h=h.faceVertexUvs[0];e&&c.matrixAutoUpdate&&c.updateMatrix();for(var v=0,t=k.length;v<t;v++){var x=new THREE.Vertex(k[v].position.clone());e&&c.matrix.multiplyVector3(x.position);m.push(x)}v=0;for(t=u.length;v<t;v++){var k=u[v],w,z,y=k.vertexNormals,x=k.vertexColors;k instanceof THREE.Face3?w=new THREE.Face3(k.a+f,k.b+f,k.c+
+f):k instanceof THREE.Face4&&(w=new THREE.Face4(k.a+f,k.b+f,k.c+f,k.d+f));w.normal.copy(k.normal);e=0;for(m=y.length;e<m;e++)z=y[e],w.vertexNormals.push(z.clone());w.color.copy(k.color);e=0;for(m=x.length;e<m;e++)z=x[e],w.vertexColors.push(z.clone());w.materials=k.materials.slice();w.centroid.copy(k.centroid);n.push(w)}v=0;for(t=h.length;v<t;v++){f=h[v];n=[];e=0;for(m=f.length;e<m;e++)n.push(new THREE.UV(f[e].u,f[e].v));p.push(n)}},clone:function(b){var c=new THREE.Geometry,e,f=b.vertices,h=b.faces,
+m=b.faceVertexUvs[0],b=0;for(e=f.length;b<e;b++){var k=new THREE.Vertex(f[b].position.clone());c.vertices.push(k)}b=0;for(e=h.length;b<e;b++){var n=h[b],u,p,v=n.vertexNormals,t=n.vertexColors;n instanceof THREE.Face3?u=new THREE.Face3(n.a,n.b,n.c):n instanceof THREE.Face4&&(u=new THREE.Face4(n.a,n.b,n.c,n.d));u.normal.copy(n.normal);f=0;for(k=v.length;f<k;f++)p=v[f],u.vertexNormals.push(p.clone());u.color.copy(n.color);f=0;for(k=t.length;f<k;f++)p=t[f],u.vertexColors.push(p.clone());u.materials=n.materials.slice();
+u.centroid.copy(n.centroid);c.faces.push(u)}b=0;for(e=m.length;b<e;b++){h=m[b];u=[];f=0;for(k=h.length;f<k;f++)u.push(new THREE.UV(h[f].u,h[f].v));c.faceVertexUvs[0].push(u)}return c},randomPointInTriangle:function(b,c,e){var f,h,m,k=new THREE.Vector3,n=THREE.GeometryUtils.__v1;f=THREE.GeometryUtils.random();h=THREE.GeometryUtils.random();f+h>1&&(f=1-f,h=1-h);m=1-f-h;k.copy(b);k.multiplyScalar(f);n.copy(c);n.multiplyScalar(h);k.addSelf(n);n.copy(e);n.multiplyScalar(m);k.addSelf(n);return k},randomPointInFace:function(b,
+c,e){var f,h,m;if(b instanceof THREE.Face3)return f=c.vertices[b.a].position,h=c.vertices[b.b].position,m=c.vertices[b.c].position,THREE.GeometryUtils.randomPointInTriangle(f,h,m);else if(b instanceof THREE.Face4){f=c.vertices[b.a].position;h=c.vertices[b.b].position;m=c.vertices[b.c].position;var c=c.vertices[b.d].position,k;e?b._area1&&b._area2?(e=b._area1,k=b._area2):(e=THREE.GeometryUtils.triangleArea(f,h,c),k=THREE.GeometryUtils.triangleArea(h,m,c),b._area1=e,b._area2=k):(e=THREE.GeometryUtils.triangleArea(f,
+h,c),k=THREE.GeometryUtils.triangleArea(h,m,c));return THREE.GeometryUtils.random()*(e+k)<e?THREE.GeometryUtils.randomPointInTriangle(f,h,c):THREE.GeometryUtils.randomPointInTriangle(h,m,c)}},randomPointsInGeometry:function(b,c){function e(b){function e(c,f){if(f<c)return c;var k=c+Math.floor((f-c)/2);return p[k]>b?e(c,k-1):p[k]<b?e(k+1,f):k}return e(0,p.length-1)}var f,h,m=b.faces,k=b.vertices,n=m.length,u=0,p=[],v,t,x,w;for(h=0;h<n;h++){f=m[h];if(f instanceof THREE.Face3)v=k[f.a].position,t=k[f.b].position,
+x=k[f.c].position,f._area=THREE.GeometryUtils.triangleArea(v,t,x);else if(f instanceof THREE.Face4)v=k[f.a].position,t=k[f.b].position,x=k[f.c].position,w=k[f.d].position,f._area1=THREE.GeometryUtils.triangleArea(v,t,w),f._area2=THREE.GeometryUtils.triangleArea(t,x,w),f._area=f._area1+f._area2;u+=f._area;p[h]=u}f=[];k={};for(h=0;h<c;h++)n=THREE.GeometryUtils.random()*u,n=e(n),f[h]=THREE.GeometryUtils.randomPointInFace(m[n],b,!0),k[n]?k[n]+=1:k[n]=1;return f},triangleArea:function(b,c,e){var f,h=THREE.GeometryUtils.__v1;
+h.sub(b,c);f=h.length();h.sub(b,e);b=h.length();h.sub(c,e);e=h.length();c=0.5*(f+b+e);return Math.sqrt(c*(c-f)*(c-b)*(c-e))},random16:function(){return(65280*Math.random()+255*Math.random())/65535}};THREE.GeometryUtils.random=THREE.GeometryUtils.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
+THREE.ImageUtils={loadTexture:function(b,c,e){var f=new Image,h=new THREE.Texture(f,c);f.onload=function(){h.needsUpdate=!0;e&&e(this)};f.crossOrigin="";f.src=b;return h},loadTextureCube:function(b,c,e){var f,h=[],m=new THREE.Texture(h,c),c=h.loadCount=0;for(f=b.length;c<f;++c)h[c]=new Image,h[c].onload=function(){h.loadCount+=1;if(h.loadCount==6)m.needsUpdate=!0;e&&e(this)},h[c].crossOrigin="",h[c].src=b[c];return m},getNormalMap:function(b,c){var e=function(b){var e=Math.sqrt(b[0]*b[0]+b[1]*b[1]+
+b[2]*b[2]);return[b[0]/e,b[1]/e,b[2]/e]};c|=1;var f=b.width,h=b.height,m=document.createElement("canvas");m.width=f;m.height=h;var k=m.getContext("2d");k.drawImage(b,0,0);for(var n=k.getImageData(0,0,f,h).data,u=k.createImageData(f,h),p=u.data,v=0;v<f;v++)for(var t=1;t<h;t++){var x=t-1<0?h-1:t-1,w=(t+1)%h,z=v-1<0?f-1:v-1,y=(v+1)%f,B=[],D=[0,0,n[(t*f+v)*4]/255*c];B.push([-1,0,n[(t*f+z)*4]/255*c]);B.push([-1,-1,n[(x*f+z)*4]/255*c]);B.push([0,-1,n[(x*f+v)*4]/255*c]);B.push([1,-1,n[(x*f+y)*4]/255*c]);
+B.push([1,0,n[(t*f+y)*4]/255*c]);B.push([1,1,n[(w*f+y)*4]/255*c]);B.push([0,1,n[(w*f+v)*4]/255*c]);B.push([-1,1,n[(w*f+z)*4]/255*c]);x=[];z=B.length;for(w=0;w<z;w++){var y=B[w],G=B[(w+1)%z],y=[y[0]-D[0],y[1]-D[1],y[2]-D[2]],G=[G[0]-D[0],G[1]-D[1],G[2]-D[2]];x.push(e([y[1]*G[2]-y[2]*G[1],y[2]*G[0]-y[0]*G[2],y[0]*G[1]-y[1]*G[0]]))}B=[0,0,0];for(w=0;w<x.length;w++)B[0]+=x[w][0],B[1]+=x[w][1],B[2]+=x[w][2];B[0]/=x.length;B[1]/=x.length;B[2]/=x.length;D=(t*f+v)*4;p[D]=(B[0]+1)/2*255|0;p[D+1]=(B[1]+0.5)*
+255|0;p[D+2]=B[2]*255|0;p[D+3]=255}k.putImageData(u,0,0);return m}};THREE.SceneUtils={showHierarchy:function(b,c){THREE.SceneUtils.traverseHierarchy(b,function(b){b.visible=c})},traverseHierarchy:function(b,c){var e,f,h=b.children.length;for(f=0;f<h;f++)e=b.children[f],c(e),THREE.SceneUtils.traverseHierarchy(e,c)}};
+if(THREE.WebGLRenderer)THREE.ShaderUtils={lib:{fresnel:{uniforms:{mRefractionRatio:{type:"f",value:1.02},mFresnelBias:{type:"f",value:0.1},mFresnelPower:{type:"f",value:2},mFresnelScale:{type:"f",value:1},tCube:{type:"t",value:1,texture:null}},fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\nvec4 refractedColor = vec4( 1.0, 1.0, 1.0, 1.0 );\nrefractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;\nrefractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;\nrefractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;\nrefractedColor.a = 1.0;\ngl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );\n}",
+vertexShader:"uniform float mRefractionRatio;\nuniform float mFresnelBias;\nuniform float mFresnelScale;\nuniform float mFresnelPower;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = normalize ( mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal );\nvec3 I = mPosition.xyz - cameraPosition;\nvReflect = reflect( I, nWorld );\nvRefract[0] = refract( normalize( I ), nWorld, mRefractionRatio );\nvRefract[1] = refract( normalize( I ), nWorld, mRefractionRatio * 0.99 );\nvRefract[2] = refract( normalize( I ), nWorld, mRefractionRatio * 0.98 );\nvReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), nWorld ), mFresnelPower );\ngl_Position = projectionMatrix * mvPosition;\n}"},
+normal:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},tDiffuse:{type:"t",value:0,texture:null},tNormal:{type:"t",value:2,texture:null},tSpecular:{type:"t",value:3,texture:null},tAO:{type:"t",value:4,texture:null},uNormalScale:{type:"f",value:1},tDisplacement:{type:"t",value:5,texture:null},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",
+value:new THREE.Color(15658734)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(328965)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform float uNormalScale;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( 1.0 );\nvec4 mColor = vec4( uDiffuseColor, uOpacity );\nvec4 mSpecular = vec4( uSpecularColor, uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse )\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\nif( enableAO )\ngl_FragColor = gl_FragColor * texture2D( tAO, vUv );\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( vTangent, vBinormal, vNormal );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointTotal = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = specularTex.r * pow( pointDotNormalHalf, uShininess );\npointTotal += pointDistance * vec4( pointLightColor[ i ], 1.0 ) * ( mColor * pointDiffuseWeight + mSpecular * pointSpecularWeight * pointDiffuseWeight );\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirTotal = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = specularTex.r * pow( dirDotNormalHalf, uShininess );\ndirTotal += vec4( directionalLightColor[ i ], 1.0 ) * ( mColor * dirDiffuseWeight + mSpecular * dirSpecularWeight * dirDiffuseWeight );\n}\n#endif\nvec4 totalLight = vec4( ambientLightColor * uAmbientColor, uOpacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirTotal;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointTotal;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:"attribute vec4 tangent;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvViewPosition = -mvPosition.xyz;\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvBinormal = normalize( vBinormal );\nvUv = uv;\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#ifdef VERTEX_TEXTURES\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\nvec4 displacedPosition = vec4( vNormal.xyz * df, 0.0 ) + mvPosition;\ngl_Position = projectionMatrix * displacedPosition;\n#else\ngl_Position = projectionMatrix * mvPosition;\n#endif\n}"},
+cube:{uniforms:{tCube:{type:"t",value:1,texture:null}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( - wPos.x, wPos.yz ) );\n}"}}};
+THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(b){return this.getPoint(this.getUtoTmapping(b))};THREE.Curve.prototype.getPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPoint(c/b));return e};THREE.Curve.prototype.getSpacedPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPointAt(c/b));return e};
+THREE.Curve.prototype.getLength=function(){var b=this.getLengths();return b[b.length-1]};THREE.Curve.prototype.getLengths=function(b){b||(b=200);if(this.cacheArcLengths&&this.cacheArcLengths.length==b+1)return this.cacheArcLengths;var c=[],e,f=this.getPoint(0),h,m=0;c.push(0);for(h=1;h<=b;h++)e=this.getPoint(h/b),m+=e.distanceTo(f),c.push(m),f=e;return this.cacheArcLengths=c};
+THREE.Curve.prototype.getUtoTmapping=function(b,c){var e=this.getLengths(),f=0,h=e.length,m;m=c?c:b*e[h-1];time=Date.now();for(var k=0,n=h-1,u;k<=n;)if(f=Math.floor(k+(n-k)/2),u=e[f]-m,u<0)k=f+1;else if(u>0)n=f-1;else{n=f;break}f=n;if(e[f]==m)return f/(h-1);k=e[f];return e=(f+(m-k)/(e[f+1]-k))/(h-1)};THREE.Curve.prototype.getNormalVector=function(b){b=this.getTangent(b);return new THREE.Vector2(-b.y,b.x)};
+THREE.Curve.prototype.getTangent=function(b){var c=b-1.0E-4;b+=1.0E-4;c<0&&(c=0);b>1&&(b=1);var c=this.getPoint(c),b=this.getPoint(b),e=new THREE.Vector2;e.sub(b,c);return e.unit()};THREE.LineCurve=function(b,c){b instanceof THREE.Vector2?(this.v1=b,this.v2=c):THREE.LineCurve.oldConstructor.apply(this,arguments)};THREE.LineCurve.oldConstructor=function(b,c,e,f){this.constructor(new THREE.Vector2(b,c),new THREE.Vector2(e,f))};THREE.LineCurve.prototype=new THREE.Curve;
+THREE.LineCurve.prototype.constructor=THREE.LineCurve;THREE.LineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2;c.sub(this.v2,this.v1);c.multiplyScalar(b).addSelf(this.v1);return c};THREE.LineCurve.prototype.getPointAt=function(b){return this.getPoint(b)};THREE.LineCurve.prototype.getTangent=function(){var b=new THREE.Vector2;b.sub(this.v2,this.v1);b.normalize();return b};
+THREE.QuadraticBezierCurve=function(b,c,e){if(!(c instanceof THREE.Vector2))var f=Array.prototype.slice.call(arguments),b=new THREE.Vector2(f[0],f[1]),c=new THREE.Vector2(f[2],f[3]),e=new THREE.Vector2(f[4],f[5]);this.v0=b;this.v1=c;this.v2=e};THREE.QuadraticBezierCurve.prototype=new THREE.Curve;THREE.QuadraticBezierCurve.prototype.constructor=THREE.QuadraticBezierCurve;
+THREE.QuadraticBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(c,b)};THREE.QuadraticBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.y,this.v1.y,this.v2.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.CubicBezierCurve=function(b,c,e,f){if(!(c instanceof THREE.Vector2))var h=Array.prototype.slice.call(arguments),b=new THREE.Vector2(h[0],h[1]),c=new THREE.Vector2(h[2],h[3]),e=new THREE.Vector2(h[4],h[5]),f=new THREE.Vector2(h[6],h[7]);this.v0=b;this.v1=c;this.v2=e;this.v3=f};THREE.CubicBezierCurve.prototype=new THREE.Curve;THREE.CubicBezierCurve.prototype.constructor=THREE.CubicBezierCurve;
+THREE.CubicBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b3(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Shape.Utils.b3(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(c,b)};THREE.CubicBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.SplineCurve=function(b){this.points=b};THREE.SplineCurve.prototype=new THREE.Curve;THREE.SplineCurve.prototype.constructor=THREE.SplineCurve;
+THREE.SplineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2,e=[],f=this.points,h;h=(f.length-1)*b;b=Math.floor(h);h-=b;e[0]=b==0?b:b-1;e[1]=b;e[2]=b>f.length-2?b:b+1;e[3]=b>f.length-3?b:b+2;c.x=THREE.Curve.Utils.interpolate(f[e[0]].x,f[e[1]].x,f[e[2]].x,f[e[3]].x,h);c.y=THREE.Curve.Utils.interpolate(f[e[0]].y,f[e[1]].y,f[e[2]].y,f[e[3]].y,h);return c};THREE.ArcCurve=function(b,c,e,f,h,m){this.aX=b;this.aY=c;this.aRadius=e;this.aStartAngle=f;this.aEndAngle=h;this.aClockwise=m};
+THREE.ArcCurve.prototype=new THREE.Curve;THREE.ArcCurve.prototype.constructor=THREE.ArcCurve;THREE.ArcCurve.prototype.getPoint=function(b){var c=this.aEndAngle-this.aStartAngle;this.aClockwise||(b=1-b);b=this.aStartAngle+b*c;return new THREE.Vector2(this.aX+this.aRadius*Math.cos(b),this.aY+this.aRadius*Math.sin(b))};
+THREE.Curve.Utils={tangentQuadraticBezier:function(b,c,e,f){return 2*(1-b)*(e-c)+2*b*(f-e)},tangentCubicBezier:function(b,c,e,f,h){return-3*c*(1-b)*(1-b)+3*e*(1-b)*(1-b)-6*b*e*(1-b)+6*b*f*(1-b)-3*b*b*f+3*b*b*h},tangentSpline:function(b){return 6*b*b-6*b+(3*b*b-4*b+1)+(-6*b*b+6*b)+(3*b*b-2*b)},interpolate:function(b,c,e,f,h){var b=(e-b)*0.5,f=(f-c)*0.5,m=h*h;return(2*c-2*e+b+f)*h*m+(-3*c+3*e-2*b-f)*m+b*h+c}};
+THREE.Curve.create=function(b,c){b.prototype=new THREE.Curve;b.prototype.constructor=b;b.prototype.getPoint=c;return b};THREE.LineCurve3=THREE.Curve.create(function(b,c){this.v1=b;this.v2=c},function(b){var c=new THREE.Vector3;c.sub(v2,v1);c.multiplyScalar(b);c.addSelf(this.v1);return c});
+THREE.QuadraticBezierCurve3=THREE.Curve.create(function(b,c,e){this.v0=b;this.v1=c;this.v2=e},function(b){var c,e;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);e=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);b=THREE.Shape.Utils.b2(b,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(c,e,b)});THREE.CurvePath=function(){this.curves=[];this.bends=[]};THREE.CurvePath.prototype=new THREE.Curve;THREE.CurvePath.prototype.constructor=THREE.CurvePath;THREE.CurvePath.prototype.add=function(b){this.curves.push(b)};
+THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){};THREE.CurvePath.prototype.getPoint=function(b){for(var c=b*this.getLength(),e=this.getCurveLengths(),b=0;b<e.length;){if(e[b]>=c)return c=e[b]-c,b=this.curves[b],c=1-c/b.getLength(),b.getPointAt(c);b++}return null};THREE.CurvePath.prototype.getLength=function(){var b=this.getCurveLengths();return b[b.length-1]};
+THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var b=[],c=0,e,f=this.curves.length;for(e=0;e<f;e++)c+=this.curves[e].getLength(),b.push(c);return this.cacheLengths=b};
+THREE.CurvePath.prototype.getBoundingBox=function(){var b=this.getPoints(),c,e,f,h;c=e=Number.NEGATIVE_INFINITY;f=h=Number.POSITIVE_INFINITY;var m,k,n,u;u=new THREE.Vector2;k=0;for(n=b.length;k<n;k++){m=b[k];if(m.x>c)c=m.x;else if(m.x<f)f=m.x;if(m.y>e)e=m.y;else if(m.y<e)h=m.y;u.addSelf(m.x,m.y)}return{minX:f,minY:h,maxX:c,maxY:e,centroid:u.divideScalar(n)}};THREE.CurvePath.prototype.createPointsGeometry=function(b){return this.createGeometry(this.getPoints(b,!0))};
+THREE.CurvePath.prototype.createSpacedPointsGeometry=function(b){return this.createGeometry(this.getSpacedPoints(b,!0))};THREE.CurvePath.prototype.createGeometry=function(b){for(var c=new THREE.Geometry,e=0;e<b.length;e++)c.vertices.push(new THREE.Vertex(new THREE.Vector3(b[e].x,b[e].y,0)));return c};THREE.CurvePath.prototype.addWrapPath=function(b){this.bends.push(b)};
+THREE.CurvePath.prototype.getTransformedPoints=function(b,c){var e=this.getPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(b,c){var e=this.getSpacedPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};
+THREE.CurvePath.prototype.getWrapPoints=function(b,c){var e=this.getBoundingBox(),f,h,m,k,n,u;f=0;for(h=b.length;f<h;f++)m=b[f],k=m.x,n=m.y,u=k/e.maxX,u=c.getUtoTmapping(u,k),k=c.getPoint(u),n=c.getNormalVector(u).multiplyScalar(n),m.x=k.x+n.x,m.y=k.y+n.y;return b};THREE.Path=function(b){THREE.CurvePath.call(this);this.actions=[];b&&this.fromPoints(b)};THREE.Path.prototype=new THREE.CurvePath;THREE.Path.prototype.constructor=THREE.Path;
+THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc"};THREE.Path.prototype.fromPoints=function(b){this.moveTo(b[0].x,b[0].y);var c,e=b.length;for(c=1;c<e;c++)this.lineTo(b[c].x,b[c].y)};THREE.Path.prototype.moveTo=function(){var b=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:b})};
+THREE.Path.prototype.lineTo=function(b,c){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args;this.curves.push(new THREE.LineCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(b,c)));this.actions.push({action:THREE.PathActions.LINE_TO,args:e})};
+THREE.Path.prototype.quadraticCurveTo=function(b,c,e,f){var h=Array.prototype.slice.call(arguments),m=this.actions[this.actions.length-1].args;this.curves.push(new THREE.QuadraticBezierCurve(new THREE.Vector2(m[m.length-2],m[m.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f)));this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:h})};
+THREE.Path.prototype.bezierCurveTo=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments),n=this.actions[this.actions.length-1].args;this.curves.push(new THREE.CubicBezierCurve(new THREE.Vector2(n[n.length-2],n[n.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f),new THREE.Vector2(h,m)));this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:k})};
+THREE.Path.prototype.splineThru=function(b){var c=Array.prototype.slice.call(arguments),e=this.actions[this.actions.length-1].args,e=[new THREE.Vector2(e[e.length-2],e[e.length-1])],e=e.concat(b);this.curves.push(new THREE.SplineCurve(e));this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:c})};THREE.Path.prototype.arc=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments);this.curves.push(new THREE.ArcCurve(b,c,e,f,h,m));this.actions.push({action:THREE.PathActions.ARC,args:k})};
+THREE.Path.prototype.getSpacedPoints=function(b){b||(b=40);for(var c=[],e=0;e<b;e++)c.push(this.getPoint(e/b));return c};
+THREE.Path.prototype.getPoints=function(b,c){var b=b||12,e=[],f,h,m,k,n,u,p,v,t,x,w,z,y;f=0;for(h=this.actions.length;f<h;f++)switch(m=this.actions[f],k=m.action,m=m.args,k){case THREE.PathActions.LINE_TO:e.push(new THREE.Vector2(m[0],m[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:n=m[2];u=m[3];t=m[0];x=m[1];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b2(y,w,t,n),y=THREE.Shape.Utils.b2(y,z,x,
+u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.BEZIER_CURVE_TO:n=m[4];u=m[5];t=m[0];x=m[1];p=m[2];v=m[3];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b3(y,w,t,p,n),y=THREE.Shape.Utils.b3(y,z,x,v,u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.CSPLINE_THRU:k=this.actions[f-1].args;k=[new THREE.Vector2(k[k.length-2],k[k.length-1])];y=b*m[0].length;k=k.concat(m[0]);m=new THREE.SplineCurve(k);
+for(k=1;k<=y;k++)e.push(m.getPointAt(k/y));break;case THREE.PathActions.ARC:k=this.actions[f-1].args;n=m[0];u=m[1];p=m[2];t=m[3];y=m[4];x=!!m[5];v=k[k.length-2];w=k[k.length-1];k.length==0&&(v=w=0);z=y-t;var B=b*2;for(k=1;k<=B;k++)y=k/B,x||(y=1-y),y=t+y*z,m=v+n+p*Math.cos(y),y=w+u+p*Math.sin(y),e.push(new THREE.Vector2(m,y))}c&&e.push(e[0]);return e};THREE.Path.prototype.transform=function(b,c){this.getBoundingBox();return this.getWrapPoints(this.getPoints(c),b)};
+THREE.Path.prototype.nltransform=function(b,c,e,f,h,m){var k=this.getPoints(),n,u,p,v,t;n=0;for(u=k.length;n<u;n++)p=k[n],v=p.x,t=p.y,p.x=b*v+c*t+e,p.y=f*t+h*v+m;return k};
+THREE.Path.prototype.debug=function(b){var c=this.getBoundingBox();b||(b=document.createElement("canvas"),b.setAttribute("width",c.maxX+100),b.setAttribute("height",c.maxY+100),document.body.appendChild(b));c=b.getContext("2d");c.fillStyle="white";c.fillRect(0,0,b.width,b.height);c.strokeStyle="black";c.beginPath();var e,f,h,b=0;for(e=this.actions.length;b<e;b++)f=this.actions[b],h=f.args,f=f.action,f!=THREE.PathActions.CSPLINE_THRU&&c[f].apply(c,h);c.stroke();c.closePath();c.strokeStyle="red";f=
+this.getPoints();b=0;for(e=f.length;b<e;b++)h=f[b],c.beginPath(),c.arc(h.x,h.y,1.5,0,Math.PI*2,!1),c.stroke(),c.closePath()};
+THREE.Path.prototype.toShapes=function(){var b,c,e,f,h=[],m=new THREE.Path;b=0;for(c=this.actions.length;b<c;b++)e=this.actions[b],f=e.args,e=e.action,e==THREE.PathActions.MOVE_TO&&m.actions.length!=0&&(h.push(m),m=new THREE.Path),m[e].apply(m,f);m.actions.length!=0&&h.push(m);if(h.length==0)return[];var k,m=[];if(THREE.Shape.Utils.isClockWise(h[0].getPoints())){b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k&&m.push(k),k=new THREE.Shape,k.actions=f.actions,k.curves=
+f.curves):k.holes.push(f);m.push(k)}else{k=new THREE.Shape;b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k.actions=f.actions,k.curves=f.curves,m.push(k),k=new THREE.Shape):k.holes.push(f)}return m};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=new THREE.Path;THREE.Shape.prototype.constructor=THREE.Path;THREE.Shape.prototype.extrude=function(b){return new THREE.ExtrudeGeometry(this,b)};
+THREE.Shape.prototype.getPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedPoints(b,this.bends);return f};THREE.Shape.prototype.getSpacedPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedSpacedPoints(b,this.bends);return f};THREE.Shape.prototype.extractAllPoints=function(b){return{shape:this.getTransformedPoints(b),holes:this.getPointsHoles(b)}};
+THREE.Shape.prototype.extractAllSpacedPoints=function(b){return{shape:this.getTransformedSpacedPoints(b),holes:this.getSpacedPointsHoles(b)}};
+THREE.Shape.Utils={removeHoles:function(b,c){var e=b.concat(),f=e.concat(),h,m,k,n,u,p,v,t,x,w,z=[];for(u=0;u<c.length;u++){p=c[u];f=f.concat(p);m=Number.POSITIVE_INFINITY;for(h=0;h<p.length;h++){x=p[h];w=[];for(t=0;t<e.length;t++)v=e[t],v=x.distanceToSquared(v),w.push(v),v<m&&(m=v,k=h,n=t)}h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;var y=[p[k],e[n],e[h]];t=THREE.FontUtils.Triangulate.area(y);var B=[p[k],p[m],e[n]];x=THREE.FontUtils.Triangulate.area(B);w=n;v=k;n+=1;k+=-1;n<0&&(n+=e.length);n%=
+e.length;k<0&&(k+=p.length);k%=p.length;h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;y=[p[k],e[n],e[h]];y=THREE.FontUtils.Triangulate.area(y);B=[p[k],p[m],e[n]];B=THREE.FontUtils.Triangulate.area(B);t+x>y+B&&(n=w,k=v,n<0&&(n+=e.length),n%=e.length,k<0&&(k+=p.length),k%=p.length,h=n-1>=0?n-1:e.length-1,m=k-1>=0?k-1:p.length-1);t=e.slice(0,n);x=e.slice(n);w=p.slice(k);v=p.slice(0,k);m=[p[k],p[m],e[n]];z.push([p[k],e[n],e[h]]);z.push(m);e=t.concat(w).concat(v).concat(x)}return{shape:e,isolatedPts:z,
+allpoints:f}},triangulateShape:function(b,c){var e=THREE.Shape.Utils.removeHoles(b,c),f=e.allpoints,h=e.isolatedPts,e=THREE.FontUtils.Triangulate(e.shape,!1),m,k,n,u,p={};m=0;for(k=f.length;m<k;m++)u=f[m].x+":"+f[m].y,p[u]!==void 0&&console.log("Duplicate point",u),p[u]=m;m=0;for(k=e.length;m<k;m++){n=e[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}m=0;for(k=h.length;m<k;m++){n=h[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}return e.concat(h)},isClockWise:function(b){return THREE.FontUtils.Triangulate.area(b)<
+0},b2p0:function(b,c){var e=1-b;return e*e*c},b2p1:function(b,c){return 2*(1-b)*b*c},b2p2:function(b,c){return b*b*c},b2:function(b,c,e,f){return this.b2p0(b,c)+this.b2p1(b,e)+this.b2p2(b,f)},b3p0:function(b,c){var e=1-b;return e*e*e*c},b3p1:function(b,c){var e=1-b;return 3*e*e*b*c},b3p2:function(b,c){return 3*(1-b)*b*b*c},b3p3:function(b,c){return b*b*b*c},b3:function(b,c,e,f,h){return this.b3p0(b,c)+this.b3p1(b,e)+this.b3p2(b,f)+this.b3p3(b,h)}};
+THREE.TextPath=function(b,c){THREE.Path.call(this);this.parameters=c||{};this.set(b)};THREE.TextPath.prototype.set=function(b,c){this.text=b;var c=c||this.parameters,e=c.curveSegments!==void 0?c.curveSegments:4,f=c.font!==void 0?c.font:"helvetiker",h=c.weight!==void 0?c.weight:"normal",m=c.style!==void 0?c.style:"normal";THREE.FontUtils.size=c.size!==void 0?c.size:100;THREE.FontUtils.divisions=e;THREE.FontUtils.face=f;THREE.FontUtils.weight=h;THREE.FontUtils.style=m};
+THREE.TextPath.prototype.toShapes=function(){for(var b=THREE.FontUtils.drawText(this.text).paths,c=[],e=0,f=b.length;e<f;e++)c=c.concat(b[e].toShapes());return c};
+THREE.AnimationHandler=function(){var b=[],c={},e={update:function(e){for(var c=0;c<b.length;c++)b[c].update(e)},addToUpdate:function(e){b.indexOf(e)===-1&&b.push(e)},removeFromUpdate:function(e){e=b.indexOf(e);e!==-1&&b.splice(e,1)},add:function(b){c[b.name]!==void 0&&console.log("THREE.AnimationHandler.add: Warning! "+b.name+" already exists in library. Overwriting.");c[b.name]=b;if(b.initialized!==!0){for(var e=0;e<b.hierarchy.length;e++){for(var f=0;f<b.hierarchy[e].keys.length;f++){if(b.hierarchy[e].keys[f].time<
+0)b.hierarchy[e].keys[f].time=0;if(b.hierarchy[e].keys[f].rot!==void 0&&!(b.hierarchy[e].keys[f].rot instanceof THREE.Quaternion)){var n=b.hierarchy[e].keys[f].rot;b.hierarchy[e].keys[f].rot=new THREE.Quaternion(n[0],n[1],n[2],n[3])}}if(b.hierarchy[e].keys[0].morphTargets!==void 0){n={};for(f=0;f<b.hierarchy[e].keys.length;f++)for(var u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++){var p=b.hierarchy[e].keys[f].morphTargets[u];n[p]=-1}b.hierarchy[e].usedMorphTargets=n;for(f=0;f<b.hierarchy[e].keys.length;f++){var v=
+{};for(p in n){for(u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++)if(b.hierarchy[e].keys[f].morphTargets[u]===p){v[p]=b.hierarchy[e].keys[f].morphTargetsInfluences[u];break}u===b.hierarchy[e].keys[f].morphTargets.length&&(v[p]=0)}b.hierarchy[e].keys[f].morphTargetsInfluences=v}}for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].time===b.hierarchy[e].keys[f-1].time&&(b.hierarchy[e].keys.splice(f,1),f--);for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].index=f}f=parseInt(b.length*
+b.fps,10);b.JIT={};b.JIT.hierarchy=[];for(e=0;e<b.hierarchy.length;e++)b.JIT.hierarchy.push(Array(f));b.initialized=!0}},get:function(b){if(typeof b==="string")return c[b]?c[b]:(console.log("THREE.AnimationHandler.get: Couldn't find animation "+b),null)},parse:function(b){var e=[];if(b instanceof THREE.SkinnedMesh)for(var c=0;c<b.bones.length;c++)e.push(b.bones[c]);else f(b,e);return e}},f=function(b,e){e.push(b);for(var c=0;c<b.children.length;c++)f(b.children[c],e)};e.LINEAR=0;e.CATMULLROM=1;e.CATMULLROM_FORWARD=
+2;return e}();THREE.Animation=function(b,c,e,f){this.root=b;this.data=THREE.AnimationHandler.get(c);this.hierarchy=THREE.AnimationHandler.parse(b);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=e!==void 0?e:THREE.AnimationHandler.LINEAR;this.JITCompile=f!==void 0?f:!0;this.points=[];this.target=new THREE.Vector3};
+THREE.Animation.prototype.play=function(b,c){if(!this.isPlaying){this.isPlaying=!0;this.loop=b!==void 0?b:!0;this.currentTime=c!==void 0?c:0;var e,f=this.hierarchy.length,h;for(e=0;e<f;e++){h=this.hierarchy[e];if(this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD)h.useQuaternion=!0;h.matrixAutoUpdate=!0;if(h.animationCache===void 0)h.animationCache={},h.animationCache.prevKey={pos:0,rot:0,scl:0},h.animationCache.nextKey={pos:0,rot:0,scl:0},h.animationCache.originalMatrix=h instanceof
+THREE.Bone?h.skinMatrix:h.matrix;var m=h.animationCache.prevKey;h=h.animationCache.nextKey;m.pos=this.data.hierarchy[e].keys[0];m.rot=this.data.hierarchy[e].keys[0];m.scl=this.data.hierarchy[e].keys[0];h.pos=this.getNextKeyWith("pos",e,1);h.rot=this.getNextKeyWith("rot",e,1);h.scl=this.getNextKeyWith("scl",e,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
+THREE.Animation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
+THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var b=0;b<this.hierarchy.length;b++)if(this.hierarchy[b].animationCache!==void 0)this.hierarchy[b]instanceof THREE.Bone?this.hierarchy[b].skinMatrix=this.hierarchy[b].animationCache.originalMatrix:this.hierarchy[b].matrix=this.hierarchy[b].animationCache.originalMatrix,delete this.hierarchy[b].animationCache};
+THREE.Animation.prototype.update=function(b){if(this.isPlaying){var c=["pos","rot","scl"],e,f,h,m,k,n,u,p,v=this.data.JIT.hierarchy,t,x;this.currentTime+=b*this.timeScale;x=this.currentTime;t=this.currentTime%=this.data.length;p=parseInt(Math.min(t*this.data.fps,this.data.length*this.data.fps),10);for(var w=0,z=this.hierarchy.length;w<z;w++)if(b=this.hierarchy[w],u=b.animationCache,this.JITCompile&&v[w][p]!==void 0)b instanceof THREE.Bone?(b.skinMatrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=
+!1):(b.matrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!0);else{if(this.JITCompile)b instanceof THREE.Bone?b.skinMatrix=b.animationCache.originalMatrix:b.matrix=b.animationCache.originalMatrix;for(var y=0;y<3;y++){e=c[y];k=u.prevKey[e];n=u.nextKey[e];if(n.time<=x){if(t<x)if(this.loop){k=this.data.hierarchy[w].keys[0];for(n=this.getNextKeyWith(e,w,1);n.time<t;)k=n,n=this.getNextKeyWith(e,w,n.index+1)}else{this.stop();return}else{do k=n,n=this.getNextKeyWith(e,w,n.index+1);while(n.time<
+t)}u.prevKey[e]=k;u.nextKey[e]=n}b.matrixAutoUpdate=!0;b.matrixWorldNeedsUpdate=!0;f=(t-k.time)/(n.time-k.time);h=k[e];m=n[e];if(f<0||f>1)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+f+" on bone "+w),f=f<0?0:1;if(e==="pos")if(e=b.position,this.interpolationType===THREE.AnimationHandler.LINEAR)e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)if(this.points[0]=
+this.getPrevKeyWith("pos",w,k.index-1).pos,this.points[1]=h,this.points[2]=m,this.points[3]=this.getNextKeyWith("pos",w,n.index+1).pos,f=f*0.33+0.33,h=this.interpolateCatmullRom(this.points,f),e.x=h[0],e.y=h[1],e.z=h[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)f=this.interpolateCatmullRom(this.points,f*1.01),this.target.set(f[0],f[1],f[2]),this.target.subSelf(e),this.target.y=0,this.target.normalize(),f=Math.atan2(this.target.x,this.target.z),b.rotation.set(0,f,0)}else if(e===
+"rot")THREE.Quaternion.slerp(h,m,b.quaternion,f);else if(e==="scl")e=b.scale,e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f}}if(this.JITCompile&&v[0][p]===void 0){this.hierarchy[0].update(void 0,!0);for(w=0;w<this.hierarchy.length;w++)v[w][p]=this.hierarchy[w]instanceof THREE.Bone?this.hierarchy[w].skinMatrix.clone():this.hierarchy[w].matrix.clone()}}};
+THREE.Animation.prototype.interpolateCatmullRom=function(b,c){var e=[],f=[],h,m,k,n,u,p;h=(b.length-1)*c;m=Math.floor(h);h-=m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>b.length-2?m:m+1;e[3]=m>b.length-3?m:m+2;m=b[e[0]];n=b[e[1]];u=b[e[2]];p=b[e[3]];e=h*h;k=h*e;f[0]=this.interpolate(m[0],n[0],u[0],p[0],h,e,k);f[1]=this.interpolate(m[1],n[1],u[1],p[1],h,e,k);f[2]=this.interpolate(m[2],n[2],u[2],p[2],h,e,k);return f};
+THREE.Animation.prototype.interpolate=function(b,c,e,f,h,m,k){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*k+(-3*(c-e)-2*b-f)*m+b*h+c};THREE.Animation.prototype.getNextKeyWith=function(b,c,e){var f=this.data.hierarchy[c].keys;for(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e=e<f.length-1?e:f.length-1:e%=f.length;e<f.length;e++)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[0]};
+THREE.Animation.prototype.getPrevKeyWith=function(b,c,e){for(var f=this.data.hierarchy[c].keys,e=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e>0?e:0:e>=0?e:e+f.length;e>=0;e--)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[f.length-1]};
+THREE.FirstPersonCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.movementSpeed=1;this.lookSpeed=0.005;this.noFly=!1;this.lookVertical=!0;this.autoForward=!1;this.activeLook=!0;this.heightSpeed=!1;this.heightCoef=1;this.heightMin=0;this.constrainVertical=!1;this.verticalMin=0;this.verticalMax=3.14;this.domElement=document;this.lastUpdate=(new Date).getTime();this.tdiff=0;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=
+b.movementSpeed;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.noFly!==void 0)this.noFly=b.noFly;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.autoForward!==void 0)this.autoForward=b.autoForward;if(b.activeLook!==void 0)this.activeLook=b.activeLook;if(b.heightSpeed!==void 0)this.heightSpeed=b.heightSpeed;if(b.heightCoef!==void 0)this.heightCoef=b.heightCoef;if(b.heightMin!==void 0)this.heightMin=b.heightMin;if(b.heightMax!==void 0)this.heightMax=b.heightMax;if(b.constrainVertical!==
+void 0)this.constrainVertical=b.constrainVertical;if(b.verticalMin!==void 0)this.verticalMin=b.verticalMin;if(b.verticalMax!==void 0)this.verticalMax=b.verticalMax;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=!1;this.windowHalfX=window.innerWidth/2;this.windowHalfY=window.innerHeight/2;this.onMouseDown=function(b){b.preventDefault();
+b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0};this.onMouseUp=function(b){b.preventDefault();b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1};this.onMouseMove=function(b){this.mouseX=b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.onKeyDown=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=
+!0;break;case 37:case 65:this.moveLeft=!0;break;case 40:case 83:this.moveBackward=!0;break;case 39:case 68:this.moveRight=!0;break;case 82:this.moveUp=!0;break;case 70:this.moveDown=!0;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=!1;break;case 37:case 65:this.moveLeft=!1;break;case 40:case 83:this.moveBackward=!1;break;case 39:case 68:this.moveRight=!1;break;case 82:this.moveUp=!1;break;case 70:this.moveDown=!1}};this.update=
+function(){var b=(new Date).getTime();this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;if(!this.freeze){this.autoSpeedFactor=this.heightSpeed?this.tdiff*((this.position.y<this.heightMin?this.heightMin:this.position.y>this.heightMax?this.heightMax:this.position.y)-this.heightMin)*this.heightCoef:0;var c=this.tdiff*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.translateZ(-(c+this.autoSpeedFactor));this.moveBackward&&this.translateZ(c);this.moveLeft&&this.translateX(-c);
+this.moveRight&&this.translateX(c);this.moveUp&&this.translateY(c);this.moveDown&&this.translateY(-c);c=this.tdiff*this.lookSpeed;this.activeLook||(c=0);this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b=this.target.position,h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*Math.sin(this.theta)}b=
+1;this.constrainVertical&&(b=3.14/(this.verticalMax-this.verticalMin));this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c*b);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=(this.phi-0)*(this.verticalMax-this.verticalMin)/3.14+this.verticalMin;b=this.target.position;h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*
+Math.sin(this.theta);this.supr.update.call(this)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),!1);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),!1);this.domElement.addEventListener("mouseup",c(this,this.onMouseUp),!1);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),!1);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),!1)};
+THREE.FirstPersonCamera.prototype=new THREE.Camera;THREE.FirstPersonCamera.prototype.constructor=THREE.FirstPersonCamera;THREE.FirstPersonCamera.prototype.supr=THREE.Camera.prototype;THREE.FirstPersonCamera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);if(this.noFly)c.y=0;this.position.addSelf(c.multiplyScalar(b));this.target.position.addSelf(c.multiplyScalar(b))};
+THREE.PathCamera=function(b){function c(b,e,c,f){var k={name:c,fps:0.6,length:f,hierarchy:[]},h,m=e.getControlPointsArray(),n=e.getLength(),u=m.length,G=0;h=u-1;e={parent:-1,keys:[]};e.keys[0]={time:0,pos:m[0],rot:[0,0,0,1],scl:[1,1,1]};e.keys[h]={time:f,pos:m[h],rot:[0,0,0,1],scl:[1,1,1]};for(h=1;h<u-1;h++)G=f*n.chunks[h]/n.total,e.keys[h]={time:G,pos:m[h]};k.hierarchy[0]=e;THREE.AnimationHandler.add(k);return new THREE.Animation(b,c,THREE.AnimationHandler.CATMULLROM_FORWARD,!1)}function e(b,e){var c,
+f,k=new THREE.Geometry;for(c=0;c<b.points.length*e;c++)f=c/(b.points.length*e),f=b.getPoint(f),k.vertices[c]=new THREE.Vertex(new THREE.Vector3(f.x,f.y,f.z));return k}function f(b,c){var f=e(c,10),k=e(c,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3});lineObj=new THREE.Line(f,h);particleObj=new THREE.ParticleSystem(k,new THREE.ParticleBasicMaterial({color:16755200,size:3}));lineObj.scale.set(1,1,1);b.addChild(lineObj);particleObj.scale.set(1,1,1);b.addChild(particleObj);k=new THREE.SphereGeometry(1,
+16,8);h=new THREE.MeshBasicMaterial({color:65280});for(i=0;i<c.points.length;i++)f=new THREE.Mesh(k,h),f.position.copy(c.points[i]),f.updateMatrix(),b.addChild(f)}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.id="PathCamera"+THREE.PathCameraIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=!0;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=
+this.lookVertical=!0;this.verticalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.horizontalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.domElement=document;if(b){if(b.duration!==void 0)this.duration=b.duration*1E3;if(b.waypoints!==void 0)this.waypoints=b.waypoints;if(b.useConstantSpeed!==void 0)this.useConstantSpeed=b.useConstantSpeed;if(b.resamplingCoef!==void 0)this.resamplingCoef=b.resamplingCoef;if(b.createDebugPath!==void 0)this.createDebugPath=b.createDebugPath;if(b.createDebugDummy!==
+void 0)this.createDebugDummy=b.createDebugDummy;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.lookHorizontal!==void 0)this.lookHorizontal=b.lookHorizontal;if(b.verticalAngleMap!==void 0)this.verticalAngleMap=b.verticalAngleMap;if(b.horizontalAngleMap!==void 0)this.horizontalAngleMap=b.horizontalAngleMap;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;this.windowHalfX=
+window.innerWidth/2;this.windowHalfY=window.innerHeight/2;var h=Math.PI*2,m=Math.PI/180;this.update=function(b,e,c){var f,k;this.lookHorizontal&&(this.lon+=this.mouseX*this.lookSpeed);this.lookVertical&&(this.lat-=this.mouseY*this.lookSpeed);this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*m;this.theta=this.lon*m;f=this.phi%h;this.phi=f>=0?f:f+h;f=this.verticalAngleMap.srcRange;k=this.verticalAngleMap.dstRange;var n=k[1]-k[0];this.phi=
+TWEEN.Easing.Quadratic.EaseInOut(((this.phi-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.horizontalAngleMap.srcRange;k=this.horizontalAngleMap.dstRange;n=k[1]-k[0];this.theta=TWEEN.Easing.Quadratic.EaseInOut(((this.theta-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.target.position;f.x=100*Math.sin(this.phi)*Math.cos(this.theta);f.y=100*Math.cos(this.phi);f.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.supr.update.call(this,b,e,c)};this.onMouseMove=function(b){this.mouseX=
+b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var b=new THREE.MeshLambertMaterial({color:30719}),k=new THREE.MeshLambertMaterial({color:65280}),n=new THREE.CubeGeometry(10,10,20),u=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(n,b);b=new THREE.Mesh(u,k);b.position.set(0,10,0);this.animation=
+c(this.animationParent,this.spline,this.id,this.duration);this.animationParent.addChild(this);this.animationParent.addChild(this.target);this.animationParent.addChild(b)}else this.animation=c(this.animationParent,this.spline,this.id,this.duration),this.animationParent.addChild(this.target),this.animationParent.addChild(this);this.createDebugPath&&f(this.debugPath,this.spline);this.domElement.addEventListener("mousemove",function(b,e){return function(){e.apply(b,arguments)}}(this,this.onMouseMove),
+!1)};THREE.PathCamera.prototype=new THREE.Camera;THREE.PathCamera.prototype.constructor=THREE.PathCamera;THREE.PathCamera.prototype.supr=THREE.Camera.prototype;THREE.PathCameraIdCounter=0;
+THREE.FlyCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.tmpQuaternion=new THREE.Quaternion;this.movementSpeed=1;this.rollSpeed=0.005;this.autoForward=this.dragToLook=!1;this.domElement=document;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=b.movementSpeed;if(b.rollSpeed!==void 0)this.rollSpeed=b.rollSpeed;if(b.dragToLook!==void 0)this.dragToLook=b.dragToLook;if(b.autoForward!==void 0)this.autoForward=
+b.autoForward;if(b.domElement!==void 0)this.domElement=b.domElement}this.useTarget=!1;this.useQuaternion=!0;this.mouseStatus=0;this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0};this.moveVector=new THREE.Vector3(0,0,0);this.rotationVector=new THREE.Vector3(0,0,0);this.lastUpdate=-1;this.tdiff=0;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.keydown=function(b){if(!b.altKey){switch(b.keyCode){case 16:this.movementSpeedMultiplier=
+0.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector();this.updateRotationVector()}};
+this.keyup=function(b){switch(b.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;
+case 69:this.moveState.rollRight=0}this.updateMovementVector();this.updateRotationVector()};this.mousedown=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus++;else switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}};this.mousemove=function(b){if(!this.dragToLook||this.mouseStatus>0){var c=this.getContainerDimensions(),h=c.size[0]/2,m=c.size[1]/2;this.moveState.yawLeft=-(b.clientX-c.offset[0]-h)/h;this.moveState.pitchDown=(b.clientY-
+c.offset[1]-m)/m;this.updateRotationVector()}};this.mouseup=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.updateRotationVector()};this.update=function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;var b=this.tdiff*this.movementSpeed,c=this.tdiff*
+this.rollSpeed;this.translateX(this.moveVector.x*b);this.translateY(this.moveVector.y*b);this.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*c,this.rotationVector.y*c,this.rotationVector.z*c,1).normalize();this.quaternion.multiplySelf(this.tmpQuaternion);this.matrix.setPosition(this.position);this.matrix.setRotationFromQuaternion(this.quaternion);this.matrixWorldNeedsUpdate=!0;this.supr.update.call(this)};this.updateMovementVector=function(){var b=this.moveState.forward||
+this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-b+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=
+document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",c(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",c(this,this.mouseup),!1);window.addEventListener("keydown",c(this,this.keydown),!1);window.addEventListener("keyup",c(this,
+this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
+THREE.RollCamera=function(b,c,e,f){THREE.Camera.call(this,b,c,e,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.matrixAutoUpdate=this.useTarget=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=-1;this.delta=0;var h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Matrix4,u=!1,p=1,v=0,t=0,x=0,w=0,z=0,y=window.innerWidth/2,B=window.innerHeight/2;this.update=
+function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.delta=(b-this.lastUpdate)/1E3;this.lastUpdate=b;this.mouseLook&&(b=this.delta*this.lookSpeed,this.rotateHorizontally(b*w),this.rotateVertically(b*z));b=this.delta*this.movementSpeed;this.translateZ(b*(v>0||this.autoForward&&!(v<0)?1:v));this.translateX(b*t);this.translateY(b*x);u&&(this.roll+=this.rollSpeed*this.delta*p);if(this.forward.y>this.constrainVertical[1])this.forward.y=this.constrainVertical[1],this.forward.normalize();
+else if(this.forward.y<this.constrainVertical[0])this.forward.y=this.constrainVertical[0],this.forward.normalize();k.copy(this.forward);m.set(0,1,0);h.cross(m,k).normalize();m.cross(k,h).normalize();this.matrix.n11=h.x;this.matrix.n12=m.x;this.matrix.n13=k.x;this.matrix.n21=h.y;this.matrix.n22=m.y;this.matrix.n23=k.y;this.matrix.n31=h.z;this.matrix.n32=m.z;this.matrix.n33=k.z;n.identity();n.n11=Math.cos(this.roll);n.n12=-Math.sin(this.roll);n.n21=Math.sin(this.roll);n.n22=Math.cos(this.roll);this.matrix.multiplySelf(n);
+this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(b){this.position.x+=this.matrix.n11*b;this.position.y+=this.matrix.n21*b;this.position.z+=this.matrix.n31*b};this.translateY=function(b){this.position.x+=this.matrix.n12*b;this.position.y+=this.matrix.n22*b;this.position.z+=this.matrix.n32*b};this.translateZ=function(b){this.position.x-=this.matrix.n13*b;this.position.y-=
+this.matrix.n23*b;this.position.z-=this.matrix.n33*b};this.rotateHorizontally=function(b){h.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);h.multiplyScalar(b);this.forward.subSelf(h);this.forward.normalize()};this.rotateVertically=function(b){m.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);m.multiplyScalar(b);this.forward.addSelf(m);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+function(b){w=(b.clientX-y)/window.innerWidth;z=(b.clientY-B)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=1;break;case 2:v=-1}},!1);this.domElement.addEventListener("mouseup",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=0;break;case 2:v=0}},!1);this.domElement.addEventListener("keydown",function(b){switch(b.keyCode){case 38:case 87:v=1;break;case 37:case 65:t=-1;break;
+case 40:case 83:v=-1;break;case 39:case 68:t=1;break;case 81:u=!0;p=1;break;case 69:u=!0;p=-1;break;case 82:x=1;break;case 70:x=-1}},!1);this.domElement.addEventListener("keyup",function(b){switch(b.keyCode){case 38:case 87:v=0;break;case 37:case 65:t=0;break;case 40:case 83:v=0;break;case 39:case 68:t=0;break;case 81:u=!1;break;case 69:u=!1;break;case 82:x=0;break;case 70:x=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
+THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}b=b||{};THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.domElement=b.domElement||document;this.screen=b.screen||{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0};this.radius=b.radius||(this.screen.width+this.screen.height)/4;this.rotateSpeed=b.rotateSpeed||1;this.zoomSpeed=b.zoomSpeed||1.2;this.panSpeed=b.panSpeed||0.3;this.noZoom=b.noZoom||!1;this.noPan=b.noPan||
+!1;this.staticMoving=b.staticMoving||!1;this.dynamicDampingFactor=b.dynamicDampingFactor||0.2;this.minDistance=b.minDistance||0;this.maxDistance=b.maxDistance||Infinity;this.keys=b.keys||[65,83,68];this.useTarget=!0;var e=!1,f=this.STATE.NONE,h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Vector2,u=new THREE.Vector2,p=new THREE.Vector2,v=new THREE.Vector2;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.getMouseOnScreen=function(b,c){return new THREE.Vector2((b-
+this.screen.offsetLeft)/this.radius*0.5,(c-this.screen.offsetTop)/this.radius*0.5)};this.getMouseProjectionOnBall=function(b,c){var e=new THREE.Vector3((b-this.screen.width*0.5-this.screen.offsetLeft)/this.radius,(this.screen.height*0.5+this.screen.offsetTop-c)/this.radius,0),f=e.length();f>1?e.normalize():e.z=Math.sqrt(1-f*f);h=this.position.clone().subSelf(this.target.position);f=this.up.clone().setLength(e.y);f.addSelf(this.up.clone().crossSelf(h).setLength(e.x));f.addSelf(h.setLength(e.z));return f};
+this.rotateCamera=function(){var b=Math.acos(m.dot(k)/m.length()/k.length());if(b){var c=(new THREE.Vector3).cross(m,k).normalize(),e=new THREE.Quaternion;b*=this.rotateSpeed;e.setFromAxisAngle(c,-b);e.multiplyVector3(h);e.multiplyVector3(this.up);e.multiplyVector3(k);this.staticMoving?m=k:(e.setFromAxisAngle(c,b*(this.dynamicDampingFactor-1)),e.multiplyVector3(m))}};this.zoomCamera=function(){var b=1+(u.y-n.y)*this.zoomSpeed;b!==1&&b>0&&(h.multiplyScalar(b),this.staticMoving?n=u:n.y+=(u.y-n.y)*this.dynamicDampingFactor)};
+this.panCamera=function(){var b=v.clone().subSelf(p);if(b.lengthSq()){b.multiplyScalar(h.length()*this.panSpeed);var c=h.clone().crossSelf(this.up).setLength(b.x);c.addSelf(this.up.clone().setLength(b.y));this.position.addSelf(c);this.target.position.addSelf(c);this.staticMoving?p=v:p.addSelf(b.sub(v,p).multiplyScalar(this.dynamicDampingFactor))}};this.checkDistances=function(){if(!this.noZoom||!this.noPan)this.position.lengthSq()>this.maxDistance*this.maxDistance&&this.position.setLength(this.maxDistance),
+h.lengthSq()<this.minDistance*this.minDistance&&this.position.add(this.target.position,h.setLength(this.minDistance))};this.update=function(b,c,e){h=this.position.clone().subSelf(this.target.position);this.rotateCamera();this.noZoom||this.zoomCamera();this.noPan||this.panCamera();this.position.add(this.target.position,h);this.checkDistances();this.supr.update.call(this,b,c,e)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+c(this,function(b){e&&(m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY),n=u=this.getMouseOnScreen(b.clientX,b.clientY),p=v=this.getMouseOnScreen(b.clientX,b.clientY),e=!1);f!==this.STATE.NONE&&(f===this.STATE.ROTATE?k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?u=this.getMouseOnScreen(b.clientX,b.clientY):f===this.STATE.PAN&&!this.noPan&&(v=this.getMouseOnScreen(b.clientX,b.clientY)))}),!1);this.domElement.addEventListener("mousedown",c(this,function(b){b.preventDefault();
+b.stopPropagation();if(f===this.STATE.NONE)f=b.button,f===this.STATE.ROTATE?m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?n=u=this.getMouseOnScreen(b.clientX,b.clientY):this.noPan||(p=v=this.getMouseOnScreen(b.clientX,b.clientY))}),!1);this.domElement.addEventListener("mouseup",c(this,function(b){b.preventDefault();b.stopPropagation();f=this.STATE.NONE}),!1);window.addEventListener("keydown",c(this,function(b){if(f===this.STATE.NONE){if(b.keyCode===this.keys[this.STATE.ROTATE])f=
+this.STATE.ROTATE;else if(b.keyCode===this.keys[this.STATE.ZOOM]&&!this.noZoom)f=this.STATE.ZOOM;else if(b.keyCode===this.keys[this.STATE.PAN]&&!this.noPan)f=this.STATE.PAN;f!==this.STATE.NONE&&(e=!0)}}),!1);window.addEventListener("keyup",c(this,function(){if(f!==this.STATE.NONE)f=this.STATE.NONE}),!1)};THREE.TrackballCamera.prototype=new THREE.Camera;THREE.TrackballCamera.prototype.constructor=THREE.TrackballCamera;THREE.TrackballCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera.prototype.STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2};THREE.QuakeCamera=THREE.FirstPersonCamera;
+THREE.CubeGeometry=function(b,c,e,f,h,m,k,n,u){function p(b,c,e,k,n,p,t,u){var w,x,y=f||1,z=h||1,O=n/2,S=p/2,P=v.vertices.length;if(b=="x"&&c=="y"||b=="y"&&c=="x")w="z";else if(b=="x"&&c=="z"||b=="z"&&c=="x")w="y",z=m||1;else if(b=="z"&&c=="y"||b=="y"&&c=="z")w="x",y=m||1;var o=y+1,W=z+1;n/=y;var na=p/z;for(x=0;x<W;x++)for(p=0;p<o;p++){var R=new THREE.Vector3;R[b]=(p*n-O)*e;R[c]=(x*na-S)*k;R[w]=t;v.vertices.push(new THREE.Vertex(R))}for(x=0;x<z;x++)for(p=0;p<y;p++)v.faces.push(new THREE.Face4(p+o*
+x+P,p+o*(x+1)+P,p+1+o*(x+1)+P,p+1+o*x+P,null,null,u)),v.faceVertexUvs[0].push([new THREE.UV(p/y,x/z),new THREE.UV(p/y,(x+1)/z),new THREE.UV((p+1)/y,(x+1)/z),new THREE.UV((p+1)/y,x/z)])}THREE.Geometry.call(this);var v=this,t=b/2,x=c/2,w=e/2,n=n?-1:1;if(k!==void 0)if(k instanceof Array)this.materials=k;else{this.materials=[];for(var z=0;z<6;z++)this.materials.push([k])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(u!=void 0)for(var y in u)this.sides[y]!=void 0&&(this.sides[y]=
+u[y]);this.sides.px&&p("z","y",1*n,-1,e,c,-t,this.materials[0]);this.sides.nx&&p("z","y",-1*n,-1,e,c,t,this.materials[1]);this.sides.py&&p("x","z",1*n,1,b,e,x,this.materials[2]);this.sides.ny&&p("x","z",1*n,-1,b,e,-x,this.materials[3]);this.sides.pz&&p("x","y",1*n,-1,b,c,w,this.materials[4]);this.sides.nz&&p("x","y",-1*n,-1,b,c,-w,this.materials[5]);(function(){for(var b=[],c=[],e=0,f=v.vertices.length;e<f;e++){for(var k=v.vertices[e],h=!1,m=0,n=b.length;m<n;m++){var p=b[m];if(k.position.x==p.position.x&&
+k.position.y==p.position.y&&k.position.z==p.position.z){c[e]=m;h=!0;break}}if(!h)c[e]=b.length,b.push(new THREE.Vertex(k.position.clone()))}e=0;for(f=v.faces.length;e<f;e++)k=v.faces[e],k.a=c[k.a],k.b=c[k.b],k.c=c[k.c],k.d=c[k.d];v.vertices=b})();this.computeCentroids();this.computeFaceNormals()};THREE.CubeGeometry.prototype=new THREE.Geometry;THREE.CubeGeometry.prototype.constructor=THREE.CubeGeometry;
+THREE.CylinderGeometry=function(b,c,e,f,h,m){function k(b,c,e){n.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}THREE.Geometry.call(this);var n=this,u,p=Math.PI*2,v=f/2;for(u=0;u<b;u++)k(Math.sin(p*u/b)*c,Math.cos(p*u/b)*c,-v);for(u=0;u<b;u++)k(Math.sin(p*u/b)*e,Math.cos(p*u/b)*e,v);var t,x,w,z,y=c-e;for(u=0;u<b;u++)t=new THREE.Vector3,t.copy(n.vertices[u].position),t.z=y,t.normalize(),x=new THREE.Vector3,x.copy(n.vertices[u+b].position),x.z=y,x.normalize(),w=new THREE.Vector3,w.copy(n.vertices[b+
+(u+1)%b].position),w.z=y,w.normalize(),z=new THREE.Vector3,z.copy(n.vertices[(u+1)%b].position),z.z=y,z.normalize(),n.faces.push(new THREE.Face4(u,u+b,b+(u+1)%b,(u+1)%b,[t,x,w,z]));if(e>0){e=new THREE.Vector3(0,0,-1);k(0,0,-v-(m||0));for(u=b;u<b+b/2;u++)n.faces.push(new THREE.Face4(2*b,(2*u-2*b)%b,(2*u-2*b+1)%b,(2*u-2*b+2)%b,[e,e,e,e]))}if(c>0){c=new THREE.Vector3(0,0,1);k(0,0,v+(h||0));for(u=b+b/2;u<2*b;u++)n.faces.push(new THREE.Face4(2*b+1,(2*u-2*b+2)%b+b,(2*u-2*b+1)%b+b,(2*u-2*b)%b+b,[c,c,c,c]))}u=
+0;for(b=this.faces.length;u<b;u++)h=[],v=this.faces[u],c=this.vertices[v.a],m=this.vertices[v.b],e=this.vertices[v.c],t=this.vertices[v.d],h.push(new THREE.UV(0.5+Math.atan2(c.position.x,c.position.y)/p,0.5+c.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(m.position.x,m.position.y)/p,0.5+m.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(e.position.x,e.position.y)/p,0.5+e.position.z/f)),v instanceof THREE.Face4&&h.push(new THREE.UV(0.5+Math.atan2(t.position.x,t.position.y)/p,0.5+t.position.z/
+f)),this.faceVertexUvs[0].push(h);this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=new THREE.Geometry;THREE.CylinderGeometry.prototype.constructor=THREE.CylinderGeometry;THREE.ExtrudeGeometry=function(b,c){if(typeof b!="undefined"){THREE.Geometry.call(this);var b=b instanceof Array?b:[b],e,f=b.length,h;this.shapebb=b[f-1].getBoundingBox();for(e=0;e<f;e++)h=b[e],this.addShape(h,c);this.computeCentroids();this.computeFaceNormals()}};
+THREE.ExtrudeGeometry.prototype=new THREE.Geometry;THREE.ExtrudeGeometry.prototype.constructor=THREE.ExtrudeGeometry;
+THREE.ExtrudeGeometry.prototype.addShape=function(b,c){function e(b,c,e){c||console.log("die");return c.clone().multiplyScalar(e).addSelf(b)}function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeometry.__v2,h=THREE.ExtrudeGeometry.__v3,m=THREE.ExtrudeGeometry.__v4,n=THREE.ExtrudeGeometry.__v5,o=THREE.ExtrudeGeometry.__v6;f.set(b.x-c.x,b.y-c.y);k.set(b.x-e.x,b.y-e.y);f=f.normalize();k=k.normalize();h.set(-f.y,f.x);m.set(k.y,-k.x);n.copy(b).addSelf(h);o.copy(b).addSelf(m);if(n.equals(o))return m.clone();
+n.copy(c).addSelf(h);o.copy(e).addSelf(m);h=f.dot(m);m=o.subSelf(n).dot(m);h==0&&(console.log("Either infinite or no solutions!"),m==0?console.log("Its finite solutions."):console.log("Too bad, no solutions."));m/=h;if(m<0)return c=Math.atan2(c.y-b.y,c.x-b.x),b=Math.atan2(e.y-b.y,e.x-b.x),c>b&&(b+=Math.PI*2),anglec=(c+b)/2,new THREE.Vector2(-Math.cos(anglec),-Math.sin(anglec));return f.multiplyScalar(m).addSelf(n).subSelf(b).clone()}function h(b){for(L=b.length;--L>=0;){ga=L;da=L-1;da<0&&(da=b.length-
+1);for(var c=0,e=w+v*2,c=0;c<e;c++){var f=na*c,k=na*(c+1),h=$+ga+f,m=$+ga+k,o=h,f=$+da+f,k=$+da+k,p=m;o+=U;f+=U;k+=U;p+=U;K.faces.push(new THREE.Face4(o,f,k,p,null,null,E));E&&(o=c/e,f=(c+1)/e,k=n+u*2,h=(K.vertices[h].position.z+u)/k,m=(K.vertices[m].position.z+u)/k,K.faceVertexUvs[0].push([new THREE.UV(h,o),new THREE.UV(m,o),new THREE.UV(m,f),new THREE.UV(h,f)]))}}}function m(b,c,e){K.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}function k(b,c,e){b+=U;c+=U;e+=U;K.faces.push(new THREE.Face3(b,
+c,e,null,null,H));if(H){var f=N.maxY,k=N.maxX,h=K.vertices[c].position.x,c=K.vertices[c].position.y,m=K.vertices[e].position.x,e=K.vertices[e].position.y;K.faceVertexUvs[0].push([new THREE.UV(K.vertices[b].position.x/k,K.vertices[b].position.y/f),new THREE.UV(h/k,c/f),new THREE.UV(m/k,e/f)])}}var n=c.amount!==void 0?c.amount:100,u=c.bevelThickness!==void 0?c.bevelThickness:6,p=c.bevelSize!==void 0?c.bevelSize:u-2,v=c.bevelSegments!==void 0?c.bevelSegments:3,t=c.bevelEnabled!==void 0?c.bevelEnabled:
+!0,x=c.curveSegments!==void 0?c.curveSegments:12,w=c.steps!==void 0?c.steps:1,z=c.bendPath,y=c.extrudePath,B,D=!1,G=c.useSpacedPoints!==void 0?c.useSpacedPoints:!1,H=c.material,E=c.extrudeMaterial,N=this.shapebb;if(y)B=y.getPoints(x),w=B.length,D=!0,t=!1;t||(p=u=v=0);var F,I,C,K=this,U=this.vertices.length;z&&b.addWrapPath(z);x=G?b.extractAllSpacedPoints(x):b.extractAllPoints(x);z=x.shape;x=x.holes;if(y=!THREE.Shape.Utils.isClockWise(z)){z=z.reverse();I=0;for(C=x.length;I<C;I++)F=x[I],THREE.Shape.Utils.isClockWise(F)&&
+(x[I]=F.reverse());y=!1}y=THREE.Shape.Utils.triangulateShape(z,x);G=z;I=0;for(C=x.length;I<C;I++)F=x[I],z=z.concat(F);var L,O,S,P,o,W,na=z.length,R=y.length,ia=[];L=0;O=G.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ia[L]=f(G[L],G[ga],G[da]);var aa=[],ma,fa=ia.concat();I=0;for(C=x.length;I<C;I++){F=x[I];ma=[];L=0;O=F.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ma[L]=f(F[L],F[ga],F[da]);aa.push(ma);fa=fa.concat(ma)}for(S=0;S<v;S++){P=S/v;o=u*(1-
+P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,-o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),m(W.x,W.y,-o)}}P=p;for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[0].y,B[0].x):m(W.x,W.y,0);for(S=1;S<=w;S++)for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[S-1].y,B[S-1].x):m(W.x,W.y,n/w*S);for(S=v-1;S>=0;S--){P=S/v;o=u*(1-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,
+n+o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),D?m(W.x,W.y+B[w-1].y,B[w-1].x+o):m(W.x,W.y,n+o)}}if(t){t=na*0;for(L=0;L<R;L++)p=y[L],k(p[2]+t,p[1]+t,p[0]+t);t=na*(w+v*2);for(L=0;L<R;L++)p=y[L],k(p[0]+t,p[1]+t,p[2]+t)}else{for(L=0;L<R;L++)p=y[L],k(p[2],p[1],p[0]);for(L=0;L<R;L++)p=y[L],k(p[0]+na*w,p[1]+na*w,p[2]+na*w)}var ga,da,$=0;h(G);$+=G.length;I=0;for(C=x.length;I<C;I++)F=x[I],h(F),$+=F.length};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;
+THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;
+THREE.IcosahedronGeometry=function(b){function c(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(new THREE.Vertex(new THREE.Vector3(b/f,c/f,e/f)))-1}function e(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}function f(b,e){var f=h.vertices[b].position,k=h.vertices[e].position;return c((f.x+k.x)/2,(f.y+k.y)/2,(f.z+k.z)/2)}var h=this,m=new THREE.Geometry;this.subdivisions=b||0;THREE.Geometry.call(this);b=(1+Math.sqrt(5))/2;c(-1,b,0);c(1,b,0);c(-1,-b,0);c(1,-b,0);c(0,-1,b);c(0,1,b);c(0,-1,
+-b);c(0,1,-b);c(b,0,-1);c(b,0,1);c(-b,0,-1);c(-b,0,1);e(0,11,5,m);e(0,5,1,m);e(0,1,7,m);e(0,7,10,m);e(0,10,11,m);e(1,5,9,m);e(5,11,4,m);e(11,10,2,m);e(10,7,6,m);e(7,1,8,m);e(3,9,4,m);e(3,4,2,m);e(3,2,6,m);e(3,6,8,m);e(3,8,9,m);e(4,9,5,m);e(2,4,11,m);e(6,2,10,m);e(8,6,7,m);e(9,8,1,m);for(var k=0;k<this.subdivisions;k++){var b=new THREE.Geometry,n;for(n in m.faces){var u=f(m.faces[n].a,m.faces[n].b),p=f(m.faces[n].b,m.faces[n].c),v=f(m.faces[n].c,m.faces[n].a);e(m.faces[n].a,u,v,b);e(m.faces[n].b,p,
+u,b);e(m.faces[n].c,v,p,b);e(u,p,v,b)}m.faces=b.faces}h.faces=m.faces;this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.IcosahedronGeometry.prototype=new THREE.Geometry;THREE.IcosahedronGeometry.prototype.constructor=THREE.IcosahedronGeometry;
+THREE.LatheGeometry=function(b,c,e){THREE.Geometry.call(this);this.steps=c||12;this.angle=e||2*Math.PI;for(var c=this.angle/this.steps,e=[],f=[],h=[],m=[],k=(new THREE.Matrix4).setRotationZ(c),n=0;n<b.length;n++)this.vertices.push(new THREE.Vertex(b[n])),e[n]=b[n].clone(),f[n]=this.vertices.length-1;for(var u=0;u<=this.angle+0.001;u+=c){for(n=0;n<e.length;n++)u<this.angle?(e[n]=k.multiplyVector3(e[n].clone()),this.vertices.push(new THREE.Vertex(e[n])),h[n]=this.vertices.length-1):h=m;u==0&&(m=f);
+for(n=0;n<f.length-1;n++)this.faces.push(new THREE.Face4(h[n],h[n+1],f[n+1],f[n])),this.faceVertexUvs[0].push([new THREE.UV(1-u/this.angle,n/b.length),new THREE.UV(1-u/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,n/b.length)]);f=h;h=[]}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=new THREE.Geometry;THREE.LatheGeometry.prototype.constructor=THREE.LatheGeometry;
+THREE.PlaneGeometry=function(b,c,e,f){THREE.Geometry.call(this);var h,m=b/2,k=c/2,e=e||1,f=f||1,n=e+1,u=f+1;b/=e;var p=c/f;for(h=0;h<u;h++)for(c=0;c<n;c++)this.vertices.push(new THREE.Vertex(new THREE.Vector3(c*b-m,-(h*p-k),0)));for(h=0;h<f;h++)for(c=0;c<e;c++)this.faces.push(new THREE.Face4(c+n*h,c+n*(h+1),c+1+n*(h+1),c+1+n*h)),this.faceVertexUvs[0].push([new THREE.UV(c/e,h/f),new THREE.UV(c/e,(h+1)/f),new THREE.UV((c+1)/e,(h+1)/f),new THREE.UV((c+1)/e,h/f)]);this.computeCentroids();this.computeFaceNormals()};
+THREE.PlaneGeometry.prototype=new THREE.Geometry;THREE.PlaneGeometry.prototype.constructor=THREE.PlaneGeometry;
+THREE.SphereGeometry=function(b,c,e){THREE.Geometry.call(this);for(var b=b||50,f,h=Math.PI,m=Math.max(3,c||8),k=Math.max(2,e||6),c=[],e=0;e<k+1;e++){f=e/k;var n=b*Math.cos(f*h),u=b*Math.sin(f*h),p=[],v=0;for(f=0;f<m;f++){var t=2*f/m,x=u*Math.sin(t*h),t=u*Math.cos(t*h);(e==0||e==k)&&f>0||(v=this.vertices.push(new THREE.Vertex(new THREE.Vector3(t,n,x)))-1);p.push(v)}c.push(p)}for(var w,z,y,h=c.length,e=0;e<h;e++)if(m=c[e].length,e>0)for(f=0;f<m;f++){p=f==m-1;k=c[e][p?0:f+1];n=c[e][p?m-1:f];u=c[e-1][p?
+m-1:f];p=c[e-1][p?0:f+1];x=e/(h-1);w=(e-1)/(h-1);z=(f+1)/m;var t=f/m,v=new THREE.UV(1-z,x),x=new THREE.UV(1-t,x),t=new THREE.UV(1-t,w),B=new THREE.UV(1-z,w);e<c.length-1&&(w=this.vertices[k].position.clone(),z=this.vertices[n].position.clone(),y=this.vertices[u].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,n,u,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,x,t]));e>1&&(w=
+this.vertices[k].position.clone(),z=this.vertices[u].position.clone(),y=this.vertices[p].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,u,p,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,t,B]))}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals();this.boundingSphere={radius:b}};THREE.SphereGeometry.prototype=new THREE.Geometry;
+THREE.SphereGeometry.prototype.constructor=THREE.SphereGeometry;
+THREE.TextGeometry=function(b,c){var e=(new THREE.TextPath(b,c)).toShapes();c.amount=c.height!==void 0?c.height:50;if(c.bevelThickness===void 0)c.bevelThickness=10;if(c.bevelSize===void 0)c.bevelSize=8;if(c.bevelEnabled===void 0)c.bevelEnabled=!1;if(c.bend){var f=e[e.length-1].getBoundingBox().maxX;c.bendPath=new THREE.QuadraticBezierCurve(new THREE.Vector2(0,0),new THREE.Vector2(f/2,120),new THREE.Vector2(f,0))}THREE.ExtrudeGeometry.call(this,e,c)};THREE.TextGeometry.prototype=new THREE.ExtrudeGeometry;
+THREE.TextGeometry.prototype.constructor=THREE.TextGeometry;
+THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},getTextShapes:function(b,c){return(new TextPath(b,c)).toShapes()},loadFace:function(b){var c=b.familyName.toLowerCase();this.faces[c]=this.faces[c]||{};this.faces[c][b.cssFontWeight]=this.faces[c][b.cssFontWeight]||{};this.faces[c][b.cssFontWeight][b.cssFontStyle]=b;return this.faces[c][b.cssFontWeight][b.cssFontStyle]=b},drawText:function(b){for(var c=
+this.getFace(),e=this.size/c.resolution,f=0,h=String(b).split(""),m=h.length,k=[],b=0;b<m;b++){var n=new THREE.Path,n=this.extractGlyphPoints(h[b],c,e,f,n);f+=n.offset;k.push(n.path)}return{paths:k,offset:f/2}},extractGlyphPoints:function(b,c,e,f,h){var m=[],k,n,u,p,v,t,x,w,z,y,B=c.glyphs[b]||c.glyphs[ctxt.options.fallbackCharacter];if(B){if(B.o){c=B._cachedOutline||(B._cachedOutline=B.o.split(" "));u=c.length;for(b=0;b<u;)switch(n=c[b++],n){case "m":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,
+p));h.moveTo(n,p);break;case "l":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,p));h.lineTo(n,p);break;case "q":n=c[b++]*e+f;p=c[b++]*e;x=c[b++]*e+f;w=c[b++]*e;h.quadraticCurveTo(x,w,n,p);if(k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++){var D=k/divisions,G=THREE.Shape.Utils.b2(D,v,x,n),D=THREE.Shape.Utils.b2(D,t,w,p);m.push(new THREE.Vector2(G,D))}}break;case "b":if(n=c[b++]*e+f,p=c[b++]*e,x=c[b++]*e+f,w=c[b++]*-e,z=c[b++]*e+f,y=c[b++]*-e,h.bezierCurveTo(n,p,
+x,w,z,y),k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++)D=k/divisions,G=THREE.Shape.Utils.b3(D,v,x,z,n),D=THREE.Shape.Utils.b3(D,t,w,y,p),m.push(new THREE.Vector2(G,D))}}}return{offset:B.ha*e,points:m,path:h}}}};
+(function(b){var c=function(b){for(var c=b.length,h=0,m=c-1,k=0;k<c;m=k++)h+=b[m].x*b[k].y-b[k].x*b[m].y;return h*0.5};b.Triangulate=function(b,f){var h=b.length;if(h<3)return null;var m=[],k=[],n=[],u,p,v;if(c(b)>0)for(p=0;p<h;p++)k[p]=p;else for(p=0;p<h;p++)k[p]=h-1-p;var t=2*h;for(p=h-1;h>2;){if(t--<=0){console.log("Warning, unable to triangulate polygon!");if(f)return n;return m}u=p;h<=u&&(u=0);p=u+1;h<=p&&(p=0);v=p+1;h<=v&&(v=0);var x;a:{x=b;var w=u,z=p,y=v,B=h,D=k,G=void 0,H=void 0,E=void 0,
+N=void 0,F=void 0,I=void 0,C=void 0,K=void 0,U=void 0,H=x[D[w]].x,E=x[D[w]].y,N=x[D[z]].x,F=x[D[z]].y,I=x[D[y]].x,C=x[D[y]].y;if(1.0E-10>(N-H)*(C-E)-(F-E)*(I-H))x=!1;else{for(G=0;G<B;G++)if(!(G==w||G==z||G==y)){var K=x[D[G]].x,U=x[D[G]].y,L=void 0,O=void 0,S=void 0,P=void 0,o=void 0,W=void 0,na=void 0,R=void 0,ia=void 0,aa=void 0,ma=void 0,fa=void 0,L=S=o=void 0,L=I-N,O=C-F,S=H-I,P=E-C,o=N-H,W=F-E,na=K-H,R=U-E,ia=K-N,aa=U-F,ma=K-I,fa=U-C,L=L*aa-O*ia,o=o*R-W*na,S=S*fa-P*ma;if(L>=0&&S>=0&&o>=0){x=!1;
+break a}}x=!0}}if(x){m.push([b[k[u]],b[k[p]],b[k[v]]]);n.push([k[u],k[p],k[v]]);u=p;for(v=p+1;v<h;u++,v++)k[u]=k[v];h--;t=2*h}}if(f)return n;return m};b.Triangulate.area=c;return b})(THREE.FontUtils);window._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};
+THREE.TorusGeometry=function(b,c,e,f,h){THREE.Geometry.call(this);this.radius=b||100;this.tube=c||40;this.segmentsR=e||8;this.segmentsT=f||6;this.arc=h||Math.PI*2;h=new THREE.Vector3;b=[];c=[];for(e=0;e<=this.segmentsR;e++)for(f=0;f<=this.segmentsT;f++){var m=f/this.segmentsT*this.arc,k=e/this.segmentsR*Math.PI*2;h.x=this.radius*Math.cos(m);h.y=this.radius*Math.sin(m);var n=new THREE.Vector3;n.x=(this.radius+this.tube*Math.cos(k))*Math.cos(m);n.y=(this.radius+this.tube*Math.cos(k))*Math.sin(m);n.z=
+this.tube*Math.sin(k);this.vertices.push(new THREE.Vertex(n));b.push(new THREE.UV(f/this.segmentsT,1-e/this.segmentsR));c.push(n.clone().subSelf(h).normalize())}for(e=1;e<=this.segmentsR;e++)for(f=1;f<=this.segmentsT;f++){var h=(this.segmentsT+1)*e+f-1,m=(this.segmentsT+1)*(e-1)+f-1,k=(this.segmentsT+1)*(e-1)+f,n=(this.segmentsT+1)*e+f,u=new THREE.Face4(h,m,k,n,[c[h],c[m],c[k],c[n]]);u.normal.addSelf(c[h]);u.normal.addSelf(c[m]);u.normal.addSelf(c[k]);u.normal.addSelf(c[n]);u.normal.normalize();this.faces.push(u);
+this.faceVertexUvs[0].push([b[h].clone(),b[m].clone(),b[k].clone(),b[n].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=new THREE.Geometry;THREE.TorusGeometry.prototype.constructor=THREE.TorusGeometry;
+THREE.TorusKnotGeometry=function(b,c,e,f,h,m,k){function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k*(2+e)*0.5*Math.cos(b),k*(2+e)*Math.sin(b)*0.5,h*k*Math.sin(c)*0.5)}THREE.Geometry.call(this);this.radius=b||200;this.tube=c||40;this.segmentsR=e||64;this.segmentsT=f||8;this.p=h||2;this.q=m||3;this.heightScale=k||1;this.grid=Array(this.segmentsR);e=new THREE.Vector3;f=new THREE.Vector3;m=new THREE.Vector3;for(b=0;b<this.segmentsR;++b){this.grid[b]=Array(this.segmentsT);for(c=0;c<
+this.segmentsT;++c){var u=b/this.segmentsR*2*this.p*Math.PI,k=c/this.segmentsT*2*Math.PI,h=n(u,k,this.q,this.p,this.radius,this.heightScale),u=n(u+0.01,k,this.q,this.p,this.radius,this.heightScale);e.x=u.x-h.x;e.y=u.y-h.y;e.z=u.z-h.z;f.x=u.x+h.x;f.y=u.y+h.y;f.z=u.z+h.z;m.cross(e,f);f.cross(m,e);m.normalize();f.normalize();u=-this.tube*Math.cos(k);k=this.tube*Math.sin(k);h.x+=u*f.x+k*m.x;h.y+=u*f.y+k*m.y;h.z+=u*f.z+k*m.z;this.grid[b][c]=this.vertices.push(new THREE.Vertex(new THREE.Vector3(h.x,h.y,
+h.z)))-1}}for(b=0;b<this.segmentsR;++b)for(c=0;c<this.segmentsT;++c){var f=(b+1)%this.segmentsR,m=(c+1)%this.segmentsT,h=this.grid[b][c],e=this.grid[f][c],f=this.grid[f][m],m=this.grid[b][m],k=new THREE.UV(b/this.segmentsR,c/this.segmentsT),u=new THREE.UV((b+1)/this.segmentsR,c/this.segmentsT),p=new THREE.UV((b+1)/this.segmentsR,(c+1)/this.segmentsT),v=new THREE.UV(b/this.segmentsR,(c+1)/this.segmentsT);this.faces.push(new THREE.Face4(h,e,f,m));this.faceVertexUvs[0].push([k,u,p,v])}this.computeCentroids();
+this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=new THREE.Geometry;THREE.TorusKnotGeometry.prototype.constructor=THREE.TorusKnotGeometry;THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
+THREE.Loader.prototype={addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/1E3).toFixed(2)+" KB";
+this.statusDomElement.innerHTML=c},extractUrlbase:function(b){b=b.split("/");b.pop();return b.join("/")},init_materials:function(b,c,e){b.materials=[];for(var f=0;f<c.length;++f)b.materials[f]=[THREE.Loader.prototype.createMaterial(c[f],e)]},hasNormals:function(b){var c,e,f=b.materials.length;for(e=0;e<f;e++)if(c=b.materials[e][0],c instanceof THREE.MeshShaderMaterial)return!0;return!1},createMaterial:function(b,c){function e(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==b}function f(b,c){var f=
+new Image;f.onload=function(){if(!e(this.width)||!e(this.height)){var c=Math.pow(2,Math.round(Math.log(this.width)/Math.LN2)),f=Math.pow(2,Math.round(Math.log(this.height)/Math.LN2));b.image.width=c;b.image.height=f;b.image.getContext("2d").drawImage(this,0,0,c,f)}else b.image=this;b.needsUpdate=!0};f.src=c}function h(b,e,k,h,m,n){var p=document.createElement("canvas");b[e]=new THREE.Texture(p);b[e].sourceFile=k;if(h){b[e].repeat.set(h[0],h[1]);if(h[0]!=1)b[e].wrapS=THREE.RepeatWrapping;if(h[1]!=
+1)b[e].wrapT=THREE.RepeatWrapping}m&&b[e].offset.set(m[0],m[1]);if(n){h={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(h[n[0]]!==void 0)b[e].wrapS=h[n[0]];if(h[n[1]]!==void 0)b[e].wrapT=h[n[1]]}f(b[e],c+"/"+k)}function m(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}var k,n,u;n="MeshLambertMaterial";k={color:15658734,opacity:1,map:null,lightMap:null,normalMap:null,wireframe:b.wireframe};b.shading&&(b.shading=="Phong"?n="MeshPhongMaterial":b.shading=="Basic"&&(n="MeshBasicMaterial"));
+if(b.blending)if(b.blending=="Additive")k.blending=THREE.AdditiveBlending;else if(b.blending=="Subtractive")k.blending=THREE.SubtractiveBlending;else if(b.blending=="Multiply")k.blending=THREE.MultiplyBlending;if(b.transparent!==void 0||b.opacity<1)k.transparent=b.transparent;if(b.depthTest!==void 0)k.depthTest=b.depthTest;if(b.vertexColors!==void 0)if(b.vertexColors=="face")k.vertexColors=THREE.FaceColors;else if(b.vertexColors)k.vertexColors=THREE.VertexColors;if(b.colorDiffuse)k.color=m(b.colorDiffuse);
+else if(b.DbgColor)k.color=b.DbgColor;if(b.colorSpecular)k.specular=m(b.colorSpecular);if(b.colorAmbient)k.ambient=m(b.colorAmbient);if(b.transparency)k.opacity=b.transparency;if(b.specularCoef)k.shininess=b.specularCoef;b.mapDiffuse&&c&&h(k,"map",b.mapDiffuse,b.mapDiffuseRepeat,b.mapDiffuseOffset,b.mapDiffuseWrap);b.mapLight&&c&&h(k,"lightMap",b.mapLight,b.mapLightRepeat,b.mapLightOffset,b.mapLightWrap);b.mapNormal&&c&&h(k,"normalMap",b.mapNormal,b.mapNormalRepeat,b.mapNormalOffset,b.mapNormalWrap);
+b.mapSpecular&&c&&h(k,"specularMap",b.mapSpecular,b.mapSpecularRepeat,b.mapSpecularOffset,b.mapSpecularWrap);if(b.mapNormal){var p=THREE.ShaderUtils.lib.normal,v=THREE.UniformsUtils.clone(p.uniforms),t=k.color;n=k.specular;u=k.ambient;var x=k.shininess;v.tNormal.texture=k.normalMap;if(b.mapNormalFactor)v.uNormalScale.value=b.mapNormalFactor;if(k.map)v.tDiffuse.texture=k.map,v.enableDiffuse.value=!0;if(k.specularMap)v.tSpecular.texture=k.specularMap,v.enableSpecular.value=!0;if(k.lightMap)v.tAO.texture=
+k.lightMap,v.enableAO.value=!0;v.uDiffuseColor.value.setHex(t);v.uSpecularColor.value.setHex(n);v.uAmbientColor.value.setHex(u);v.uShininess.value=x;if(k.opacity)v.uOpacity.value=k.opacity;k=new THREE.MeshShaderMaterial({fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:v,lights:!0,fog:!0})}else k=new THREE[n](k);return k},constructor:THREE.Loader};THREE.BinaryLoader=function(b){THREE.Loader.call(this,b)};THREE.BinaryLoader.prototype=new THREE.Loader;
+THREE.BinaryLoader.prototype.constructor=THREE.BinaryLoader;THREE.BinaryLoader.prototype.supr=THREE.Loader.prototype;
+THREE.BinaryLoader.prototype.load=function(b){var c=b.model,e=b.callback,f=b.texture_path?b.texture_path:THREE.Loader.prototype.extractUrlbase(c),h=b.bin_path?b.bin_path:THREE.Loader.prototype.extractUrlbase(c),b=(new Date).getTime(),c=new Worker(c),m=this.showProgress?THREE.Loader.prototype.updateProgress:null;c.onmessage=function(b){THREE.BinaryLoader.prototype.loadAjaxBuffers(b.data.buffers,b.data.materials,e,h,f,m)};c.onerror=function(b){alert("worker.onerror: "+b.message+"\n"+b.data);b.preventDefault()};
+c.postMessage(b)};
+THREE.BinaryLoader.prototype.loadAjaxBuffers=function(b,c,e,f,h,m){var k=new XMLHttpRequest,n=f+"/"+b,u=0;k.onreadystatechange=function(){k.readyState==4?k.status==200||k.status==0?THREE.BinaryLoader.prototype.createBinModel(k.responseText,e,h,c):alert("Couldn't load ["+n+"] ["+k.status+"]"):k.readyState==3?m&&(u==0&&(u=k.getResponseHeader("Content-Length")),m({total:u,loaded:k.responseText.length})):k.readyState==2&&(u=k.getResponseHeader("Content-Length"))};k.open("GET",n,!0);k.overrideMimeType("text/plain; charset=x-user-defined");
+k.setRequestHeader("Content-Type","text/plain");k.send(null)};
+THREE.BinaryLoader.prototype.createBinModel=function(b,c,e,f){var h=function(c){function e(b,c){var f=v(b,c),k=v(b,c+1),h=v(b,c+2),m=v(b,c+3),n=(m<<1&255|h>>7)-127;f|=(h&127)<<16|k<<8;if(f==0&&n==-127)return 0;return(1-2*(m>>7))*(1+f*Math.pow(2,-23))*Math.pow(2,n)}function h(b,c){var e=v(b,c),f=v(b,c+1),k=v(b,c+2);return(v(b,c+3)<<24)+(k<<16)+(f<<8)+e}function u(b,c){var e=v(b,c);return(v(b,c+1)<<8)+e}function p(b,c){var e=v(b,c);return e>127?e-256:e}function v(b,c){return b.charCodeAt(c)&255}function t(c){var e,
+f,k;e=h(b,c);f=h(b,c+F);k=h(b,c+I);c=u(b,c+C);D.faces.push(new THREE.Face3(e,f,k,null,null,D.materials[c]))}function x(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+F);k=h(b,c+I);m=u(b,c+C);o=h(b,c+K);p=h(b,c+U);c=h(b,c+L);m=D.materials[m];var t=E[p*3],v=E[p*3+1];p=E[p*3+2];var w=E[c*3],M=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face3(e,f,k,[new THREE.Vector3(E[o*3],E[o*3+1],E[o*3+2]),new THREE.Vector3(t,v,p),new THREE.Vector3(w,M,c)],null,m))}function w(c){var e,f,k,m;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,
+c+P);c=u(b,c+o);D.faces.push(new THREE.Face4(e,f,k,m,null,null,D.materials[c]))}function z(c){var e,f,k,m,p,t,v,w;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,c+P);p=u(b,c+o);t=h(b,c+W);v=h(b,c+na);w=h(b,c+R);c=h(b,c+ia);p=D.materials[p];var x=E[v*3],M=E[v*3+1];v=E[v*3+2];var y=E[w*3],T=E[w*3+1];w=E[w*3+2];var z=E[c*3],B=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face4(e,f,k,m,[new THREE.Vector3(E[t*3],E[t*3+1],E[t*3+2]),new THREE.Vector3(x,M,v),new THREE.Vector3(y,T,w),new THREE.Vector3(z,B,c)],null,p))}
+function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+aa);k=h(b,c+ma);c=N[e*2];m=N[e*2+1];e=N[f*2];var o=D.faceVertexUvs[0];f=N[f*2+1];var p=N[k*2];k=N[k*2+1];var t=[];t.push(new THREE.UV(c,m));t.push(new THREE.UV(e,f));t.push(new THREE.UV(p,k));o.push(t)}function B(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+fa);k=h(b,c+ga);m=h(b,c+da);c=N[e*2];o=N[e*2+1];e=N[f*2];p=N[f*2+1];f=N[k*2];var t=D.faceVertexUvs[0];k=N[k*2+1];var u=N[m*2];m=N[m*2+1];var v=[];v.push(new THREE.UV(c,o));v.push(new THREE.UV(e,p));v.push(new THREE.UV(f,
+k));v.push(new THREE.UV(u,m));t.push(v)}var D=this,G=0,H,E=[],N=[],F,I,C,K,U,L,O,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa;THREE.Geometry.call(this);THREE.Loader.prototype.init_materials(D,f,c);H={signature:b.substr(G,8),header_bytes:v(b,G+8),vertex_coordinate_bytes:v(b,G+9),normal_coordinate_bytes:v(b,G+10),uv_coordinate_bytes:v(b,G+11),vertex_index_bytes:v(b,G+12),normal_index_bytes:v(b,G+13),uv_index_bytes:v(b,G+14),material_index_bytes:v(b,G+15),nvertices:h(b,G+16),nnormals:h(b,G+16+4),nuvs:h(b,
+G+16+8),ntri_flat:h(b,G+16+12),ntri_smooth:h(b,G+16+16),ntri_flat_uv:h(b,G+16+20),ntri_smooth_uv:h(b,G+16+24),nquad_flat:h(b,G+16+28),nquad_smooth:h(b,G+16+32),nquad_flat_uv:h(b,G+16+36),nquad_smooth_uv:h(b,G+16+40)};G+=H.header_bytes;F=H.vertex_index_bytes;I=H.vertex_index_bytes*2;C=H.vertex_index_bytes*3;K=H.vertex_index_bytes*3+H.material_index_bytes;U=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes;L=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*2;O=H.vertex_index_bytes;
+S=H.vertex_index_bytes*2;P=H.vertex_index_bytes*3;o=H.vertex_index_bytes*4;W=H.vertex_index_bytes*4+H.material_index_bytes;na=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes;R=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*2;ia=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*3;aa=H.uv_index_bytes;ma=H.uv_index_bytes*2;fa=H.uv_index_bytes;ga=H.uv_index_bytes*2;da=H.uv_index_bytes*3;c=H.vertex_index_bytes*3+H.material_index_bytes;qa=H.vertex_index_bytes*
+4+H.material_index_bytes;$=H.ntri_flat*c;ca=H.ntri_smooth*(c+H.normal_index_bytes*3);X=H.ntri_flat_uv*(c+H.uv_index_bytes*3);ja=H.ntri_smooth_uv*(c+H.normal_index_bytes*3+H.uv_index_bytes*3);ea=H.nquad_flat*qa;c=H.nquad_smooth*(qa+H.normal_index_bytes*4);qa=H.nquad_flat_uv*(qa+H.uv_index_bytes*4);G+=function(c){for(var f,h,m,n=H.vertex_coordinate_bytes*3,o=c+H.nvertices*n;c<o;c+=n)f=e(b,c),h=e(b,c+H.vertex_coordinate_bytes),m=e(b,c+H.vertex_coordinate_bytes*2),D.vertices.push(new THREE.Vertex(new THREE.Vector3(f,
+h,m)));return H.nvertices*n}(G);G+=function(c){for(var e,f,k,h=H.normal_coordinate_bytes*3,m=c+H.nnormals*h;c<m;c+=h)e=p(b,c),f=p(b,c+H.normal_coordinate_bytes),k=p(b,c+H.normal_coordinate_bytes*2),E.push(e/127,f/127,k/127);return H.nnormals*h}(G);G+=function(c){for(var f,h,m=H.uv_coordinate_bytes*2,n=c+H.nuvs*m;c<n;c+=m)f=e(b,c),h=e(b,c+H.uv_coordinate_bytes),N.push(f,h);return H.nuvs*m}(G);$=G+$;ca=$+ca;X=ca+X;ja=X+ja;ea=ja+ea;c=ea+c;qa=c+qa;(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,
+f=e+H.uv_index_bytes*3,k=b+H.ntri_flat_uv*f;for(c=b;c<k;c+=f)t(c),y(c+e);return k-b})(ca);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=e+H.uv_index_bytes*3,k=b+H.ntri_smooth_uv*f;for(c=b;c<k;c+=f)x(c),y(c+e);return k-b})(X);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=e+H.uv_index_bytes*4,k=b+H.nquad_flat_uv*f;for(c=b;c<k;c+=f)w(c),B(c+e);return k-b})(c);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*
+4,f=e+H.uv_index_bytes*4,k=b+H.nquad_smooth_uv*f;for(c=b;c<k;c+=f)z(c),B(c+e);return k-b})(qa);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,f=b+H.ntri_flat*e;for(c=b;c<f;c+=e)t(c);return f-b})(G);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=b+H.ntri_smooth*e;for(c=b;c<f;c+=e)x(c);return f-b})($);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=b+H.nquad_flat*e;for(c=b;c<f;c+=e)w(c);return f-b})(ja);(function(b){var c,
+e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*4,f=b+H.nquad_smooth*e;for(c=b;c<f;c+=e)z(c);return f-b})(ea);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};h.prototype=new THREE.Geometry;h.prototype.constructor=h;c(new h(e))};
+var ColladaLoader=function(){function b(b,c,e){for(var b=$.evaluate(b,$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),f={},k=b.iterateNext(),h=0;k;){k=(new c).parse(k);if(k.id.length==0)k.id=e+h++;f[k.id]=k;k=b.iterateNext()}return f}function c(){var b=1E6,c=-b,e=0,f;for(f in qa)for(var k=qa[f],h=0;h<k.sampler.length;h++){var m=k.sampler[h];m.create();b=Math.min(b,m.startTime);c=Math.max(c,m.endTime);e=Math.max(e,m.input.length)}return{start:b,end:c,frames:e}}function e(b,c,f,k){b.world=b.world||
+new THREE.Matrix4;b.world.copy(b.matrix);if(b.channels&&b.channels.length){var h=b.channels[0].sampler.output[f];h instanceof THREE.Matrix4&&b.world.copy(h)}k&&b.world.multiply(k,b.world);c.push(b);for(k=0;k<b.nodes.length;k++)e(b.nodes[k],c,f,b.world)}function f(b,f,k){var h=V[f.url];if(!h||!h.skin)console.log("could not find skin controller!");else if(!f.skeleton||!f.skeleton.length)console.log("could not find the skeleton for the skin!");else{var m=c(),f=X.getChildById(f.skeleton[0],!0)||X.getChildBySid(f.skeleton[0],
+!0),n,o,p,t,v=new THREE.Vector3,u;for(n=0;n<b.vertices.length;n++)h.skin.bindShapeMatrix.multiplyVector3(b.vertices[n].position);for(k=0;k<m.frames;k++){var w=[],x=[];for(n=0;n<b.vertices.length;n++)x.push(new THREE.Vertex(new THREE.Vector3));e(f,w,k);n=w;o=h.skin;for(t=0;t<n.length;t++){p=n[t];u=-1;for(var y=0;y<o.joints.length;y++)if(p.sid==o.joints[y]){u=y;break}if(u>=0){y=o.invBindMatrices[u];p.invBindMatrix=y;p.skinningMatrix=new THREE.Matrix4;p.skinningMatrix.multiply(p.world,y);p.weights=[];
+for(y=0;y<o.weights.length;y++)for(var z=0;z<o.weights[y].length;z++){var B=o.weights[y][z];B.joint==u&&p.weights.push(B)}}else throw"could not find joint!";}for(n=0;n<w.length;n++)for(o=0;o<w[n].weights.length;o++)p=w[n].weights[o],t=p.index,p=p.weight,u=b.vertices[t],t=x[t],v.x=u.position.x,v.y=u.position.y,v.z=u.position.z,w[n].skinningMatrix.multiplyVector3(v),t.position.x+=v.x*p,t.position.y+=v.y*p,t.position.z+=v.z*p;b.morphTargets.push({name:"target_"+k,vertices:x})}}}function h(b){var c=new THREE.Object3D,
+e,k,m;c.name=b.id||"";c.matrixAutoUpdate=!1;c.matrix=b.matrix;for(m=0;m<b.controllers.length;m++){var n=V[b.controllers[m].url];switch(n.type){case "skin":if(pa[n.skin.source]){var o=new z;o.url=n.skin.source;o.instance_material=b.controllers[m].instance_material;b.geometries.push(o);e=b.controllers[m]}else if(V[n.skin.source]&&(k=n=V[n.skin.source],n.morph&&pa[n.morph.source]))o=new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o);break;case "morph":if(pa[n.morph.source])o=
+new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o),k=b.controllers[m];console.log("DAE: morph-controller partially supported.")}}for(m=0;m<b.geometries.length;m++){var n=b.geometries[m],o=n.instance_material,n=pa[n.url],p={},t=0,v;if(n&&n.mesh&&n.mesh.primitives){if(c.name.length==0)c.name=n.id;if(o)for(j=0;j<o.length;j++){v=o[j];var u=ra[va[v.target].instance_effect.url].shader;u.material.opacity=!u.material.opacity?1:u.material.opacity;v=p[v.symbol]=
+u.material;t++}o=v||new THREE.MeshLambertMaterial({color:14540253,shading:THREE.FlatShading});n=n.mesh.geometry3js;if(t>1){o=new THREE.MeshFaceMaterial;for(j=0;j<n.faces.length;j++)t=n.faces[j],t.materials=[p[t.daeMaterial]]}if(e!==void 0)f(n,e),o.morphTargets=!0,o=new THREE.SkinnedMesh(n,o),o.skeleton=e.skeleton,o.skinController=V[e.url],o.skinInstanceController=e,o.name="skin_"+za.length,za.push(o);else if(k!==void 0){p=n;t=k instanceof x?V[k.url]:k;if(!t||!t.morph)console.log("could not find morph controller!");
+else{t=t.morph;for(u=0;u<t.targets.length;u++){var w=pa[t.targets[u]];if(w.mesh&&w.mesh.primitives&&w.mesh.primitives.length)w=w.mesh.primitives[0].geometry,w.vertices.length===p.vertices.length&&p.morphTargets.push({name:"target_1",vertices:w.vertices})}p.morphTargets.push({name:"target_Z",vertices:p.vertices})}o.morphTargets=!0;o=new THREE.Mesh(n,o);o.name="morph_"+Aa.length;Aa.push(o)}else o=new THREE.Mesh(n,o);c.addChild(o)}}for(m=0;m<b.nodes.length;m++)c.addChild(h(b.nodes[m],b));return c}function m(){this.init_from=
+this.id=""}function k(){this.type=this.name=this.id="";this.morph=this.skin=null}function n(){this.weights=this.targets=this.source=this.method=null}function u(){this.source="";this.bindShapeMatrix=null;this.invBindMatrices=[];this.joints=[];this.weights=[]}function p(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Object3D}function v(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=[];this.transforms=[];this.geometries=[];this.channels=[];this.matrix=new THREE.Matrix4}function t(){this.type=
+this.sid="";this.data=[];this.matrix=new THREE.Matrix4}function x(){this.url="";this.skeleton=[];this.instance_material=[]}function w(){this.target=this.symbol=""}function z(){this.url="";this.instance_material=[]}function y(){this.id="";this.mesh=null}function B(b){this.geometry=b.id;this.primitives=[];this.geometry3js=this.vertices=null}function D(){}function G(){this.material="";this.count=0;this.inputs=[];this.vcount=null;this.p=[];this.geometry=new THREE.Geometry}function H(){this.source="";
+this.stride=this.count=0;this.params=[]}function E(){this.input={}}function N(){this.semantic="";this.offset=0;this.source="";this.set=0}function F(b){this.id=b;this.type=null}function I(){this.name=this.id="";this.instance_effect=null}function C(){this.color=new THREE.Color(0);this.color.setRGB(Math.random(),Math.random(),Math.random());this.color.a=1;this.texcoord=this.texture=null}function K(b,c){this.type=b;this.effect=c;this.material=null}function U(b){this.effect=b;this.format=this.init_from=
+null}function L(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter=this.wrap_t=this.wrap_s=this.source=null}function O(){this.name=this.id="";this.sampler=this.surface=this.shader=null}function S(){this.url=""}function P(){this.name=this.id="";this.source={};this.sampler=[];this.channel=[]}function o(b){this.animation=b;this.target=this.source="";this.member=this.arrIndices=this.arrSyntax=this.dotSyntax=this.sid=null}function W(b){this.id="";this.animation=b;this.inputs=[];this.endTime=
+this.startTime=this.interpolation=this.output=this.input=null;this.duration=0}function na(b){var c=b.getAttribute("id");if(ja[c]!=void 0)return ja[c];ja[c]=(new F(c)).parse(b);return ja[c]}function R(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADASchema";return null}function ia(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseFloat(b[e]));return c}function aa(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseInt(b[e],10));return c}function ma(b){return b.replace(/^\s+/,"").replace(/\s+$/,
+"").split(/\s+/)}function fa(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),10):e}function ga(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";return e}c=c||2;e=b.toString().split(".");for(e[1]=e.length>1?e[1].substr(0,c):"0";e[1].length<c;)e[1]+="0";return e.join(".")}function da(b,c){var e="";e+=ga(b.x,c)+",";e+=ga(b.y,c)+",";e+=ga(b.z,c);return e}var $=null,ca=null,X,ja={},ea={},qa={},V={},pa={},va={},ra={},sa,Ca=null,wa,Aa,za,Fa=THREE.SmoothShading;m.prototype.parse=function(b){this.id=
+b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeName=="init_from")this.init_from=e.textContent}return this};k.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.type="none";for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "skin":this.skin=(new u).parse(e);this.type=e.nodeName;break;case "morph":this.morph=(new n).parse(e),this.type=e.nodeName}}return this};n.prototype.parse=function(b){var c=
+{},e=[],f;this.method=b.getAttribute("method");this.source=b.getAttribute("source").replace(/^#/,"");for(f=0;f<b.childNodes.length;f++){var k=b.childNodes[f];if(k.nodeType==1)switch(k.nodeName){case "source":k=(new F).parse(k);c[k.id]=k;break;case "targets":e=this.parseInputs(k);break;default:console.log(k.nodeName)}}for(f=0;f<e.length;f++)switch(b=e[f],k=c[b.source],b.semantic){case "MORPH_TARGET":this.targets=k.read();break;case "MORPH_WEIGHT":this.weights=k.read()}return this};n.prototype.parseInputs=
+function(b){for(var c=[],e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":c.push((new N).parse(f))}}return c};u.prototype.parse=function(b){var c={},e,f;this.source=b.getAttribute("source").replace(/^#/,"");this.invBindMatrices=[];this.joints=[];this.weights=[];for(var k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(h.nodeType==1)switch(h.nodeName){case "bind_shape_matrix":h=ia(h.textContent);this.bindShapeMatrix=new THREE.Matrix4;this.bindShapeMatrix.set(h[0],
+h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]);break;case "source":h=(new F).parse(h);c[h.id]=h;break;case "joints":e=h;break;case "vertex_weights":f=h;break;default:console.log(h.nodeName)}}this.parseJoints(e,c);this.parseWeights(f,c);return this};u.prototype.parseJoints=function(b,c){for(var e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":var f=(new N).parse(f),k=c[f.source];if(f.semantic=="JOINT")this.joints=
+k.read();else if(f.semantic=="INV_BIND_MATRIX")this.invBindMatrices=k.read()}}};u.prototype.parseWeights=function(b,c){for(var e,f,k=[],h=0;h<b.childNodes.length;h++){var m=b.childNodes[h];if(m.nodeType==1)switch(m.nodeName){case "input":k.push((new N).parse(m));break;case "v":e=aa(m.textContent);break;case "vcount":f=aa(m.textContent)}}for(h=m=0;h<f.length;h++){for(var n=f[h],o=[],p=0;p<n;p++){for(var t={},u=0;u<k.length;u++){var v=k[u],w=e[m+v.offset];switch(v.semantic){case "JOINT":t.joint=w;break;
+case "WEIGHT":t.weight=c[v.source].data[w]}}o.push(t);m+=k.length}for(p=0;p<o.length;p++)o[p].index=h;this.weights.push(o)}};p.prototype.getChildById=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};p.prototype.getChildBySid=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};p.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");
+this.nodes=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "node":this.nodes.push((new v).parse(e))}}return this};v.prototype.getChannelForTransform=function(b){for(var c=0;c<this.channels.length;c++){var e=this.channels[c],f=e.target.split("/");f.shift();var k=f.shift(),h=k.indexOf(".")>=0,m=k.indexOf("(")>=0,n;if(h)f=k.split("."),k=f.shift(),f.shift();else if(m){n=k.split("(");k=n.shift();for(f=0;f<n.length;f++)n[f]=parseInt(n[f].replace(/\)/,
+""))}if(k==b)return e.info={sid:k,dotSyntax:h,arrSyntax:m,arrIndices:n},e}return null};v.prototype.getChildById=function(b,c){if(this.id==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};v.prototype.getChildBySid=function(b,c){if(this.sid==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};v.prototype.getTransformBySid=function(b){for(var c=0;c<this.transforms.length;c++)if(this.transforms[c].sid==
+b)return this.transforms[c];return null};v.prototype.parse=function(b){var c;this.id=b.getAttribute("id");this.sid=b.getAttribute("sid");this.name=b.getAttribute("name");this.type=b.getAttribute("type");this.type=this.type=="JOINT"?this.type:"NODE";this.nodes=[];this.transforms=[];this.geometries=[];this.controllers=[];this.matrix=new THREE.Matrix4;for(var e=0;e<b.childNodes.length;e++)if(c=b.childNodes[e],c.nodeType==1)switch(c.nodeName){case "node":this.nodes.push((new v).parse(c));break;case "instance_camera":break;
+case "instance_controller":this.controllers.push((new x).parse(c));break;case "instance_geometry":this.geometries.push((new z).parse(c));break;case "instance_light":break;case "instance_node":c=c.getAttribute("url").replace(/^#/,"");(c=$.evaluate(".//dae:library_nodes//dae:node[@id='"+c+"']",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&this.nodes.push((new v).parse(c));break;case "rotate":case "translate":case "scale":case "matrix":case "lookat":case "skew":this.transforms.push((new t).parse(c));
+break;case "extra":break;default:console.log(c.nodeName)}b=[];e=1E6;c=-1E6;for(var f in qa)for(var k=qa[f],h=0;h<k.channel.length;h++){var m=k.channel[h],n=k.sampler[h];f=m.target.split("/")[0];if(f==this.id)n.create(),m.sampler=n,e=Math.min(e,n.startTime),c=Math.max(c,n.endTime),b.push(m)}if(b.length)this.startTime=e,this.endTime=c;if((this.channels=b)&&this.channels.length){f=1E7;for(i=0;i<this.channels.length;i++){b=this.channels[i].sampler;for(e=0;e<b.input.length-1;e++)f=Math.min(f,b.input[e+
+1]-b.input[e])}e=[];for(b=this.startTime;b<this.endTime;b+=f){c=b;for(var k={},o=h=void 0,h=0;h<this.channels.length;h++)o=this.channels[h],k[o.sid]=o;m=new THREE.Matrix4;for(h=0;h<this.transforms.length;h++)if(n=this.transforms[h],o=k[n.sid],o!==void 0){for(var p=o.sampler,u,o=0;o<p.input.length-1;o++)if(p.input[o+1]>c){u=p.output[o];break}m=u!==void 0?u instanceof THREE.Matrix4?m.multiply(m,u):m.multiply(m,n.matrix):m.multiply(m,n.matrix)}else m=m.multiply(m,n.matrix);c=m;e.push({time:b,pos:[c.n14,
+c.n24,c.n34],rotq:[0,0,0,1],scl:[1,1,1]})}this.keys=e}this.updateMatrix();return this};v.prototype.updateMatrix=function(){this.matrix.identity();for(var b=0;b<this.transforms.length;b++)this.matrix.multiply(this.matrix,this.transforms[b].matrix)};t.prototype.parse=function(b){this.sid=b.getAttribute("sid");this.type=b.nodeName;this.data=ia(b.textContent);this.updateMatrix();return this};t.prototype.updateMatrix=function(){var b=0;this.matrix.identity();switch(this.type){case "matrix":this.matrix.set(this.data[0],
+this.data[1],this.data[2],this.data[3],this.data[4],this.data[5],this.data[6],this.data[7],this.data[8],this.data[9],this.data[10],this.data[11],this.data[12],this.data[13],this.data[14],this.data[15]);break;case "translate":this.matrix.setTranslation(this.data[0],this.data[1],this.data[2]);break;case "rotate":b=this.data[3]*(Math.PI/180);this.matrix.setRotationAxis(new THREE.Vector3(this.data[0],this.data[1],this.data[2]),b);break;case "scale":this.matrix.setScale(this.data[0],this.data[1],this.data[2])}return this.matrix};
+x.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.skeleton=[];this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "skeleton":this.skeleton.push(e.textContent.replace(/^#/,""));break;case "bind_material":if(e=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(var f=e.iterateNext();f;)this.instance_material.push((new w).parse(f)),f=e.iterateNext()}}return this};
+w.prototype.parse=function(b){this.symbol=b.getAttribute("symbol");this.target=b.getAttribute("target").replace(/^#/,"");return this};z.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1&&e.nodeName=="bind_material"){if(b=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(c=b.iterateNext();c;)this.instance_material.push((new w).parse(c)),
+c=b.iterateNext();break}}return this};y.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "mesh":this.mesh=(new B(this)).parse(e)}}return this};B.prototype.parse=function(b){function c(b,e){var f=da(b.position);k[f]===void 0&&(k[f]={v:b,index:e});return k[f]}this.primitives=[];var e;for(e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];switch(f.nodeName){case "source":na(f);break;case "vertices":this.vertices=
+(new E).parse(f);break;case "triangles":this.primitives.push((new G).parse(f));break;case "polygons":console.warn("polygon holes not yet supported!");case "polylist":this.primitives.push((new D).parse(f))}}var k={};this.geometry3js=new THREE.Geometry;f=ja[this.vertices.input.POSITION.source].data;for(b=e=0;e<f.length;e+=3,b++){var h=new THREE.Vertex(new THREE.Vector3(f[e],f[e+1],f[e+2]));c(h,b);this.geometry3js.vertices.push(h)}for(e=0;e<this.primitives.length;e++)primitive=this.primitives[e],primitive.setVertices(this.vertices),
+this.handlePrimitive(primitive,this.geometry3js,k);this.geometry3js.computeCentroids();this.geometry3js.computeFaceNormals();this.geometry3js.computeVertexNormals();this.geometry3js.computeBoundingBox();return this};B.prototype.handlePrimitive=function(b,c,e){var f=0,k,h,m=b.p,n=b.inputs,o,p,t,u=0,v=3,w=[];for(k=0;k<n.length;k++)o=n[k],o.semantic=="TEXCOORD"&&w.push(o.set);for(;f<m.length;){var x=[],y=[],z={};b.vcount&&(v=b.vcount[u++]);for(k=0;k<v;k++)for(h=0;h<n.length;h++)switch(o=n[h],source=
+ja[o.source],p=m[f+k*n.length+o.offset],numParams=source.accessor.params.length,t=p*numParams,o.semantic){case "VERTEX":o=da(c.vertices[p].position);x.push(e[o].index);break;case "NORMAL":y.push(new THREE.Vector3(source.data[t+0],source.data[t+1],source.data[t+2]));break;case "TEXCOORD":z[o.set]===void 0&&(z[o.set]=[]),z[o.set].push(new THREE.UV(source.data[t+0],source.data[t+1]))}h=new THREE.Face3(x[0],x[1],x[2],[y[0],y[1],y[2]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=
+z[w[h]],c.faceVertexUvs[h].push([o[0],o[1],o[2]]);if(v>3)for(k=2;k<x.length-1;k++){h=new THREE.Face3(x[0],x[k],x[k+1],[y[0],y[k],y[k+1]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=z[w[h]],c.faceVertexUvs[h].push([o[0],o[k],o[k+1]])}f+=n.length*v}};D.prototype=new G;D.prototype.constructor=D;G.prototype.setVertices=function(b){for(var c=0;c<this.inputs.length;c++)if(this.inputs[c].source==b.id)this.inputs[c].source=b.input.POSITION.source};G.prototype.parse=function(b){this.inputs=
+[];this.material=b.getAttribute("material");this.count=fa(b,"count",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "input":this.inputs.push((new N).parse(b.childNodes[c]));break;case "vcount":this.vcount=aa(e.textContent);break;case "p":this.p=aa(e.textContent)}}return this};H.prototype.parse=function(b){this.params=[];this.source=b.getAttribute("source");this.count=fa(b,"count",0);this.stride=fa(b,"stride",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];
+if(e.nodeName=="param"){var f={};f.name=e.getAttribute("name");f.type=e.getAttribute("type");this.params.push(f)}}return this};E.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++)b.childNodes[c].nodeName=="input"&&(input=(new N).parse(b.childNodes[c]),this.input[input.semantic]=input);return this};N.prototype.parse=function(b){this.semantic=b.getAttribute("semantic");this.source=b.getAttribute("source").replace(/^#/,"");this.set=fa(b,"set",-1);this.offset=
+fa(b,"offset",0);if(this.semantic=="TEXCOORD"&&this.set<0)this.set=0;return this};F.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "bool_array":for(var f=ma(e.textContent),k=[],h=0;h<f.length;h++)k.push(f[h]=="true"||f[h]=="1"?!0:!1);this.data=k;this.type=e.nodeName;break;case "float_array":this.data=ia(e.textContent);this.type=e.nodeName;break;case "int_array":this.data=aa(e.textContent);this.type=e.nodeName;
+break;case "IDREF_array":case "Name_array":this.data=ma(e.textContent);this.type=e.nodeName;break;case "technique_common":for(f=0;f<e.childNodes.length;f++)if(e.childNodes[f].nodeName=="accessor"){this.accessor=(new H).parse(e.childNodes[f]);break}}}return this};F.prototype.read=function(){var b=[],c=this.accessor.params[0];switch(c.type){case "IDREF":case "Name":case "float":return this.data;case "float4x4":for(c=0;c<this.data.length;c+=16){var e=this.data.slice(c,c+16),f=new THREE.Matrix4;f.set(e[0],
+e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);b.push(f)}break;default:console.log("Dae::Source:read dont know how to read "+c.type)}return b};I.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");for(var c=0;c<b.childNodes.length;c++)if(b.childNodes[c].nodeName=="instance_effect"){this.instance_effect=(new S).parse(b.childNodes[c]);break}return this};C.prototype.isColor=function(){return this.texture==null};C.prototype.isTexture=
+function(){return this.texture!=null};C.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "color":e=ia(e.textContent);this.color=new THREE.Color(0);this.color.setRGB(e[0],e[1],e[2]);this.color.a=e[3];break;case "texture":this.texture=e.getAttribute("texture"),this.texcoord=e.getAttribute("texcoord")}}return this};K.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==
+1)switch(e.nodeName){case "ambient":case "emission":case "diffuse":case "specular":case "transparent":this[e.nodeName]=(new C).parse(e);break;case "shininess":case "reflectivity":case "transparency":var f;f=$.evaluate(".//dae:float",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var k=f.iterateNext(),h=[];k;)h.push(k),k=f.iterateNext();f=h;f.length>0&&(this[e.nodeName]=parseFloat(f[0].textContent))}}this.create();return this};K.prototype.create=function(){var b={},c=this.transparency!==void 0&&
+this.transparency<1,e;for(e in this)switch(e){case "ambient":case "emission":case "diffuse":case "specular":var f=this[e];if(f instanceof C)if(f.isTexture()){if(this.effect.sampler&&this.effect.surface&&this.effect.sampler.source==this.effect.surface.sid&&(f=ea[this.effect.surface.init_from]))b.map=THREE.ImageUtils.loadTexture(wa+f.init_from),b.map.wrapS=THREE.RepeatWrapping,b.map.wrapT=THREE.RepeatWrapping,b.map.repeat.x=1,b.map.repeat.y=-1}else e=="diffuse"?b.color=f.color.getHex():c||(b[e]=f.color.getHex());
+break;case "shininess":case "reflectivity":b[e]=this[e];break;case "transparency":if(c)b.transparent=!0,b.opacity=this[e],c=!0}b.shading=Fa;return this.material=new THREE.MeshLambertMaterial(b)};U.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "init_from":this.init_from=e.textContent;break;case "format":this.format=e.textContent;break;default:console.log("unhandled Surface prop: "+e.nodeName)}}return this};L.prototype.parse=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":this.source=e.textContent;break;case "minfilter":this.minfilter=e.textContent;break;case "magfilter":this.magfilter=e.textContent;break;case "mipfilter":this.mipfilter=e.textContent;break;case "wrap_s":this.wrap_s=e.textContent;break;case "wrap_t":this.wrap_t=e.textContent;break;default:console.log("unhandled Sampler2D prop: "+e.nodeName)}}return this};O.prototype.create=function(){if(this.shader==
+null)return null};O.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.shader=null;for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "profile_COMMON":this.parseTechnique(this.parseProfileCOMMON(e))}}return this};O.prototype.parseNewparam=function(b){for(var c=b.getAttribute("sid"),e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "surface":this.surface=(new U(this)).parse(f);
+this.surface.sid=c;break;case "sampler2D":this.sampler=(new L(this)).parse(f);this.sampler.sid=c;break;case "extra":break;default:console.log(f.nodeName)}}};O.prototype.parseProfileCOMMON=function(b){for(var c,e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "profile_COMMON":this.parseProfileCOMMON(f);break;case "technique":c=f;break;case "newparam":this.parseNewparam(f);break;case "extra":break;default:console.log(f.nodeName)}}return c};O.prototype.parseTechnique=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "lambert":case "blinn":case "phong":this.shader=(new K(e.nodeName,this)).parse(e)}}};S.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");return this};P.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.source={};for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":e=
+(new F).parse(e);this.source[e.id]=e;break;case "sampler":this.sampler.push((new W(this)).parse(e));break;case "channel":this.channel.push((new o(this)).parse(e))}}return this};o.prototype.parse=function(b){this.source=b.getAttribute("source").replace(/^#/,"");this.target=b.getAttribute("target");var c=this.target.split("/");c.shift();var b=c.shift(),e=b.indexOf(".")>=0,f=b.indexOf("(")>=0,k,h;if(e)c=b.split("."),b=c.shift(),h=c.shift();else if(f){k=b.split("(");b=k.shift();for(c=0;c<k.length;c++)k[c]=
+parseInt(k[c].replace(/\)/,""))}this.sid=b;this.dotSyntax=e;this.arrSyntax=f;this.arrIndices=k;this.member=h;return this};W.prototype.parse=function(b){this.id=b.getAttribute("id");this.inputs=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "input":this.inputs.push((new N).parse(e))}}return this};W.prototype.create=function(){for(var b=0;b<this.inputs.length;b++){var c=this.inputs[b],e=this.animation.source[c.source];switch(c.semantic){case "INPUT":this.input=
+e.read();break;case "OUTPUT":this.output=e.read();break;case "INTERPOLATION":this.interpolation=e.read();break;case "IN_TANGENT":break;case "OUT_TANGENT":break;default:console.log(c.semantic)}}this.duration=this.endTime=this.startTime=0;if(this.input.length){this.startTime=1E8;this.endTime=-1E8;for(b=0;b<this.input.length;b++)this.startTime=Math.min(this.startTime,this.input[b]),this.endTime=Math.max(this.endTime,this.input[b]);this.duration=this.endTime-this.startTime}};return{load:function(e,f){if(document.implementation&&
+document.implementation.createDocument){document.implementation.createDocument("http://www.collada.org/2005/11/COLLADASchema","COLLADA",null);e+="?rnd="+Math.random();var n=new XMLHttpRequest;n.overrideMimeType&&n.overrideMimeType("text/xml");n.onreadystatechange=function(){if(n.readyState==4&&(n.status==0||n.status==200)){Ca=f;var o,t=e;$=n.responseXML;o=Ca;t!==void 0&&(t=t.split("/"),t.pop(),wa=t.join("/")+"/");ea=b("//dae:library_images/dae:image",m,"image");va=b("//dae:library_materials/dae:material",
+I,"material");ra=b("//dae:library_effects/dae:effect",O,"effect");pa=b("//dae:library_geometries/dae:geometry",y,"geometry");V=b("//dae:library_controllers/dae:controller",k,"controller");qa=b("//dae:library_animations/dae:animation",P,"animation");sa=b(".//dae:library_visual_scenes/dae:visual_scene",p,"visual_scene");Aa=[];za=[];(t=$.evaluate(".//dae:scene/dae:instance_visual_scene",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(t=t.getAttribute("url").replace(/^#/,""),X=sa[t]):
+X=null;ca=new THREE.Object3D;for(t=0;t<X.nodes.length;t++)ca.addChild(h(X.nodes[t]));c();for(var u in qa);u={scene:ca,morphs:Aa,skins:za,dae:{images:ea,materials:va,effects:ra,geometries:pa,controllers:V,animations:qa,visualScenes:sa,scene:X}};o&&o(u)}};n.open("GET",e,!0);n.send(null)}else alert("Don't know how to parse XML!")},setPreferredShading:function(b){Fa=b},applySkin:f,geometries:pa}};THREE.JSONLoader=function(b){THREE.Loader.call(this,b)};THREE.JSONLoader.prototype=new THREE.Loader;
+THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.supr=THREE.Loader.prototype;THREE.JSONLoader.prototype.load=function(b){var c=this,e=b.model,f=b.callback,h=b.texture_path?b.texture_path:this.extractUrlbase(e),b=new Worker(e);b.onmessage=function(b){c.createModel(b.data,f,h);c.onLoadComplete()};this.onLoadStart();b.postMessage((new Date).getTime())};
+THREE.JSONLoader.prototype.createModel=function(b,c,e){var f=new THREE.Geometry,h=b.scale!==void 0?1/b.scale:1;this.init_materials(f,b.materials,e);(function(c){if(b.version===void 0||b.version!=2)console.error("Deprecated file format.");else{var e,h,u,p,v,t,x,w,z,y,B,D,G,H,E=b.faces;t=b.vertices;var N=b.normals,F=b.colors,I=0;for(e=0;e<b.uvs.length;e++)b.uvs[e].length&&I++;for(e=0;e<I;e++)f.faceUvs[e]=[],f.faceVertexUvs[e]=[];p=0;for(v=t.length;p<v;)x=new THREE.Vertex,x.position.x=t[p++]*c,x.position.y=
+t[p++]*c,x.position.z=t[p++]*c,f.vertices.push(x);p=0;for(v=E.length;p<v;){c=E[p++];t=c&1;u=c&2;e=c&4;h=c&8;w=c&16;x=c&32;y=c&64;c&=128;t?(B=new THREE.Face4,B.a=E[p++],B.b=E[p++],B.c=E[p++],B.d=E[p++],t=4):(B=new THREE.Face3,B.a=E[p++],B.b=E[p++],B.c=E[p++],t=3);if(u)u=E[p++],B.materials=f.materials[u];u=f.faces.length;if(e)for(e=0;e<I;e++)D=b.uvs[e],z=E[p++],H=D[z*2],z=D[z*2+1],f.faceUvs[e][u]=new THREE.UV(H,z);if(h)for(e=0;e<I;e++){D=b.uvs[e];G=[];for(h=0;h<t;h++)z=E[p++],H=D[z*2],z=D[z*2+1],G[h]=
+new THREE.UV(H,z);f.faceVertexUvs[e][u]=G}if(w)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.normal=h;if(x)for(e=0;e<t;e++)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.vertexNormals.push(h);if(y)x=E[p++],x=new THREE.Color(F[x]),B.color=x;if(c)for(e=0;e<t;e++)x=E[p++],x=new THREE.Color(F[x]),B.vertexColors.push(x);f.faces.push(B)}}})(h);(function(){var c,e,h,u;if(b.skinWeights){c=0;for(e=b.skinWeights.length;c<e;c+=2)h=b.skinWeights[c],u=b.skinWeights[c+1],f.skinWeights.push(new THREE.Vector4(h,
+u,0,0))}if(b.skinIndices){c=0;for(e=b.skinIndices.length;c<e;c+=2)h=b.skinIndices[c],u=b.skinIndices[c+1],f.skinIndices.push(new THREE.Vector4(h,u,0,0))}f.bones=b.bones;f.animation=b.animation})();(function(c){if(b.morphTargets!==void 0){var e,h,u,p,v,t,x,w,z;e=0;for(h=b.morphTargets.length;e<h;e++){f.morphTargets[e]={};f.morphTargets[e].name=b.morphTargets[e].name;f.morphTargets[e].vertices=[];w=f.morphTargets[e].vertices;z=b.morphTargets[e].vertices;u=0;for(p=z.length;u<p;u+=3)v=z[u]*c,t=z[u+1]*
+c,x=z[u+2]*c,w.push(new THREE.Vertex(new THREE.Vector3(v,t,x)))}}if(b.morphColors!==void 0){e=0;for(h=b.morphColors.length;e<h;e++){f.morphColors[e]={};f.morphColors[e].name=b.morphColors[e].name;f.morphColors[e].colors=[];p=f.morphColors[e].colors;v=b.morphColors[e].colors;c=0;for(u=v.length;c<u;c+=3)t=new THREE.Color(16755200),t.setRGB(v[c],v[c+1],v[c+2]),p.push(t)}}})(h);(function(){if(b.edges!==void 0){var c,e,h;for(c=0;c<b.edges.length;c+=2)e=b.edges[c],h=b.edges[c+1],f.edges.push(new THREE.Edge(f.vertices[e],
+f.vertices[h],e,h))}})();f.computeCentroids();f.computeFaceNormals();this.hasNormals(f)&&f.computeTangents();c(f)};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){}};
+THREE.SceneLoader.prototype={load:function(b,c){var e=this,f=new Worker(b);f.postMessage(0);var h=THREE.Loader.prototype.extractUrlbase(b);f.onmessage=function(b){function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}function n(){for(w in O.objects)if(!R.objects[w])if(G=O.objects[w],G.geometry!==void 0){if(F=R.geometries[G.geometry]){var b=!1;U=[];for(aa=0;aa<G.materials.length;aa++)U[aa]=R.materials[G.materials[aa]],b=U[aa]instanceof THREE.MeshShaderMaterial;b&&F.computeTangents();H=G.position;r=
+G.rotation;q=G.quaternion;s=G.scale;q=0;U.length==0&&(U[0]=new THREE.MeshFaceMaterial);U.length>1&&(U=[new THREE.MeshFaceMaterial]);object=new THREE.Mesh(F,U);object.name=w;object.position.set(H[0],H[1],H[2]);q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]);object.scale.set(s[0],s[1],s[2]);object.visible=G.visible;R.scene.addObject(object);R.objects[w]=object;G.meshCollider&&(b=THREE.CollisionUtils.MeshColliderWBox(object),R.scene.collisions.colliders.push(b));
+if(G.castsShadow)b=new THREE.ShadowVolume(F),R.scene.addChild(b),b.position=object.position,b.rotation=object.rotation,b.scale=object.scale;G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}}else H=G.position,r=G.rotation,q=G.quaternion,s=G.scale,q=0,object=new THREE.Object3D,object.name=w,object.position.set(H[0],H[1],H[2]),q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]),object.scale.set(s[0],
+s[1],s[2]),object.visible=G.visible!==void 0?G.visible:!1,R.scene.addObject(object),R.objects[w]=object,R.empties[w]=object,G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}function u(b){return function(c){R.geometries[b]=c;n();P-=1;e.onLoadComplete();v()}}function p(b){return function(c){R.geometries[b]=c}}function v(){e.callbackProgress({totalModels:W,totalTextures:na,loadedModels:W-P,loadedTextures:na-o},R);e.onLoadProgress();P==0&&o==0&&c(R)}
+var t,x,w,z,y,B,D,G,H,E,N,F,I,C,K,U,L,O,S,P,o,W,na,R;O=b.data;K=new THREE.BinaryLoader;S=new THREE.JSONLoader;o=P=0;R={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},triggers:{},empties:{}};b=!1;for(w in O.objects)if(G=O.objects[w],G.meshCollider){b=!0;break}if(b)R.scene.collisions=new THREE.CollisionSystem;if(O.transform){b=O.transform.position;E=O.transform.rotation;var ia=O.transform.scale;b&&R.scene.position.set(b[0],b[1],b[2]);E&&R.scene.rotation.set(E[0],
+E[1],E[2]);ia&&R.scene.scale.set(ia[0],ia[1],ia[2]);(b||E||ia)&&R.scene.updateMatrix()}b=function(){o-=1;v();e.onLoadComplete()};for(y in O.cameras){E=O.cameras[y];if(E.type=="perspective")I=new THREE.Camera(E.fov,E.aspect,E.near,E.far);else if(E.type=="ortho")I=new THREE.Camera,I.projectionMatrix=THREE.Matrix4.makeOrtho(E.left,E.right,E.top,E.bottom,E.near,E.far);H=E.position;E=E.target;I.position.set(H[0],H[1],H[2]);I.target.position.set(E[0],E[1],E[2]);R.cameras[y]=I}for(z in O.lights)y=O.lights[z],
+I=y.color!==void 0?y.color:16777215,E=y.intensity!==void 0?y.intensity:1,y.type=="directional"?(H=y.direction,L=new THREE.DirectionalLight(I,E),L.position.set(H[0],H[1],H[2]),L.position.normalize()):y.type=="point"?(H=y.position,d=y.distance,L=new THREE.PointLight(I,E,d),L.position.set(H[0],H[1],H[2])):y.type=="ambient"&&(L=new THREE.AmbientLight(I)),R.scene.addLight(L),R.lights[z]=L;for(B in O.fogs)z=O.fogs[B],z.type=="linear"?C=new THREE.Fog(0,z.near,z.far):z.type=="exp2"&&(C=new THREE.FogExp2(0,
+z.density)),E=z.color,C.color.setRGB(E[0],E[1],E[2]),R.fogs[B]=C;if(R.cameras&&O.defaults.camera)R.currentCamera=R.cameras[O.defaults.camera];if(R.fogs&&O.defaults.fog)R.scene.fog=R.fogs[O.defaults.fog];E=O.defaults.bgcolor;R.bgColor=new THREE.Color;R.bgColor.setRGB(E[0],E[1],E[2]);R.bgColorAlpha=O.defaults.bgalpha;for(t in O.geometries)if(B=O.geometries[t],B.type=="bin_mesh"||B.type=="ascii_mesh")P+=1,e.onLoadStart();W=P;for(t in O.geometries)B=O.geometries[t],B.type=="cube"?(F=new THREE.CubeGeometry(B.width,
+B.height,B.depth,B.segmentsWidth,B.segmentsHeight,B.segmentsDepth,null,B.flipped,B.sides),R.geometries[t]=F):B.type=="plane"?(F=new THREE.PlaneGeometry(B.width,B.height,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="sphere"?(F=new THREE.SphereGeometry(B.radius,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="cylinder"?(F=new THREE.CylinderGeometry(B.numSegs,B.topRad,B.botRad,B.height,B.topOffset,B.botOffset),R.geometries[t]=F):B.type=="torus"?(F=new THREE.TorusGeometry(B.radius,
+B.tube,B.segmentsR,B.segmentsT),R.geometries[t]=F):B.type=="icosahedron"?(F=new THREE.IcosahedronGeometry(B.subdivisions),R.geometries[t]=F):B.type=="bin_mesh"?K.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="ascii_mesh"?S.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="embedded_mesh"&&(B=O.embeds[B.id])&&S.createModel(B,p(t),"");for(D in O.textures)if(t=O.textures[D],t.url instanceof Array){o+=t.url.length;for(K=0;K<t.url.length;K++)e.onLoadStart()}else o+=1,e.onLoadStart();
+na=o;for(D in O.textures){t=O.textures[D];if(t.mapping!=void 0&&THREE[t.mapping]!=void 0)t.mapping=new THREE[t.mapping];if(t.url instanceof Array){K=[];for(var aa=0;aa<t.url.length;aa++)K[aa]=f(t.url[aa],O.urlBaseType);K=THREE.ImageUtils.loadTextureCube(K,t.mapping,b)}else{K=THREE.ImageUtils.loadTexture(f(t.url,O.urlBaseType),t.mapping,b);if(THREE[t.minFilter]!=void 0)K.minFilter=THREE[t.minFilter];if(THREE[t.magFilter]!=void 0)K.magFilter=THREE[t.magFilter];if(t.repeat){K.repeat.set(t.repeat[0],
+t.repeat[1]);if(t.repeat[0]!=1)K.wrapS=THREE.RepeatWrapping;if(t.repeat[1]!=1)K.wrapT=THREE.RepeatWrapping}t.offset&&K.offset.set(t.offset[0],t.offset[1]);if(t.wrap){S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(S[t.wrap[0]]!==void 0)K.wrapS=S[t.wrap[0]];if(S[t.wrap[1]]!==void 0)K.wrapT=S[t.wrap[1]]}}R.textures[D]=K}for(x in O.materials){D=O.materials[x];for(N in D.parameters)if(N=="envMap"||N=="map"||N=="lightMap")D.parameters[N]=R.textures[D.parameters[N]];else if(N=="shading")D.parameters[N]=
+D.parameters[N]=="flat"?THREE.FlatShading:THREE.SmoothShading;else if(N=="blending")D.parameters[N]=THREE[D.parameters[N]]?THREE[D.parameters[N]]:THREE.NormalBlending;else if(N=="combine")D.parameters[N]=D.parameters[N]=="MixOperation"?THREE.MixOperation:THREE.MultiplyOperation;else if(N=="vertexColors")if(D.parameters[N]=="face")D.parameters[N]=THREE.FaceColors;else if(D.parameters[N])D.parameters[N]=THREE.VertexColors;if(D.parameters.opacity!==void 0&&D.parameters.opacity<1)D.parameters.transparent=
+!0;if(D.parameters.normalMap){t=THREE.ShaderUtils.lib.normal;b=THREE.UniformsUtils.clone(t.uniforms);K=D.parameters.color;S=D.parameters.specular;B=D.parameters.ambient;C=D.parameters.shininess;b.tNormal.texture=R.textures[D.parameters.normalMap];if(D.parameters.normalMapFactor)b.uNormalScale.value=D.parameters.normalMapFactor;if(D.parameters.map)b.tDiffuse.texture=D.parameters.map,b.enableDiffuse.value=!0;if(D.parameters.lightMap)b.tAO.texture=D.parameters.lightMap,b.enableAO.value=!0;if(D.parameters.specularMap)b.tSpecular.texture=
+R.textures[D.parameters.specularMap],b.enableSpecular.value=!0;b.uDiffuseColor.value.setHex(K);b.uSpecularColor.value.setHex(S);b.uAmbientColor.value.setHex(B);b.uShininess.value=C;if(D.parameters.opacity)b.uOpacity.value=D.parameters.opacity;D=new THREE.MeshShaderMaterial({fragmentShader:t.fragmentShader,vertexShader:t.vertexShader,uniforms:b,lights:!0,fog:!0})}else D=new THREE[D.type](D.parameters);R.materials[x]=D}n();e.callbackSync(R)}},constructor:THREE.SceneLoader};THREE.UTF8Loader=function(){};
+THREE.UTF8Loader.prototype=new THREE.UTF8Loader;THREE.UTF8Loader.prototype.constructor=THREE.UTF8Loader;
+THREE.UTF8Loader.prototype.load=function(b){var c=new XMLHttpRequest,e=b.model,f=b.callback,h=b.scale!==void 0?b.scale:1,m=b.offsetX!==void 0?b.offsetX:0,k=b.offsetY!==void 0?b.offsetY:0,n=b.offsetZ!==void 0?b.offsetZ:0;c.onreadystatechange=function(){c.readyState==4?c.status==200||c.status==0?THREE.UTF8Loader.prototype.createModel(c.responseText,f,h,m,k,n):alert("Couldn't load ["+e+"] ["+c.status+"]"):c.readyState!=3&&c.readyState==2&&c.getResponseHeader("Content-Length")};c.open("GET",e,!0);c.send(null)};
+THREE.UTF8Loader.prototype.decompressMesh=function(b){var c=b.charCodeAt(0);c>=57344&&(c-=2048);c++;for(var e=new Float32Array(8*c),f=1,h=0;h<8;h++){for(var m=0,k=0;k<c;++k){var n=b.charCodeAt(k+f);m+=n>>1^-(n&1);e[8*k+h]=m}f+=c}c=b.length-f;m=new Uint16Array(c);for(h=k=0;h<c;h++)n=b.charCodeAt(h+f),m[h]=k-n,n==0&&k++;return[e,m]};
+THREE.UTF8Loader.prototype.createModel=function(b,c,e,f,h,m){var k=function(){var c=this;c.materials=[];THREE.Geometry.call(this);var k=THREE.UTF8Loader.prototype.decompressMesh(b),p=[],v=[];(function(b,k,p){for(var u,v,B,D=b.length;p<D;p+=k)u=b[p],v=b[p+1],B=b[p+2],u=u/16383*e,v=v/16383*e,B=B/16383*e,u+=f,v+=h,B+=m,c.vertices.push(new THREE.Vertex(new THREE.Vector3(u,v,B)))})(k[0],8,0);(function(b,c,e){for(var f,h,k=b.length;e<k;e+=c)f=b[e],h=b[e+1],f/=1023,h/=1023,v.push(f,h)})(k[0],8,3);(function(b,
+c,e){for(var f,h,k,m=b.length;e<m;e+=c)f=b[e],h=b[e+1],k=b[e+2],f=(f-512)/511,h=(h-512)/511,k=(k-512)/511,p.push(f,h,k)})(k[0],8,5);(function(b){var e,f,h,k,m,u,G,H,E,N=b.length;for(e=0;e<N;e+=3){f=b[e];h=b[e+1];k=b[e+2];m=c;H=f;E=h;u=k;G=f;var F=h,I=k,C=m.materials[0],K=p[F*3],U=p[F*3+1],F=p[F*3+2],L=p[I*3],O=p[I*3+1],I=p[I*3+2];G=new THREE.Vector3(p[G*3],p[G*3+1],p[G*3+2]);F=new THREE.Vector3(K,U,F);I=new THREE.Vector3(L,O,I);m.faces.push(new THREE.Face3(H,E,u,[G,F,I],null,C));m=v[f*2];f=v[f*2+
+1];u=v[h*2];G=v[h*2+1];H=v[k*2];E=v[k*2+1];k=c.faceVertexUvs[0];h=u;u=G;G=[];G.push(new THREE.UV(m,f));G.push(new THREE.UV(h,u));G.push(new THREE.UV(H,E));k.push(G)}})(k[1]);this.computeCentroids();this.computeFaceNormals()};k.prototype=new THREE.Geometry;k.prototype.constructor=k;c(new k)};
+THREE.MarchingCubes=function(b,c){THREE.Object3D.call(this);this.materials=c instanceof Array?c:[c];this.init=function(b){this.isolation=80;this.size=b;this.size2=this.size*this.size;this.size3=this.size2*this.size;this.halfsize=this.size/2;this.delta=2/this.size;this.yd=this.size;this.zd=this.size2;this.field=new Float32Array(this.size3);this.normal_cache=new Float32Array(this.size3*3);this.vlist=new Float32Array(36);this.nlist=new Float32Array(36);this.firstDraw=!0;this.maxCount=4096;this.count=
+0;this.hasNormal=this.hasPos=!1;this.positionArray=new Float32Array(this.maxCount*3);this.normalArray=new Float32Array(this.maxCount*3)};this.lerp=function(b,c,h){return b+(c-b)*h};this.VIntX=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n+k*this.delta;c[m+1]=u;c[m+2]=p;h[m]=this.lerp(v[b],v[b+3],k);h[m+1]=this.lerp(v[b+1],v[b+4],k);h[m+2]=this.lerp(v[b+2],v[b+5],k)};this.VIntY=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u+k*this.delta;c[m+
+2]=p;c=b+this.yd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.VIntZ=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u;c[m+2]=p+k*this.delta;c=b+this.zd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.compNorm=function(b){var c=b*3;this.normal_cache[c]==0&&(this.normal_cache[c]=this.field[b-1]-this.field[b+1],this.normal_cache[c+1]=this.field[b-this.yd]-this.field[b+
+this.yd],this.normal_cache[c+2]=this.field[b-this.zd]-this.field[b+this.zd])};this.polygonize=function(b,c,h,m,k,n){var u=m+1,p=m+this.yd,v=m+this.zd,t=u+this.yd,x=u+this.zd,w=m+this.yd+this.zd,z=u+this.yd+this.zd,y=0,B=this.field[m],D=this.field[u],G=this.field[p],H=this.field[t],E=this.field[v],N=this.field[x],F=this.field[w],I=this.field[z];B<k&&(y|=1);D<k&&(y|=2);G<k&&(y|=8);H<k&&(y|=4);E<k&&(y|=16);N<k&&(y|=32);F<k&&(y|=128);I<k&&(y|=64);var C=THREE.edgeTable[y];if(C==0)return 0;var K=this.delta,
+U=b+K,L=c+K,K=h+K;C&1&&(this.compNorm(m),this.compNorm(u),this.VIntX(m*3,this.vlist,this.nlist,0,k,b,c,h,B,D));C&2&&(this.compNorm(u),this.compNorm(t),this.VIntY(u*3,this.vlist,this.nlist,3,k,U,c,h,D,H));C&4&&(this.compNorm(p),this.compNorm(t),this.VIntX(p*3,this.vlist,this.nlist,6,k,b,L,h,G,H));C&8&&(this.compNorm(m),this.compNorm(p),this.VIntY(m*3,this.vlist,this.nlist,9,k,b,c,h,B,G));C&16&&(this.compNorm(v),this.compNorm(x),this.VIntX(v*3,this.vlist,this.nlist,12,k,b,c,K,E,N));C&32&&(this.compNorm(x),
+this.compNorm(z),this.VIntY(x*3,this.vlist,this.nlist,15,k,U,c,K,N,I));C&64&&(this.compNorm(w),this.compNorm(z),this.VIntX(w*3,this.vlist,this.nlist,18,k,b,L,K,F,I));C&128&&(this.compNorm(v),this.compNorm(w),this.VIntY(v*3,this.vlist,this.nlist,21,k,b,c,K,E,F));C&256&&(this.compNorm(m),this.compNorm(v),this.VIntZ(m*3,this.vlist,this.nlist,24,k,b,c,h,B,E));C&512&&(this.compNorm(u),this.compNorm(x),this.VIntZ(u*3,this.vlist,this.nlist,27,k,U,c,h,D,N));C&1024&&(this.compNorm(t),this.compNorm(z),this.VIntZ(t*
+3,this.vlist,this.nlist,30,k,U,L,h,H,I));C&2048&&(this.compNorm(p),this.compNorm(w),this.VIntZ(p*3,this.vlist,this.nlist,33,k,b,L,h,G,F));y<<=4;for(k=m=0;THREE.triTable[y+k]!=-1;)b=y+k,c=b+1,h=b+2,this.posnormtriv(this.vlist,this.nlist,3*THREE.triTable[b],3*THREE.triTable[c],3*THREE.triTable[h],n),k+=3,m++;return m};this.posnormtriv=function(b,c,h,m,k,n){var u=this.count*3;this.positionArray[u]=b[h];this.positionArray[u+1]=b[h+1];this.positionArray[u+2]=b[h+2];this.positionArray[u+3]=b[m];this.positionArray[u+
+4]=b[m+1];this.positionArray[u+5]=b[m+2];this.positionArray[u+6]=b[k];this.positionArray[u+7]=b[k+1];this.positionArray[u+8]=b[k+2];this.normalArray[u]=c[h];this.normalArray[u+1]=c[h+1];this.normalArray[u+2]=c[h+2];this.normalArray[u+3]=c[m];this.normalArray[u+4]=c[m+1];this.normalArray[u+5]=c[m+2];this.normalArray[u+6]=c[k];this.normalArray[u+7]=c[k+1];this.normalArray[u+8]=c[k+2];this.hasNormal=this.hasPos=!0;this.count+=3;this.count>=this.maxCount-3&&n(this)};this.begin=function(){this.count=0;
+this.hasNormal=this.hasPos=!1};this.end=function(b){if(this.count!=0){for(var c=this.count*3;c<this.positionArray.length;c++)this.positionArray[c]=0;b(this)}};this.addBall=function(b,c,h,m,k){var n=this.size*Math.sqrt(m/k),u=h*this.size,p=c*this.size,v=b*this.size,t=Math.floor(u-n);t<1&&(t=1);u=Math.floor(u+n);u>this.size-1&&(u=this.size-1);var x=Math.floor(p-n);x<1&&(x=1);p=Math.floor(p+n);p>this.size-1&&(p=this.size-1);var w=Math.floor(v-n);w<1&&(w=1);n=Math.floor(v+n);n>this.size-1&&(n=this.size-
+1);for(var z,y,B,D,G,H;t<u;t++){v=this.size2*t;y=t/this.size-h;G=y*y;for(y=x;y<p;y++){B=v+this.size*y;z=y/this.size-c;H=z*z;for(z=w;z<n;z++)D=z/this.size-b,D=m/(1.0E-6+D*D+H+G)-k,D>0&&(this.field[B+z]+=D)}}};this.addPlaneX=function(b,c){var h,m,k,n,u,p=this.size,v=this.yd,t=this.zd,x=this.field,w=p*Math.sqrt(b/c);w>p&&(w=p);for(h=0;h<w;h++)if(m=h/p,m*=m,n=b/(1.0E-4+m)-c,n>0)for(m=0;m<p;m++){u=h+m*v;for(k=0;k<p;k++)x[t*k+u]+=n}};this.addPlaneY=function(b,c){var h,m,k,n,u,p,v=this.size,t=this.yd,x=
+this.zd,w=this.field,z=v*Math.sqrt(b/c);z>v&&(z=v);for(m=0;m<z;m++)if(h=m/v,h*=h,n=b/(1.0E-4+h)-c,n>0){u=m*t;for(h=0;h<v;h++){p=u+h;for(k=0;k<v;k++)w[x*k+p]+=n}}};this.addPlaneZ=function(b,c){var h,m,k,n,u,p;size=this.size;yd=this.yd;zd=this.zd;field=this.field;dist=size*Math.sqrt(b/c);dist>size&&(dist=size);for(k=0;k<dist;k++)if(h=k/size,h*=h,n=b/(1.0E-4+h)-c,n>0){u=zd*k;for(m=0;m<size;m++){p=u+m*yd;for(h=0;h<size;h++)field[p+h]+=n}}};this.reset=function(){var b;for(b=0;b<this.size3;b++)this.normal_cache[b*
+3]=0,this.field[b]=0};this.render=function(b){this.begin();var c,h,m,k,n,u,p,v,t,x=this.size-2;for(k=1;k<x;k++){t=this.size2*k;p=(k-this.halfsize)/this.halfsize;for(m=1;m<x;m++){v=t+this.size*m;u=(m-this.halfsize)/this.halfsize;for(h=1;h<x;h++)n=(h-this.halfsize)/this.halfsize,c=v+h,this.polygonize(n,u,p,c,this.isolation,b)}}this.end(b)};this.generateGeometry=function(){var b=0,c=new THREE.Geometry,h=[];this.render(function(m){var k,n,u,p,v,t,x,w;for(k=0;k<m.count;k++)x=k*3,v=x+1,w=x+2,n=m.positionArray[x],
+u=m.positionArray[v],p=m.positionArray[w],t=new THREE.Vector3(n,u,p),n=m.normalArray[x],u=m.normalArray[v],p=m.normalArray[w],x=new THREE.Vector3(n,u,p),x.normalize(),v=new THREE.Vertex(t),c.vertices.push(v),h.push(x);nfaces=m.count/3;for(k=0;k<nfaces;k++)x=(b+k)*3,v=x+1,w=x+2,t=h[x],n=h[v],u=h[w],x=new THREE.Face3(x,v,w,[t,n,u]),c.faces.push(x);b+=nfaces;m.count=0});return c};this.init(b)};THREE.MarchingCubes.prototype=new THREE.Object3D;THREE.MarchingCubes.prototype.constructor=THREE.MarchingCubes;
+THREE.edgeTable=new Int32Array([0,265,515,778,1030,1295,1541,1804,2060,2309,2575,2822,3082,3331,3593,3840,400,153,915,666,1430,1183,1941,1692,2460,2197,2975,2710,3482,3219,3993,3728,560,825,51,314,1590,1855,1077,1340,2620,2869,2111,2358,3642,3891,3129,3376,928,681,419,170,1958,1711,1445,1196,2988,2725,2479,2214,4010,3747,3497,3232,1120,1385,1635,1898,102,367,613,876,3180,3429,3695,3942,2154,2403,2665,2912,1520,1273,2035,1786,502,255,1013,764,3580,3317,4095,3830,2554,2291,3065,2800,1616,1881,1107,
+1370,598,863,85,348,3676,3925,3167,3414,2650,2899,2137,2384,1984,1737,1475,1226,966,719,453,204,4044,3781,3535,3270,3018,2755,2505,2240,2240,2505,2755,3018,3270,3535,3781,4044,204,453,719,966,1226,1475,1737,1984,2384,2137,2899,2650,3414,3167,3925,3676,348,85,863,598,1370,1107,1881,1616,2800,3065,2291,2554,3830,4095,3317,3580,764,1013,255,502,1786,2035,1273,1520,2912,2665,2403,2154,3942,3695,3429,3180,876,613,367,102,1898,1635,1385,1120,3232,3497,3747,4010,2214,2479,2725,2988,1196,1445,1711,1958,170,
+419,681,928,3376,3129,3891,3642,2358,2111,2869,2620,1340,1077,1855,1590,314,51,825,560,3728,3993,3219,3482,2710,2975,2197,2460,1692,1941,1183,1430,666,915,153,400,3840,3593,3331,3082,2822,2575,2309,2060,1804,1541,1295,1030,778,515,265,0]);
+THREE.triTable=new Int32Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,9,8,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,2,10,0,2,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,8,3,2,10,8,10,9,8,-1,-1,-1,-1,-1,-1,-1,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,8,11,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,11,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,-1,1,11,2,1,9,11,9,8,11,-1,-1,-1,-1,-1,-1,-1,3,10,1,11,10,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,10,1,0,8,10,8,11,10,-1,-1,-1,-1,-1,-1,-1,3,9,0,3,11,9,11,10,9,-1,-1,-1,-1,-1,-1,-1,9,8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,7,3,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,1,9,4,7,1,7,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,4,7,3,0,4,1,2,10,-1,-1,-1,-1,-1,-1,-1,9,2,10,9,0,2,8,4,7,
+-1,-1,-1,-1,-1,-1,-1,2,10,9,2,9,7,2,7,3,7,9,4,-1,-1,-1,-1,8,4,7,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,4,7,11,2,4,2,0,4,-1,-1,-1,-1,-1,-1,-1,9,0,1,8,4,7,2,3,11,-1,-1,-1,-1,-1,-1,-1,4,7,11,9,4,11,9,11,2,9,2,1,-1,-1,-1,-1,3,10,1,3,11,10,7,8,4,-1,-1,-1,-1,-1,-1,-1,1,11,10,1,4,11,1,0,4,7,11,4,-1,-1,-1,-1,4,7,8,9,0,11,9,11,10,11,0,3,-1,-1,-1,-1,4,7,11,4,11,9,9,11,10,-1,-1,-1,-1,-1,-1,-1,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,5,4,1,5,0,-1,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,8,5,4,8,3,5,3,1,5,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,10,4,9,5,-1,-1,-1,-1,-1,-1,-1,5,2,10,5,4,2,4,0,2,-1,-1,-1,-1,-1,-1,-1,2,10,5,3,2,5,3,5,4,3,4,8,-1,-1,-1,-1,9,5,4,2,3,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,0,8,11,4,9,5,-1,-1,-1,-1,-1,-1,-1,0,5,4,0,1,5,2,3,11,-1,-1,-1,-1,-1,-1,-1,2,1,5,2,5,8,2,8,11,4,8,5,-1,-1,-1,-1,10,3,11,10,1,3,9,5,4,-1,-1,-1,-1,-1,-1,-1,4,9,5,0,8,1,8,10,1,8,11,10,-1,-1,-1,-1,5,4,0,5,0,11,5,11,10,11,0,3,-1,-1,-1,-1,5,4,8,5,
+8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,9,7,8,5,7,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,3,0,9,5,3,5,7,3,-1,-1,-1,-1,-1,-1,-1,0,7,8,0,1,7,1,5,7,-1,-1,-1,-1,-1,-1,-1,1,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,7,8,9,5,7,10,1,2,-1,-1,-1,-1,-1,-1,-1,10,1,2,9,5,0,5,3,0,5,7,3,-1,-1,-1,-1,8,0,2,8,2,5,8,5,7,10,5,2,-1,-1,-1,-1,2,10,5,2,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,7,9,5,7,8,9,3,11,2,-1,-1,-1,-1,-1,-1,-1,9,5,7,9,7,2,9,2,0,2,7,11,-1,-1,-1,-1,2,3,11,0,1,8,1,7,8,1,5,7,-1,-1,-1,-1,11,2,1,11,1,7,7,1,5,-1,-1,-1,-1,-1,-1,
+-1,9,5,8,8,5,7,10,1,3,10,3,11,-1,-1,-1,-1,5,7,0,5,0,9,7,11,0,1,0,10,11,10,0,-1,11,10,0,11,0,3,10,5,0,8,0,7,5,7,0,-1,11,10,5,7,11,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,0,1,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,1,9,8,5,10,6,-1,-1,-1,-1,-1,-1,-1,1,6,5,2,6,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,6,5,1,2,6,3,0,8,-1,-1,-1,-1,-1,-1,-1,9,6,5,9,0,6,0,2,6,-1,-1,-1,-1,-1,-1,-1,5,9,8,5,8,2,5,2,6,3,2,8,-1,-1,-1,-1,2,3,11,10,6,
+5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,0,8,11,2,0,10,6,5,-1,-1,-1,-1,-1,-1,-1,0,1,9,2,3,11,5,10,6,-1,-1,-1,-1,-1,-1,-1,5,10,6,1,9,2,9,11,2,9,8,11,-1,-1,-1,-1,6,3,11,6,5,3,5,1,3,-1,-1,-1,-1,-1,-1,-1,0,8,11,0,11,5,0,5,1,5,11,6,-1,-1,-1,-1,3,11,6,0,3,6,0,6,5,0,5,9,-1,-1,-1,-1,6,5,9,6,9,11,11,9,8,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,4,7,3,6,5,10,-1,-1,-1,-1,-1,-1,-1,1,9,0,5,10,6,8,4,7,-1,-1,-1,-1,-1,-1,-1,10,6,5,1,9,7,1,7,3,7,9,4,-1,-1,-1,-1,6,1,2,6,5,1,4,7,8,-1,-1,-1,-1,
+-1,-1,-1,1,2,5,5,2,6,3,0,4,3,4,7,-1,-1,-1,-1,8,4,7,9,0,5,0,6,5,0,2,6,-1,-1,-1,-1,7,3,9,7,9,4,3,2,9,5,9,6,2,6,9,-1,3,11,2,7,8,4,10,6,5,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,2,4,2,0,2,7,11,-1,-1,-1,-1,0,1,9,4,7,8,2,3,11,5,10,6,-1,-1,-1,-1,9,2,1,9,11,2,9,4,11,7,11,4,5,10,6,-1,8,4,7,3,11,5,3,5,1,5,11,6,-1,-1,-1,-1,5,1,11,5,11,6,1,0,11,7,11,4,0,4,11,-1,0,5,9,0,6,5,0,3,6,11,6,3,8,4,7,-1,6,5,9,6,9,11,4,7,9,7,11,9,-1,-1,-1,-1,10,4,9,6,4,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,10,6,4,9,10,0,8,3,-1,-1,-1,-1,-1,-1,-1,
+10,0,1,10,6,0,6,4,0,-1,-1,-1,-1,-1,-1,-1,8,3,1,8,1,6,8,6,4,6,1,10,-1,-1,-1,-1,1,4,9,1,2,4,2,6,4,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,9,2,4,9,2,6,4,-1,-1,-1,-1,0,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,3,2,8,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,10,4,9,10,6,4,11,2,3,-1,-1,-1,-1,-1,-1,-1,0,8,2,2,8,11,4,9,10,4,10,6,-1,-1,-1,-1,3,11,2,0,1,6,0,6,4,6,1,10,-1,-1,-1,-1,6,4,1,6,1,10,4,8,1,2,1,11,8,11,1,-1,9,6,4,9,3,6,9,1,3,11,6,3,-1,-1,-1,-1,8,11,1,8,1,0,11,6,1,9,1,4,6,4,1,-1,3,11,6,3,6,0,0,6,4,-1,-1,-1,-1,-1,-1,-1,
+6,4,8,11,6,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,10,6,7,8,10,8,9,10,-1,-1,-1,-1,-1,-1,-1,0,7,3,0,10,7,0,9,10,6,7,10,-1,-1,-1,-1,10,6,7,1,10,7,1,7,8,1,8,0,-1,-1,-1,-1,10,6,7,10,7,1,1,7,3,-1,-1,-1,-1,-1,-1,-1,1,2,6,1,6,8,1,8,9,8,6,7,-1,-1,-1,-1,2,6,9,2,9,1,6,7,9,0,9,3,7,3,9,-1,7,8,0,7,0,6,6,0,2,-1,-1,-1,-1,-1,-1,-1,7,3,2,6,7,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,11,10,6,8,10,8,9,8,6,7,-1,-1,-1,-1,2,0,7,2,7,11,0,9,7,6,7,10,9,10,7,-1,1,8,0,1,7,8,1,10,7,6,7,10,2,3,11,-1,11,2,1,11,1,7,10,6,1,6,7,1,-1,-1,-1,-1,
+8,9,6,8,6,7,9,1,6,11,6,3,1,3,6,-1,0,9,1,11,6,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,0,7,0,6,3,11,0,11,6,0,-1,-1,-1,-1,7,11,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,1,9,8,3,1,11,7,6,-1,-1,-1,-1,-1,-1,-1,10,1,2,6,11,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,3,0,8,6,11,7,-1,-1,-1,-1,-1,-1,-1,2,9,0,2,10,9,6,11,7,-1,-1,-1,-1,-1,-1,-1,6,11,7,2,10,3,10,8,3,10,9,8,-1,-1,-1,-1,7,
+2,3,6,2,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,8,7,6,0,6,2,0,-1,-1,-1,-1,-1,-1,-1,2,7,6,2,3,7,0,1,9,-1,-1,-1,-1,-1,-1,-1,1,6,2,1,8,6,1,9,8,8,7,6,-1,-1,-1,-1,10,7,6,10,1,7,1,3,7,-1,-1,-1,-1,-1,-1,-1,10,7,6,1,7,10,1,8,7,1,0,8,-1,-1,-1,-1,0,3,7,0,7,10,0,10,9,6,10,7,-1,-1,-1,-1,7,6,10,7,10,8,8,10,9,-1,-1,-1,-1,-1,-1,-1,6,8,4,11,8,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,6,11,3,0,6,0,4,6,-1,-1,-1,-1,-1,-1,-1,8,6,11,8,4,6,9,0,1,-1,-1,-1,-1,-1,-1,-1,9,4,6,9,6,3,9,3,1,11,3,6,-1,-1,-1,-1,6,8,4,6,11,8,2,10,1,-1,-1,-1,
+-1,-1,-1,-1,1,2,10,3,0,11,0,6,11,0,4,6,-1,-1,-1,-1,4,11,8,4,6,11,0,2,9,2,10,9,-1,-1,-1,-1,10,9,3,10,3,2,9,4,3,11,3,6,4,6,3,-1,8,2,3,8,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,0,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,4,2,4,6,4,3,8,-1,-1,-1,-1,1,9,4,1,4,2,2,4,6,-1,-1,-1,-1,-1,-1,-1,8,1,3,8,6,1,8,4,6,6,10,1,-1,-1,-1,-1,10,1,0,10,0,6,6,0,4,-1,-1,-1,-1,-1,-1,-1,4,6,3,4,3,8,6,10,3,0,3,9,10,9,3,-1,10,9,4,6,10,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,5,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,5,11,7,6,
+-1,-1,-1,-1,-1,-1,-1,5,0,1,5,4,0,7,6,11,-1,-1,-1,-1,-1,-1,-1,11,7,6,8,3,4,3,5,4,3,1,5,-1,-1,-1,-1,9,5,4,10,1,2,7,6,11,-1,-1,-1,-1,-1,-1,-1,6,11,7,1,2,10,0,8,3,4,9,5,-1,-1,-1,-1,7,6,11,5,4,10,4,2,10,4,0,2,-1,-1,-1,-1,3,4,8,3,5,4,3,2,5,10,5,2,11,7,6,-1,7,2,3,7,6,2,5,4,9,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,6,0,6,2,6,8,7,-1,-1,-1,-1,3,6,2,3,7,6,1,5,0,5,4,0,-1,-1,-1,-1,6,2,8,6,8,7,2,1,8,4,8,5,1,5,8,-1,9,5,4,10,1,6,1,7,6,1,3,7,-1,-1,-1,-1,1,6,10,1,7,6,1,0,7,8,7,0,9,5,4,-1,4,0,10,4,10,5,0,3,10,6,10,7,3,7,10,
+-1,7,6,10,7,10,8,5,4,10,4,8,10,-1,-1,-1,-1,6,9,5,6,11,9,11,8,9,-1,-1,-1,-1,-1,-1,-1,3,6,11,0,6,3,0,5,6,0,9,5,-1,-1,-1,-1,0,11,8,0,5,11,0,1,5,5,6,11,-1,-1,-1,-1,6,11,3,6,3,5,5,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,11,9,11,8,11,5,6,-1,-1,-1,-1,0,11,3,0,6,11,0,9,6,5,6,9,1,2,10,-1,11,8,5,11,5,6,8,0,5,10,5,2,0,2,5,-1,6,11,3,6,3,5,2,10,3,10,5,3,-1,-1,-1,-1,5,8,9,5,2,8,5,6,2,3,8,2,-1,-1,-1,-1,9,5,6,9,6,0,0,6,2,-1,-1,-1,-1,-1,-1,-1,1,5,8,1,8,0,5,6,8,3,8,2,6,2,8,-1,1,5,6,2,1,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+1,3,6,1,6,10,3,8,6,5,6,9,8,9,6,-1,10,1,0,10,0,6,9,5,0,5,6,0,-1,-1,-1,-1,0,3,8,5,6,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,5,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,7,5,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,11,7,5,8,3,0,-1,-1,-1,-1,-1,-1,-1,5,11,7,5,10,11,1,9,0,-1,-1,-1,-1,-1,-1,-1,10,7,5,10,11,7,9,8,1,8,3,1,-1,-1,-1,-1,11,1,2,11,7,1,7,5,1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,7,1,7,5,7,2,11,-1,-1,-1,-1,9,7,5,9,2,7,9,0,2,2,11,7,-1,-1,-1,-1,7,5,2,7,2,11,5,9,2,3,2,8,9,8,2,-1,2,5,10,2,3,5,3,7,5,-1,-1,
+-1,-1,-1,-1,-1,8,2,0,8,5,2,8,7,5,10,2,5,-1,-1,-1,-1,9,0,1,5,10,3,5,3,7,3,10,2,-1,-1,-1,-1,9,8,2,9,2,1,8,7,2,10,2,5,7,5,2,-1,1,3,5,3,7,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,7,0,7,1,1,7,5,-1,-1,-1,-1,-1,-1,-1,9,0,3,9,3,5,5,3,7,-1,-1,-1,-1,-1,-1,-1,9,8,7,5,9,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,8,4,5,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,5,0,4,5,11,0,5,10,11,11,3,0,-1,-1,-1,-1,0,1,9,8,4,10,8,10,11,10,4,5,-1,-1,-1,-1,10,11,4,10,4,5,11,3,4,9,4,1,3,1,4,-1,2,5,1,2,8,5,2,11,8,4,5,8,-1,-1,-1,-1,0,4,11,0,11,3,4,5,11,
+2,11,1,5,1,11,-1,0,2,5,0,5,9,2,11,5,4,5,8,11,8,5,-1,9,4,5,2,11,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,5,10,3,5,2,3,4,5,3,8,4,-1,-1,-1,-1,5,10,2,5,2,4,4,2,0,-1,-1,-1,-1,-1,-1,-1,3,10,2,3,5,10,3,8,5,4,5,8,0,1,9,-1,5,10,2,5,2,4,1,9,2,9,4,2,-1,-1,-1,-1,8,4,5,8,5,3,3,5,1,-1,-1,-1,-1,-1,-1,-1,0,4,5,1,0,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,5,8,5,3,9,0,5,0,3,5,-1,-1,-1,-1,9,4,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,11,7,4,9,11,9,10,11,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,7,9,11,7,9,10,11,-1,-1,-1,-1,1,10,11,1,11,
+4,1,4,0,7,4,11,-1,-1,-1,-1,3,1,4,3,4,8,1,10,4,7,4,11,10,11,4,-1,4,11,7,9,11,4,9,2,11,9,1,2,-1,-1,-1,-1,9,7,4,9,11,7,9,1,11,2,11,1,0,8,3,-1,11,7,4,11,4,2,2,4,0,-1,-1,-1,-1,-1,-1,-1,11,7,4,11,4,2,8,3,4,3,2,4,-1,-1,-1,-1,2,9,10,2,7,9,2,3,7,7,4,9,-1,-1,-1,-1,9,10,7,9,7,4,10,2,7,8,7,0,2,0,7,-1,3,7,10,3,10,2,7,4,10,1,10,0,4,0,10,-1,1,10,2,8,7,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,7,1,3,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,0,8,1,8,7,1,-1,-1,-1,-1,4,0,3,7,4,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,8,7,-1,-1,-1,
+-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,11,9,10,-1,-1,-1,-1,-1,-1,-1,0,1,10,0,10,8,8,10,11,-1,-1,-1,-1,-1,-1,-1,3,1,10,11,3,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,11,1,11,9,9,11,8,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,1,2,9,2,11,9,-1,-1,-1,-1,0,2,11,8,0,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,10,8,9,-1,-1,-1,-1,-1,-1,-1,9,10,2,0,9,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,0,1,8,1,10,8,-1,-1,-1,-1,1,10,
+2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,8,9,1,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,9,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,3,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);
+THREE.Trident=function(b){function c(c){return new THREE.Mesh(new THREE.CylinderGeometry(30,0.1,b.length/20,b.length/5),new THREE.MeshBasicMaterial({color:c}))}function e(b,c){var e=new THREE.Geometry;e.vertices=[new THREE.Vertex,new THREE.Vertex(b)];return new THREE.Line(e,new THREE.LineBasicMaterial({color:c}))}THREE.Object3D.call(this);var f=Math.PI/2,h,b=b||THREE.Trident.defaultParams;if(b!==THREE.Trident.defaultParams)for(h in THREE.Trident.defaultParams)b.hasOwnProperty(h)||(b[h]=THREE.Trident.defaultParams[h]);
+this.scale=new THREE.Vector3(b.scale,b.scale,b.scale);this.addChild(e(new THREE.Vector3(b.length,0,0),b.xAxisColor));this.addChild(e(new THREE.Vector3(0,b.length,0),b.yAxisColor));this.addChild(e(new THREE.Vector3(0,0,b.length),b.zAxisColor));if(b.showArrows)h=c(b.xAxisColor),h.rotation.y=-f,h.position.x=b.length,this.addChild(h),h=c(b.yAxisColor),h.rotation.x=f,h.position.y=b.length,this.addChild(h),h=c(b.zAxisColor),h.rotation.y=Math.PI,h.position.z=b.length,this.addChild(h)};
+THREE.Trident.prototype=new THREE.Object3D;THREE.Trident.prototype.constructor=THREE.Trident;THREE.Trident.defaultParams={xAxisColor:16711680,yAxisColor:65280,zAxisColor:255,showArrows:!0,length:100,scale:1};THREE.PlaneCollider=function(b,c){this.point=b;this.normal=c};THREE.SphereCollider=function(b,c){this.center=b;this.radius=c;this.radiusSq=c*c};THREE.BoxCollider=function(b,c){this.min=b;this.max=c;this.dynamic=!0;this.normal=new THREE.Vector3};
+THREE.MeshCollider=function(b,c){this.mesh=b;this.box=c;this.numFaces=this.mesh.geometry.faces.length;this.normal=new THREE.Vector3};THREE.CollisionSystem=function(){this.collisionNormal=new THREE.Vector3;this.colliders=[];this.hits=[]};THREE.Collisions=new THREE.CollisionSystem;THREE.CollisionSystem.prototype.merge=function(b){this.colliders=this.colliders.concat(b.colliders);this.hits=this.hits.concat(b.hits)};
+THREE.CollisionSystem.prototype.rayCastAll=function(b){b.direction.normalize();this.hits.length=0;var c,e,f,h,m=0;c=0;for(e=this.colliders.length;c<e;c++)if(h=this.colliders[c],f=this.rayCast(b,h),f<Number.MAX_VALUE)h.distance=f,f>m?this.hits.push(h):this.hits.unshift(h),m=f;return this.hits};
+THREE.CollisionSystem.prototype.rayCastNearest=function(b){var c=this.rayCastAll(b);if(c.length==0)return null;for(var e=0;c[e]instanceof THREE.MeshCollider;){var f=this.rayMesh(b,c[e]);if(f.dist<Number.MAX_VALUE){c[e].distance=f.dist;c[e].faceIndex=f.faceIndex;break}e++}if(e>c.length)return null;return c[e]};
+THREE.CollisionSystem.prototype.rayCast=function(b,c){if(c instanceof THREE.PlaneCollider)return this.rayPlane(b,c);else if(c instanceof THREE.SphereCollider)return this.raySphere(b,c);else if(c instanceof THREE.BoxCollider)return this.rayBox(b,c);else if(c instanceof THREE.MeshCollider&&c.box)return this.rayBox(b,c.box)};
+THREE.CollisionSystem.prototype.rayMesh=function(b,c){for(var e=this.makeRayLocal(b,c.mesh),f=Number.MAX_VALUE,h,m=0;m<c.numFaces;m++){var k=c.mesh.geometry.faces[m],n=c.mesh.geometry.vertices[k.a].position,u=c.mesh.geometry.vertices[k.b].position,p=c.mesh.geometry.vertices[k.c].position,v=k instanceof THREE.Face4?c.mesh.geometry.vertices[k.d].position:null;k instanceof THREE.Face3?(k=this.rayTriangle(e,n,u,p,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize())):
+k instanceof THREE.Face4&&(k=this.rayTriangle(e,n,u,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()),k=this.rayTriangle(e,u,p,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()))}return{dist:f,faceIndex:h}};
+THREE.CollisionSystem.prototype.rayTriangle=function(b,c,e,f,h,m,k){var n=THREE.CollisionSystem.__v1,u=THREE.CollisionSystem.__v2;m.set(0,0,0);n.sub(e,c);u.sub(f,e);m.cross(n,u);n=m.dot(b.direction);if(!(n<0))if(k.doubleSided||k.flipSided)m.multiplyScalar(-1),n*=-1;else return Number.MAX_VALUE;k=m.dot(c)-m.dot(b.origin);if(!(k<=0))return Number.MAX_VALUE;if(!(k>=n*h))return Number.MAX_VALUE;k/=n;n=THREE.CollisionSystem.__v3;n.copy(b.direction);n.multiplyScalar(k);n.addSelf(b.origin);Math.abs(m.x)>
+Math.abs(m.y)?Math.abs(m.x)>Math.abs(m.z)?(b=n.y-c.y,m=e.y-c.y,h=f.y-c.y,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y):Math.abs(m.y)>Math.abs(m.z)?(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y);c=m*f-e*h;if(c==0)return Number.MAX_VALUE;c=1/c;f=(b*f-n*h)*c;if(!(f>=0))return Number.MAX_VALUE;c*=m*n-e*b;if(!(c>=0))return Number.MAX_VALUE;if(!(1-f-c>=0))return Number.MAX_VALUE;return k};
+THREE.CollisionSystem.prototype.makeRayLocal=function(b,c){var e=THREE.CollisionSystem.__m;THREE.Matrix4.makeInvert(c.matrixWorld,e);var f=THREE.CollisionSystem.__r;f.origin.copy(b.origin);f.direction.copy(b.direction);e.multiplyVector3(f.origin);e.rotateAxis(f.direction);f.direction.normalize();return f};
+THREE.CollisionSystem.prototype.rayBox=function(b,c){var e;c.dynamic&&c.mesh&&c.mesh.matrixWorld?e=this.makeRayLocal(b,c.mesh):(e=THREE.CollisionSystem.__r,e.origin.copy(b.origin),e.direction.copy(b.direction));var f=0,h=0,m=0,k=0,n=0,u=0,p=!0;e.origin.x<c.min.x?(f=c.min.x-e.origin.x,f/=e.direction.x,p=!1,k=-1):e.origin.x>c.max.x&&(f=c.max.x-e.origin.x,f/=e.direction.x,p=!1,k=1);e.origin.y<c.min.y?(h=c.min.y-e.origin.y,h/=e.direction.y,p=!1,n=-1):e.origin.y>c.max.y&&(h=c.max.y-e.origin.y,h/=e.direction.y,
+p=!1,n=1);e.origin.z<c.min.z?(m=c.min.z-e.origin.z,m/=e.direction.z,p=!1,u=-1):e.origin.z>c.max.z&&(m=c.max.z-e.origin.z,m/=e.direction.z,p=!1,u=1);if(p)return-1;p=0;h>f&&(p=1,f=h);m>f&&(p=2,f=m);switch(p){case 0:n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(k,0,0);break;case 1:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*
+f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(0,n,0);break;case 2:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;c.normal.set(0,0,u)}return f};THREE.CollisionSystem.prototype.rayPlane=function(b,c){var e=b.direction.dot(c.normal),f=c.point.dot(c.normal);if(e<0)e=(f-b.origin.dot(c.normal))/e;else return Number.MAX_VALUE;return e>0?e:Number.MAX_VALUE};
+THREE.CollisionSystem.prototype.raySphere=function(b,c){var e=c.center.clone().subSelf(b.origin);if(e.lengthSq<c.radiusSq)return-1;var f=e.dot(b.direction.clone());if(f<=0)return Number.MAX_VALUE;e=c.radiusSq-(e.lengthSq()-f*f);if(e>=0)return Math.abs(f)-Math.sqrt(e);return Number.MAX_VALUE};THREE.CollisionSystem.__v1=new THREE.Vector3;THREE.CollisionSystem.__v2=new THREE.Vector3;THREE.CollisionSystem.__v3=new THREE.Vector3;THREE.CollisionSystem.__nr=new THREE.Vector3;THREE.CollisionSystem.__m=new THREE.Matrix4;
+THREE.CollisionSystem.__r=new THREE.Ray;THREE.CollisionUtils={};THREE.CollisionUtils.MeshOBB=function(b){b.geometry.computeBoundingBox();var c=b.geometry.boundingBox,e=new THREE.Vector3(c.x[0],c.y[0],c.z[0]),c=new THREE.Vector3(c.x[1],c.y[1],c.z[1]),e=new THREE.BoxCollider(e,c);e.mesh=b;return e};THREE.CollisionUtils.MeshAABB=function(b){var c=THREE.CollisionUtils.MeshOBB(b);c.min.addSelf(b.position);c.max.addSelf(b.position);c.dynamic=!1;return c};
+THREE.CollisionUtils.MeshColliderWBox=function(b){return new THREE.MeshCollider(b,THREE.CollisionUtils.MeshOBB(b))};
+if(THREE.WebGLRenderer)THREE.AnaglyphWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);var c=this,e=this.setSize,f=this.render,h=new THREE.Camera,m=new THREE.Camera,k=new THREE.Matrix4,n=new THREE.Matrix4,u,p,v;h.useTarget=m.useTarget=!1;h.matrixAutoUpdate=m.matrixAutoUpdate=!1;var b={minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat},t=new THREE.WebGLRenderTarget(512,512,b),x=new THREE.WebGLRenderTarget(512,512,b),w=new THREE.Camera(53,1,1,1E4);w.position.z=
+2;_material=new THREE.MeshShaderMaterial({uniforms:{mapLeft:{type:"t",value:0,texture:t},mapRight:{type:"t",value:1,texture:x}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, 1.0 - uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D mapLeft;\nuniform sampler2D mapRight;\nvarying vec2 vUv;\nvoid main() {\nvec4 colorL, colorR;\nvec2 uv = vUv;\ncolorL = texture2D( mapLeft, uv );\ncolorR = texture2D( mapRight, uv );\ngl_FragColor = vec4( colorL.g * 0.7 + colorL.b * 0.3, colorR.g, colorR.b, colorL.a + colorR.a ) * 1.1;\n}"});
+var z=new THREE.Scene;z.addObject(new THREE.Mesh(new THREE.PlaneGeometry(2,2),_material));this.setSize=function(b,f){e.call(c,b,f);t.width=b;t.height=f;x.width=b;x.height=f};this.render=function(b,e){e.update(null,!0);if(u!==e.aspect||p!==e.near||v!==e.fov){u=e.aspect;p=e.near;v=e.fov;var D=e.projectionMatrix.clone(),G=125/30*0.5,H=G*p/125,E=p*Math.tan(v*Math.PI/360),N;k.n14=G;n.n14=-G;G=-E*u+H;N=E*u+H;D.n11=2*p/(N-G);D.n13=(N+G)/(N-G);h.projectionMatrix=D.clone();G=-E*u-H;N=E*u-H;D.n11=2*p/(N-G);
+D.n13=(N+G)/(N-G);m.projectionMatrix=D.clone()}h.matrix=e.matrixWorld.clone().multiplySelf(n);h.update(null,!0);h.position.copy(e.position);h.near=p;h.far=e.far;f.call(c,b,h,t,!0);m.matrix=e.matrixWorld.clone().multiplySelf(k);m.update(null,!0);m.position.copy(e.position);m.near=p;m.far=e.far;f.call(c,b,m,x,!0);f.call(c,z,w)}};
+if(THREE.WebGLRenderer)THREE.CrosseyedWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);this.autoClear=!1;var c=this,e=this.setSize,f=this.render,h,m,k=new THREE.Camera,n=new THREE.Camera;c.separation=10;if(b&&b.separation!==void 0)c.separation=b.separation;(new THREE.Camera(53,window.innerWidth/2/window.innerHeight,1,1E4)).position.z=-10;this.setSize=function(b,f){e.call(c,b,f);h=b/2;m=f};this.render=function(b,e){this.clear();k.fov=e.fov;k.aspect=0.5*e.aspect;k.near=e.near;k.far=e.far;
+k.updateProjectionMatrix();k.position.copy(e.position);k.target.position.copy(e.target.position);k.translateX(c.separation);n.projectionMatrix=k.projectionMatrix;n.position.copy(e.position);n.target.position.copy(e.target.position);n.translateX(-c.separation);this.setViewport(0,0,h,m);f.call(c,b,k);this.setViewport(h,0,h,m);f.call(c,b,n,!1)}};
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/a-green.css b/tests/wpt/css-tests/css-transforms-1_dev/html/support/a-green.css
new file mode 100644
index 00000000000..b0dbb071d5b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/a-green.css
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/animations.css b/tests/wpt/css-tests/css-transforms-1_dev/html/support/animations.css
new file mode 100644
index 00000000000..44e3ad9cbde
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/animations.css
@@ -0,0 +1,80 @@
+/* Duration classes */
+
+.once {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: 1;
+}
+
+.infinite {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+}
+
+.infinite-reversed {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+.fast {
+ animation-duration: 0.5s;
+}
+
+/* Animation declarations */
+
+@keyframes pulse {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0.25;
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotateY(0);
+ }
+ to {
+ transform: rotateY(360deg);
+ }
+}
+
+@keyframes rotate {
+ from {
+ transform: rotateZ(45deg);
+ }
+ to {
+ transform: rotateZ(405deg);
+ }
+}
+
+@keyframes slant {
+ from {
+ transform: rotate3d(0.23, 1.2, 0.83, 40deg);
+ }
+ to {
+ transform: rotate3d(1, 0.75, 1.3, 240deg);
+ }
+}
+
+/* Animation classes */
+
+.pulse {
+ animation-name: pulse;
+}
+
+.spin {
+ animation-name: spin;
+}
+
+.rotate {
+ animation-name: rotate;
+}
+
+.slant {
+ animation-name: slant;
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/b-green.css b/tests/wpt/css-tests/css-transforms-1_dev/html/support/b-green.css
new file mode 100644
index 00000000000..a0473f5ca26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/b-green.css
@@ -0,0 +1 @@
+.b { color: green; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.mp4 b/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.mp4
new file mode 100644
index 00000000000..0512bb92cdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.mp4
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.ogv b/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.ogv
new file mode 100644
index 00000000000..4f964f107c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.ogv
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.webm b/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.webm
new file mode 100644
index 00000000000..7f75126a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/big-buck-bunny-240p.webm
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/c-red.css b/tests/wpt/css-tests/css-transforms-1_dev/html/support/c-red.css
new file mode 100644
index 00000000000..d4ba5c64e95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/c-red.css
@@ -0,0 +1 @@
+.c { color: red; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/cat.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/cat.png
new file mode 100644
index 00000000000..85dd7324815
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/cat.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/import-green.css b/tests/wpt/css-tests/css-transforms-1_dev/html/support/import-green.css
new file mode 100644
index 00000000000..537104e6633
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/import-green.css
@@ -0,0 +1 @@
+.import { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/import-red.css b/tests/wpt/css-tests/css-transforms-1_dev/html/support/import-red.css
new file mode 100644
index 00000000000..9945ef47114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/import-red.css
@@ -0,0 +1 @@
+.import { color: red; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-gg-gr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-gg-gr.png
new file mode 100644
index 00000000000..a6d65b0d4a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-gg-gr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rgr-grg.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rgr-grg.png
new file mode 100644
index 00000000000..9b88fbd8114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rgr-grg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rrg-rgg.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rrg-rgg.png
new file mode 100644
index 00000000000..fcf4f3fd7d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-grg-rrg-rgg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-rgr-grg-rgr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-rgr-grg-rgr.png
new file mode 100644
index 00000000000..d454e3a630c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-rgr-grg-rgr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-tr.png
new file mode 100644
index 00000000000..8b4b25364e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/pattern-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50%.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50%.png
new file mode 100644
index 00000000000..cf2eea6b438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50%.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50px.png
new file mode 100644
index 00000000000..9f46583665c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-h-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-100px.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-100px.png
new file mode 100644
index 00000000000..a837eca2225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-100px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-50px.png
new file mode 100644
index 00000000000..84141028020
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/ruler-v-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-purple.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-purple.png
new file mode 100644
index 00000000000..0f522d78728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-purple.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-teal.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-teal.png
new file mode 100644
index 00000000000..e567f51b91b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-teal.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-white.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-white.png
new file mode 100644
index 00000000000..5853cbb238c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/square-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/static-cube.js b/tests/wpt/css-tests/css-transforms-1_dev/html/support/static-cube.js
new file mode 100644
index 00000000000..10b045301c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/static-cube.js
@@ -0,0 +1,52 @@
+// This source is the javascript needed to build a simple moving
+// cube in **three.js** based on this
+// [example](https://raw.github.com/mrdoob/three.js/r44/examples/canvas_geometry_cube.html)
+// It is the source about this [blog post](/blog/2011/08/06/lets-do-a-cube/).
+
+// ## Now lets start
+
+// declare a bunch of variable we will need later
+var container;
+var camera, scene, renderer;
+var cube;
+
+// ## Initialize everything
+function init() {
+ // create the camera
+ camera = new THREE.Camera( 70, 4/3, 100, 1000 );
+ camera.position.z = 350;
+
+ // create the Scene
+ scene = new THREE.Scene();
+
+ // create the Cube
+ cube = new THREE.Mesh( new THREE.CubeGeometry( 200, 200, 200 ), new THREE.MeshNormalMaterial() );
+
+ // add the object to the scene
+ scene.addObject( cube );
+
+ // create the container element
+ container = document.querySelector("#container");
+
+ // init the WebGL renderer and append it to the Dom
+ renderer = new THREE.WebGLRenderer();
+ renderer.setSize( container.getBoundingClientRect().width, container.getBoundingClientRect().height );
+ container.appendChild( renderer.domElement );
+}
+
+
+// ## Render the 3D Scene
+function render() {
+ // animate the cube
+ cube.rotation.x = 0.5;
+ cube.rotation.y = 0.8;
+ cube.rotation.z = 0.2;
+
+ // actually display the scene in the DOM element
+ renderer.render( scene, camera );
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ init();
+ render();
+}) \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/support/README b/tests/wpt/css-tests/css-transforms-1_dev/html/support/support/README
new file mode 100644
index 00000000000..ea8cb9ef357
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/support/README
@@ -0,0 +1,4 @@
+The swatch-green.png file in this directory is really a RED swatch,
+and the swatch-red.png file is really a green swatch.
+
+This directory is used to test relative URIs. \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/svg-external-styles.css b/tests/wpt/css-tests/css-transforms-1_dev/html/support/svg-external-styles.css
new file mode 100644
index 00000000000..22978f89b04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/svg-external-styles.css
@@ -0,0 +1,19 @@
+.rotate {
+ transform: rotate(90deg);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+}
+
+.translateY {
+ transform: translateY(-100px);
+}
+
+.invalid {
+ transform: scale(invalid);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-blue.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-blue.png
new file mode 100644
index 00000000000..bf2759634d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-blue.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-green.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-green.png
new file mode 100644
index 00000000000..0aa79b0c86b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-lime.png
new file mode 100644
index 00000000000..55fd7fdaedf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-orange.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-orange.png
new file mode 100644
index 00000000000..d3cd498b52b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-orange.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-red.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-red.png
new file mode 100644
index 00000000000..1caf25c992a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-white.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-white.png
new file mode 100644
index 00000000000..1a7d4323d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-yellow.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-yellow.png
new file mode 100644
index 00000000000..1591aa0e2e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/swatch-yellow.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-bl.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-bl.png
new file mode 100644
index 00000000000..904e24e996a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-bl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-br.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-br.png
new file mode 100644
index 00000000000..f413ff5c1a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-br.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-inner-half-size.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-inner-half-size.png
new file mode 100644
index 00000000000..e473bf80efc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-inner-half-size.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-outer.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-outer.png
new file mode 100644
index 00000000000..82eeace7fc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-outer.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tl.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tl.png
new file mode 100644
index 00000000000..f6ac0ef7e8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tr.png
new file mode 100644
index 00000000000..59843ae54b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/test-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-iframe-001-contents.html b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-iframe-001-contents.html
new file mode 100644
index 00000000000..deb104be2f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-iframe-001-contents.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Iframe (contents)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ height: 200px;
+ width: 200px;
+ background: red;
+ transform: translate(500px, 500px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.png b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.png
new file mode 100644
index 00000000000..8f939993332
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.svg
new file mode 100644
index 00000000000..8f759c959c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-lime-square.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<rect fill="lime" height="100" width="100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-down.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-down.svg
new file mode 100644
index 00000000000..5fb4ad826b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-down.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 100,0 50,100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left-small.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left-small.svg
new file mode 100644
index 00000000000..855b566133c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left-small.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="50px" width="50px" viewBox="0 0 50 50">
+<polygon fill="blue" points="0,25 50,50 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left.svg
new file mode 100644
index 00000000000..48c24e1d9e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,50 100,100 100,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-right.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-right.svg
new file mode 100644
index 00000000000..dd056a9ff78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 0,100 100,50"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-up.svg b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-up.svg
new file mode 100644
index 00000000000..b3cecc986df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/support/transform-triangle-up.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,100 100,100 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-001.htm
new file mode 100644
index 00000000000..8702a6c77f2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-001.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Document transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-002.htm
new file mode 100644
index 00000000000..152f4b615da
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-002.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Document transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: translateY(-100px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="scale(0.5)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-003.htm
new file mode 100644
index 00000000000..5aa4db325fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-003.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Document transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-004.htm
new file mode 100644
index 00000000000..50dfc0678c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-004.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Document transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(0.5)" class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-005.htm
new file mode 100644
index 00000000000..43ee627521e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-005.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid document transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-006.htm
new file mode 100644
index 00000000000..9239a0fcd7a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-006.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="translateY(-100)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-007.htm
new file mode 100644
index 00000000000..4ddfcd4e0cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-007.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-008.htm
new file mode 100644
index 00000000000..797f8076cd8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-008.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid document and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="scale(invalid)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-009.htm
new file mode 100644
index 00000000000..aab19d9df30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-009.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid document transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="testGroup">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-010.htm
new file mode 100644
index 00000000000..75f2fd61c64
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-010.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)" class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-011.htm
new file mode 100644
index 00000000000..7ab1fa3ac0d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-011.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(invalid)" class="testGroup">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-012.htm
new file mode 100644
index 00000000000..a3df9b659de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-012.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Document style of rotate with three arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: rotate(90deg,20px,20px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="testRect" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-013.htm
new file mode 100644
index 00000000000..62846f68c68
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-013.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="testRect" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-014.htm
new file mode 100644
index 00000000000..8304e949d8d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-document-styles-014.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Invalid document and presentation attribute styles on an SVG element using rotate with three arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-document-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="rotate(90deg,invalid,invalid)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-001.htm
new file mode 100644
index 00000000000..ec19dd61983
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-001.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: External transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="rotate" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-002.htm
new file mode 100644
index 00000000000..ba0427e1b35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-002.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: External transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="scale(0.5)" fill="url(#grad)" class="translateY" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-003.htm
new file mode 100644
index 00000000000..693d7bacc4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-003.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: External transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="rotate">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-004.htm
new file mode 100644
index 00000000000..23b901e558a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-004.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: External transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(0.5)" class="rotate">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-005.htm
new file mode 100644
index 00000000000..a465674064d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-005.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid external transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="invalid" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-006.htm
new file mode 100644
index 00000000000..747e527b153
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-006.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="translateY(-100)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-007.htm
new file mode 100644
index 00000000000..6314c52bf37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-007.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" y="-100" class="invalid" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-008.htm
new file mode 100644
index 00000000000..e6edbc72dfc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-008.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid external and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="scale(invalid)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-009.htm
new file mode 100644
index 00000000000..e31ec6ed9c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-009.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid external transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="invalid">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-010.htm
new file mode 100644
index 00000000000..ce4e6db7c19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-010.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)" class="invalid">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-011.htm
new file mode 100644
index 00000000000..8189a1ece85
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-011.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(invalid)" class="invalid">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-012.htm
new file mode 100644
index 00000000000..1312ce02629
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-012.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: External style of rotate with three arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="rotate-3-args" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-013.htm
new file mode 100644
index 00000000000..5a2b2ac9875
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-013.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="invalid" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-014.htm
new file mode 100644
index 00000000000..9f68fbe7cbf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-external-styles-014.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Invalid external and presentation attribute styles on an SVG element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-external-styles-ref.htm" rel="match">
+ <link href="support/svg-external-styles.css" rel="stylesheet">
+ <meta content="svg" name="flags">
+ <meta content="When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="rotate(90deg,)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-001.htm
new file mode 100644
index 00000000000..1f19ee27c14
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-001.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(50)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-002.htm
new file mode 100644
index 00000000000..29cc99f5cf1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-002.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(25px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-003.htm
new file mode 100644
index 00000000000..aebcdc120a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-003.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(18.75pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-004.htm
new file mode 100644
index 00000000000..578769bb593
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-004.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1.5625pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-005.htm
new file mode 100644
index 00000000000..c0be2908a02
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-005.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(6.614583333mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-006.htm
new file mode 100644
index 00000000000..7d8b19008fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-006.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.661458333cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-007.htm
new file mode 100644
index 00000000000..8a49d49390b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-007.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.260416667in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-008.htm
new file mode 100644
index 00000000000..b5043105fe2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-008.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-009.htm
new file mode 100644
index 00000000000..eb333490eb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-009.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.5e1)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-010.htm
new file mode 100644
index 00000000000..06c84eecdff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-010.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.5e1px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-011.htm
new file mode 100644
index 00000000000..a199b30b5a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-011.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1.875e1pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-012.htm
new file mode 100644
index 00000000000..6f0aee7094b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-012.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.15625e1pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-013.htm
new file mode 100644
index 00000000000..fd29cbed29a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-013.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.6614583333e1mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-014.htm
new file mode 100644
index 00000000000..d76d3042ff7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-014.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.0661458333e1cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-015.htm
new file mode 100644
index 00000000000..b131e78992a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-015.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.0260416667e1in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-016.htm
new file mode 100644
index 00000000000..be6c113cdd4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-016.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.1e1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-017.htm
new file mode 100644
index 00000000000..c07a828e39c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-017.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(250e-1)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-018.htm
new file mode 100644
index 00000000000..9b3ae2e71dd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-018.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(250e-1px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-019.htm
new file mode 100644
index 00000000000..312ec86305e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-019.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(187.5e-1pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-020.htm
new file mode 100644
index 00000000000..fc0611e6242
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-020.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(15.625e-1pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-021.htm
new file mode 100644
index 00000000000..ace826008c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-021.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(66.14583333e-1mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-022.htm
new file mode 100644
index 00000000000..62abe44adc3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-022.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(6.61458333e-1cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-023.htm
new file mode 100644
index 00000000000..60b2d9a4b2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-023.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.60416667e-1in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-024.htm
new file mode 100644
index 00000000000..ff9a1235823
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-024.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(10e-1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-025.htm
new file mode 100644
index 00000000000..f6265e56989
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-025.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-026.htm
new file mode 100644
index 00000000000..7ffeef210e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-026.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-027.htm
new file mode 100644
index 00000000000..17e7646fee7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-027.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-18.75pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-028.htm
new file mode 100644
index 00000000000..8cf0c270047
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-028.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1.5625pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-029.htm
new file mode 100644
index 00000000000..0d33f108803
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-029.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-6.614583333mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-030.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-030.htm
new file mode 100644
index 00000000000..a60e2758522
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-030.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.661458333cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-031.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-031.htm
new file mode 100644
index 00000000000..de71cfae3d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-031.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.260416667in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-032.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-032.htm
new file mode 100644
index 00000000000..265d771e0b8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-032.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-033.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-033.htm
new file mode 100644
index 00000000000..c443a26a992
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-033.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.5e1)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-034.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-034.htm
new file mode 100644
index 00000000000..730fa66dc6a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-034.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.5e1px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-035.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-035.htm
new file mode 100644
index 00000000000..21225929130
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-035.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1.875e1pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-036.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-036.htm
new file mode 100644
index 00000000000..14eb94e971f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-036.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.15625e1pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-037.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-037.htm
new file mode 100644
index 00000000000..ea791c7a858
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-037.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.6614583333e1mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-038.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-038.htm
new file mode 100644
index 00000000000..bd8f13f5482
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-038.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.0661458333e1cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-039.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-039.htm
new file mode 100644
index 00000000000..5b717c249d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-039.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.0260416667e1in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-040.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-040.htm
new file mode 100644
index 00000000000..ecb2a08dc78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-040.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.1e1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-041.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-041.htm
new file mode 100644
index 00000000000..ef5712ec867
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-041.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-250e-1)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-042.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-042.htm
new file mode 100644
index 00000000000..821223fce61
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-042.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-250e-1px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-043.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-043.htm
new file mode 100644
index 00000000000..1e045798149
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-043.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-187.5e-1pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-044.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-044.htm
new file mode 100644
index 00000000000..20994a49a50
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-044.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-15.625e-1pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-045.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-045.htm
new file mode 100644
index 00000000000..90cbc523640
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-045.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-66.14583333e-1mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-046.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-046.htm
new file mode 100644
index 00000000000..f74e99b0c03
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-046.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-6.61458333e-1cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-047.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-047.htm
new file mode 100644
index 00000000000..875a4d038c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-047.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.60416667e-1in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-048.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-048.htm
new file mode 100644
index 00000000000..30945cc1912
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-048.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-10e-1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-049.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-049.htm
new file mode 100644
index 00000000000..fa7fbaaec19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-049.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG transform presentation attribute on the gradient element - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-transform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar to the left of a vertical yellow bar.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" transform="translateX(50px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-001.htm
new file mode 100644
index 00000000000..153dab45c5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-001.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-gradientTransform-combination-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient gradientUnits="userSpaceOnUse" gradientTransform="translateX(50px) translateX(50px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-002.htm
new file mode 100644
index 00000000000..695d38c73c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-002.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-gradientTransform-combination-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient gradientUnits="userSpaceOnUse" gradientTransform="translateX(50px) translateX(37.5pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-003.htm
new file mode 100644
index 00000000000..a155e4d83e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-combination-003.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-gradientTransform-combination-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient gradientTransform="translateX(150) translateX(-50)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-001.htm
new file mode 100644
index 00000000000..b52772ee8d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-001.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-gradientTransform-ex-unit-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.2ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-002.htm
new file mode 100644
index 00000000000..f0b820745cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-002.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.22e1ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-003.htm
new file mode 100644
index 00000000000..117c67e2c9d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-003.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(22e-1ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-004.htm
new file mode 100644
index 00000000000..20af1241b7d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-004.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-gradientTransform-ex-unit-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.2ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-005.htm
new file mode 100644
index 00000000000..06054da1da0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-005.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.22e1ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-006.htm
new file mode 100644
index 00000000000..45ed349e003
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-ex-unit-006.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-22e-1ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-001.htm
new file mode 100644
index 00000000000..fd9ab9d389a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-001.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(25%)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="blue" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-002.htm
new file mode 100644
index 00000000000..c0417533b91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-002.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg>
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25%)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="blue" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-003.htm
new file mode 100644
index 00000000000..2e2da88fc30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-gradientTransform-relative-003.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-gradientTransform-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg>
+ <defs>
+ <linearGradient x2="0%" y2="100%" gradientTransform="rotate(90, 0.5, 0.5) translateX(25%)" id="grad">
+ <stop stop-color="blue" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-001.htm
new file mode 100644
index 00000000000..ad18d9ead74
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-001.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Inline transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: rotate(90)" y="-100" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-002.htm
new file mode 100644
index 00000000000..cff24845faa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-002.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Inline transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: translateY(-100)" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-003.htm
new file mode 100644
index 00000000000..955ab400146
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-003.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Inline transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: rotate(90)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-004.htm
new file mode 100644
index 00000000000..91c5bd75110
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-004.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Inline transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: rotate(90)" transform="scale(0.5)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-005.htm
new file mode 100644
index 00000000000..8c950180dc2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-005.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid inline transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" y="-100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-006.htm
new file mode 100644
index 00000000000..5d539d1cfa5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-006.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-007.htm
new file mode 100644
index 00000000000..9873d9c8734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-007.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: scale(invalid)" y="-100" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-008.htm
new file mode 100644
index 00000000000..7a190966680
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-008.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid inline and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped" name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-009.htm
new file mode 100644
index 00000000000..96087f72a3d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-009.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid inline transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-010.htm
new file mode 100644
index 00000000000..ad18b2dcf8a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-010.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)" transform="rotate(90)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-011.htm
new file mode 100644
index 00000000000..e3997c1fbd6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-011.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)" transform="scale(invalid)">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-012.htm
new file mode 100644
index 00000000000..66a56412861
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-012.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: rotate(90,20px,20px)" y="-60" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-013.htm
new file mode 100644
index 00000000000..afe347ef0f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-013.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" y="-60" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-014.htm
new file mode 100644
index 00000000000..6f1f9800f65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-inline-styles-014.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-inline-styles-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated" name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="rotate(90deg,invalid,invalid)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-001.htm
new file mode 100644
index 00000000000..9afce9d5ad3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-001.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled up horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="blue" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 1 0 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-002.htm
new file mode 100644
index 00000000000..848cae9110e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-002.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled down horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="blue" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 1 0 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-003.htm
new file mode 100644
index 00000000000..b26db33fdf3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-003.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="blue" x="50" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 2 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-004.htm
new file mode 100644
index 00000000000..85cfd61f0e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-004.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="blue" x="50" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 0.5 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-005.htm
new file mode 100644
index 00000000000..e1e79419857
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-005.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and scaled up horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 600px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="fuchsia" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="yellow" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-006.htm
new file mode 100644
index 00000000000..fc0cbedf483
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-006.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and scaled up horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="fuchsia" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="yellow" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-007.htm
new file mode 100644
index 00000000000..85b8abb23f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-007.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and scaled up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="fuchsia" x="50" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-008.htm
new file mode 100644
index 00000000000..8e378901c27
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-008.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and scaled down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="fuchsia" x="50" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-009.htm
new file mode 100644
index 00000000000..87c4fa2257c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-009.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="blue" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(0.2e1 0 0 0.2e1 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-010.htm
new file mode 100644
index 00000000000..29823738261
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-010.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="yellow" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="fuchsia" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-0.2e1 0 0 -0.2e1 100 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-011.htm
new file mode 100644
index 00000000000..a06a85fc4c6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-011.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="blue" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(5e-1 0 0 5e-1 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-012.htm
new file mode 100644
index 00000000000..2b43761bc07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-012.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-5e-1 0 0 -5e-1 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-013.htm
new file mode 100644
index 00000000000..8f2dfa11912
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-013.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled up horizontally and down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="blue" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 0.5 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-014.htm
new file mode 100644
index 00000000000..91a03bd63f2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-014.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled down horizontally and up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="blue" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 2 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-015.htm
new file mode 100644
index 00000000000..df834c9904c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-015.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and left and scaled up horizontally and down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="yellow" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="green" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-016.htm
new file mode 100644
index 00000000000..313963ff244
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-016.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally and up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="fuchsia" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="green" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -2 100 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-017.htm
new file mode 100644
index 00000000000..26685cb802f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-017.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up scaled up horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="fuchsia" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-018.htm
new file mode 100644
index 00000000000..73f737fc2a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-018.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-019.htm
new file mode 100644
index 00000000000..a65fe9b0845
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-019.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="100"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-020.htm
new file mode 100644
index 00000000000..8a6297aa90f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-020.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and scaled up horizontally and down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="fuchsia" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-021.htm
new file mode 100644
index 00000000000..1cf3a3f4b93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-021.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and scaled up horizontally and down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="25" fill="yellow" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="100"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-022.htm
new file mode 100644
index 00000000000..403f8c51fbb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-022.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and scaled down horizontally and up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="fuchsia" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-023.htm
new file mode 100644
index 00000000000..69309d2fcfd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-023.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and scaled down horizontally and up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="100" fill="yellow" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="25"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-024.htm
new file mode 100644
index 00000000000..686cad5db14
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-024.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and scaled up horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="25" fill="yellow" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-025.htm
new file mode 100644
index 00000000000..a48892b585c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-025.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="yellow" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="blue" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-026.htm
new file mode 100644
index 00000000000..5ac1f477a2d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-026.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="fuchsia" x="50" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-027.htm
new file mode 100644
index 00000000000..d4defd8a9bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-027.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and up." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="50" fill="yellow" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -1 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-028.htm
new file mode 100644
index 00000000000..f61610f32da
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-028.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and scaled up horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="fuchsia" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-029.htm
new file mode 100644
index 00000000000..97f7e6cfa98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-029.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="yellow" x="25" height="50"></rect>
+ <rect y="0" width="25" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="green" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 -1 10e1 10e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-030.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-030.htm
new file mode 100644
index 00000000000..667f5c79419
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-030.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and scaled down horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="fuchsia" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-031.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-031.htm
new file mode 100644
index 00000000000..15a075c918a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-031.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="yellow" x="100" height="50"></rect>
+ <rect y="0" width="100" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="green" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -1 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-032.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-032.htm
new file mode 100644
index 00000000000..f4739673349
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-032.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left scaled up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="50" fill="yellow" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="25"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-033.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-033.htm
new file mode 100644
index 00000000000..84240c62643
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-033.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="yellow" x="50" height="25"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="green" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -2 1000e-1 1000e-1)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-034.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-034.htm
new file mode 100644
index 00000000000..9145db360c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-034.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left scaled down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="50" fill="yellow" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="100"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-035.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-035.htm
new file mode 100644
index 00000000000..3aaa2abf3c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-035.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped left and up scaled down vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="yellow" x="50" height="100"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="green" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-036.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-036.htm
new file mode 100644
index 00000000000..610cbf4bbe0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-036.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should skewed right horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0 1 1 0 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-037.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-037.htm
new file mode 100644
index 00000000000..667882b74eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-037.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should skewed down horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 1 0 1 100 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-038.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-038.htm
new file mode 100644
index 00000000000..32c4f45e945
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-038.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be skewed left horinzontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0 -1 1 100 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-039.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-039.htm
new file mode 100644
index 00000000000..a4a96c80274
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-039.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be skewed up vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -1 0 1 50 100)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-040.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-040.htm
new file mode 100644
index 00000000000..fca9559cd5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-040.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -0.05e1 -0.05e1 1 100 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-041.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-041.htm
new file mode 100644
index 00000000000..828df4a8771
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-041.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0.05e1 0.05e1 1 50 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-042.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-042.htm
new file mode 100644
index 00000000000..d3cc3de5ffc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-042.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be skewed down vertically and left horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -0.5 0.5 1 50 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-043.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-043.htm
new file mode 100644
index 00000000000..a3308285260
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-043.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be skewed up vertically and right horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0.5 -0.5 1 100 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-044.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-044.htm
new file mode 100644
index 00000000000..7d4bc4648b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-044.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="red" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="red" x="50" height="50"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(2 0.5 0.5 2 50 0)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-045.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-045.htm
new file mode 100644
index 00000000000..3e6ab95e93f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-045.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="400" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="200" fill="red" x="200" height="200"></rect>
+ <rect y="200" width="200" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="green" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="200" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="400" y="-450" x="-450" fill="url(#coloredBoxes)" transform="matrix(0.75 -0.5 -0.5 0.75 190 150)" height="400"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-046.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-046.htm
new file mode 100644
index 00000000000..454e3df4ec7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-046.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="red" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="50"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-2 5e-1 5e-1 2 250 0)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-047.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-047.htm
new file mode 100644
index 00000000000..1b5ec42ceab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-047.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="400" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="200" fill="red" x="200" height="200"></rect>
+ <rect y="200" width="200" fill="green" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="200" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="400" height="400" fill="url(#coloredBoxes)" transform="matrix(0.5 -5e-1 0 -5e-1 250 100)" x="-450"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-048.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-048.htm
new file mode 100644
index 00000000000..670439acc98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-048.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-clipped-rect-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="50" fill="green" x="50" height="200"></rect>
+ <rect y="200" width="50" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="50" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="50" fill="red" x="50" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-2 0.25 0.25 -0.5 200 200)" height="400"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-049.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-049.htm
new file mode 100644
index 00000000000..0536217e6a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-049.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas and no spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5,0,0,-0.5,100,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-050.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-050.htm
new file mode 100644
index 00000000000..07edc62bfba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-050.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 ,0 ,0 ,-0.5 ,100 ,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-051.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-051.htm
new file mode 100644
index 00000000000..6077b9aab67
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-051.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5, 0, 0, -0.5, 100, 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-052.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-052.htm
new file mode 100644
index 00000000000..15728e1b92f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-052.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 , 0 , 0 , -0.5 , 100 , 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-053.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-053.htm
new file mode 100644
index 00000000000..c53f290267c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-053.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 ,0 ,0 ,-0.5 ,100 ,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-054.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-054.htm
new file mode 100644
index 00000000000..110640b8357
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-054.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5, 0, 0, -0.5, 100, 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-055.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-055.htm
new file mode 100644
index 00000000000..1c06347604a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-055.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 , 0 , 0 , -0.5 , 100 , 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-056.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-056.htm
new file mode 100644
index 00000000000..12451330317
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-056.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by multiple spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-057.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-057.htm
new file mode 100644
index 00000000000..bfcb699d19c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-057.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5,0 ,0, -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-058.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-058.htm
new file mode 100644
index 00000000000..7bd9a2e636a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-058.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'a' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(50% 0 0 -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-059.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-059.htm
new file mode 100644
index 00000000000..03fffb75199
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-059.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'b' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 45deg 0 -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-060.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-060.htm
new file mode 100644
index 00000000000..7690d699021
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-060.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'c' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 50grad -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-061.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-061.htm
new file mode 100644
index 00000000000..ae32e7ccb0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-061.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'd' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 50% 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-062.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-062.htm
new file mode 100644
index 00000000000..5f2afcec15d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-062.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'e' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 0.5 100px 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-063.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-063.htm
new file mode 100644
index 00000000000..87956ce8734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-063.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'f' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 0.5 100 100pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-064.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-064.htm
new file mode 100644
index 00000000000..29b01a78be1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-064.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'a' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(50% 0 0 -0.5 100 100) translateX(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-065.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-065.htm
new file mode 100644
index 00000000000..de352e8cc7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-065.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'b' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 45rad 0 -0.5 100 100) translateY(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-066.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-066.htm
new file mode 100644
index 00000000000..02c9103a623
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-066.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'c' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.125turn -0.5 100 100) translate(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-067.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-067.htm
new file mode 100644
index 00000000000..a6687ea3779
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-067.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'd' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 50% 100 100) scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-068.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-068.htm
new file mode 100644
index 00000000000..815ff7edab5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-068.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'e' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 0.5 100pc 100) scaleX(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-069.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-069.htm
new file mode 100644
index 00000000000..ea127916539
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-matrix-069.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'f' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <link href="reference/svg-matrix-four-color-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 0.5 100 100mm) scaleY(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-001.htm
new file mode 100644
index 00000000000..f2058e7136b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-001.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="" transform="translate(100px, 0) rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-002.htm
new file mode 100644
index 00000000000..f7f3f759956
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-002.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 0" transform="translate(100px, 0) rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-003.htm
new file mode 100644
index 00000000000..d655d1be5d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-003.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 100px 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (100,0) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" x="100" transform-origin="100px 0" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-004.htm
new file mode 100644
index 00000000000..2e8d3c49046
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-004.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 100px</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (0,100px) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 100px" transform="rotate(90deg) translateX(-100px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-005.htm
new file mode 100644
index 00000000000..02a3d4a851c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-005.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 50px 50px</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (50px,50px) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="50px 50px" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-006.htm
new file mode 100644
index 00000000000..b645031f65f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-006.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 100px 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" x="100" transform-origin="100 0" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-007.htm
new file mode 100644
index 00000000000..9459d38680b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-007.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 100</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 100" transform="rotate(90deg) translateX(-100px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-008.htm
new file mode 100644
index 00000000000..93a79dbf014
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-008.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 50 50</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-origin-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="50 50" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-001.htm
new file mode 100644
index 00000000000..06fadd9c7fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-001.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in cm - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-cm-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="" transform="translate(2cm, 0) rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-002.htm
new file mode 100644
index 00000000000..73fd0aeda0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-002.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in cm - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-cm-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="0 0" transform="translate(2cm, 0) rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-003.htm
new file mode 100644
index 00000000000..3c4632d23dd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-003.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 2cm 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-cm-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (2cm,0) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" x="2cm" transform-origin="2cm 0" transform="rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-004.htm
new file mode 100644
index 00000000000..49304ae9b2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-004.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 2cm</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-cm-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (0,2cm) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="0 2cm" transform="rotate(90deg) translateX(-2cm)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-005.htm
new file mode 100644
index 00000000000..13879e8a59d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-cm-005.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 1cm 1cm</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-cm-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (1cm,1cm) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="1cm 1cm" transform="rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-001.htm
new file mode 100644
index 00000000000..93035e35abf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-001.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in inch - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-in-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="" transform="translate(1.5in, 0) rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-002.htm
new file mode 100644
index 00000000000..3306871eb80
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-002.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in inch - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-in-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0 0" transform="translate(1.5in, 0) rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-003.htm
new file mode 100644
index 00000000000..57862535324
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-003.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 1.5in 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-in-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (1.5in,0) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" x="1.5in" transform-origin="1.5in 0" transform="rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-004.htm
new file mode 100644
index 00000000000..a97152cd049
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-004.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 1.5in</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-in-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (0,1.5in) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0 1.5in" transform="rotate(90deg) translateX(-1.5in)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-005.htm
new file mode 100644
index 00000000000..8ec300f4117
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-in-005.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0.75in 0.75in</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-in-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (0.75in, 0.75in) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0.75in 0.75in" transform="rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-001.htm
new file mode 100644
index 00000000000..5d0ced58aaa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-001.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in pt - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-pt-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="" transform="translate(80pt, 0) rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-002.htm
new file mode 100644
index 00000000000..070989564e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-002.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in pt - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-pt-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="0 0" transform="translate(80pt, 0) rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-003.htm
new file mode 100644
index 00000000000..64fbce012cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-003.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 80pt 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-pt-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (80pt,0) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" x="80pt" transform-origin="80pt 0" transform="rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-004.htm
new file mode 100644
index 00000000000..ad6ce4f826a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-004.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 80pt</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-pt-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (0,80pt) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="0 80pt" transform="rotate(90deg) translateX(-80pt)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-005.htm
new file mode 100644
index 00000000000..82c0e8cae72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-length-pt-005.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 40pt 40pt</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-origin-length-pt-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The transform-origin should translate the origin by (40pt,40pt) temporarily." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="40pt 40pt" transform="rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-001.htm
new file mode 100644
index 00000000000..f8245d45bb8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-001.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value absolute value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-002.htm
new file mode 100644
index 00000000000..d60d4141e93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-002.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value 'center' value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-003.htm
new file mode 100644
index 00000000000..4e643622d30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-003.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value '50%' value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-004.htm
new file mode 100644
index 00000000000..66b4493a604
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-004.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-005.htm
new file mode 100644
index 00000000000..55274b84740
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-005.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-006.htm
new file mode 100644
index 00000000000..af32d83694e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-006.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-007.htm
new file mode 100644
index 00000000000..910a648cc7a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-007.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-008.htm
new file mode 100644
index 00000000000..b84989725df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-008.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '75 center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75 center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-009.htm
new file mode 100644
index 00000000000..239dc0b4e22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-009.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '75 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-010.htm
new file mode 100644
index 00000000000..a52a687e651
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-010.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center 75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-011.htm
new file mode 100644
index 00000000000..b290251e8b4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-011.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% 75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-012.htm
new file mode 100644
index 00000000000..f442bb5d38c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-012.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="0" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-013.htm
new file mode 100644
index 00000000000..ec08168dfd7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-013.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="150" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-014.htm
new file mode 100644
index 00000000000..4684a5c5e64
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-014.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="100%" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-015.htm
new file mode 100644
index 00000000000..f9cbb557cf8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-015.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-016.htm
new file mode 100644
index 00000000000..53b905d2026
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-016.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" x="75" transform-origin="left" transform="rotate(90deg) translate(-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-017.htm
new file mode 100644
index 00000000000..824f76451f4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-017.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '25%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="25%" transform="rotate(90deg) translate(-37.5,-37.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-018.htm
new file mode 100644
index 00000000000..d0454d6370d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-018.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top" transform="rotate(90deg) translate(75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-019.htm
new file mode 100644
index 00000000000..0f0c4ec9816
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-019.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom" transform="rotate(90deg) translate(-75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-020.htm
new file mode 100644
index 00000000000..558db611d7f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-020.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0% 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="0% 0%" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-021.htm
new file mode 100644
index 00000000000..71160b053be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-021.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top right" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-022.htm
new file mode 100644
index 00000000000..7ffe1329917
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-022.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top left" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-023.htm
new file mode 100644
index 00000000000..d77529755d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-023.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-024.htm
new file mode 100644
index 00000000000..91fe2b68092
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-024.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom left" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-025.htm
new file mode 100644
index 00000000000..c32026541bd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-025.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom center" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-026.htm
new file mode 100644
index 00000000000..e09444b46ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-026.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom right" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-027.htm
new file mode 100644
index 00000000000..7e5770b79e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-027.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right top" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-028.htm
new file mode 100644
index 00000000000..e4c9fdf0082
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-028.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right center" transform="rotate(90deg) translateY(150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-029.htm
new file mode 100644
index 00000000000..8aea3683d13
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-029.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right bottom" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-030.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-030.htm
new file mode 100644
index 00000000000..afc355d91b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-030.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 75" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-031.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-031.htm
new file mode 100644
index 00000000000..2a788a9bc3c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-031.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 0%" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-032.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-032.htm
new file mode 100644
index 00000000000..3335c9ed8f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-032.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 100%" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-033.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-033.htm
new file mode 100644
index 00000000000..dd9e9c3f63f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-033.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left top" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-034.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-034.htm
new file mode 100644
index 00000000000..6f6194a4242
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-034.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left center" transform="rotate(90deg) translateX(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-035.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-035.htm
new file mode 100644
index 00000000000..31525eaa499
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-035.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left bottom" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-036.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-036.htm
new file mode 100644
index 00000000000..772f199a250
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-036.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 75" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-037.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-037.htm
new file mode 100644
index 00000000000..64a0b700e16
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-037.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 0%" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-038.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-038.htm
new file mode 100644
index 00000000000..8a99d05058d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-038.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 100%" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-039.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-039.htm
new file mode 100644
index 00000000000..3bd2bcde751
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-039.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center top" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-040.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-040.htm
new file mode 100644
index 00000000000..a4538dbcab2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-040.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center bottom" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-041.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-041.htm
new file mode 100644
index 00000000000..c86dbb2a433
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-041.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center left" transform="rotate(90deg) translateX(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-042.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-042.htm
new file mode 100644
index 00000000000..340b45238eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-042.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center right" transform="rotate(90deg) translateY(150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-043.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-043.htm
new file mode 100644
index 00000000000..11242552736
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-043.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 100%" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-044.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-044.htm
new file mode 100644
index 00000000000..5a592456f76
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-044.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0 center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="0 center" transform="rotate(90deg) translate(-225,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-045.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-045.htm
new file mode 100644
index 00000000000..7b25b9a7ca0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-045.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 0%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-046.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-046.htm
new file mode 100644
index 00000000000..81577788f14
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-046.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 0'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 0" transform="rotate(90deg) translate(75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-001.htm
new file mode 100644
index 00000000000..205c9c3204d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-001.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top 100%" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-002.htm
new file mode 100644
index 00000000000..66d3c644c7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-002.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom 100%" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-003.htm
new file mode 100644
index 00000000000..a6ab4f0b822
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-003.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top 150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top 150" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-004.htm
new file mode 100644
index 00000000000..807153f1ea0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-004.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom 150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom 150" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-005.htm
new file mode 100644
index 00000000000..8aa57f9f9e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-005.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top top" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-006.htm
new file mode 100644
index 00000000000..b8ef1c93f09
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-006.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom bottom" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-007.htm
new file mode 100644
index 00000000000..3b3873f6506
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-007.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top bottom" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-008.htm
new file mode 100644
index 00000000000..af130080bf7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-008.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom top" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-009.htm
new file mode 100644
index 00000000000..168c13c9820
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-009.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'left left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="left left" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-010.htm
new file mode 100644
index 00000000000..bbafe6a738a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-010.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'left right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="left right" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-011.htm
new file mode 100644
index 00000000000..8fc8a561ed2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-011.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'right right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right right" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-012.htm
new file mode 100644
index 00000000000..0d96dd588cb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-origin-relative-length-invalid-012.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'right left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="reference/svg-origin-relative-length-invalid-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right left" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-001.htm
new file mode 100644
index 00000000000..ae430e87837
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-001.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(25)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-002.htm
new file mode 100644
index 00000000000..fa74030e04c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-002.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(25px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-003.htm
new file mode 100644
index 00000000000..c40f0de0db6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-003.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(18.75pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-004.htm
new file mode 100644
index 00000000000..f147b3c047e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-004.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1.5625pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-005.htm
new file mode 100644
index 00000000000..32681c6ed35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-005.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(6.614583333mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-006.htm
new file mode 100644
index 00000000000..0e599aa59db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-006.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.661458333cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-007.htm
new file mode 100644
index 00000000000..a8fac9e0dab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-007.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.260416667in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-008.htm
new file mode 100644
index 00000000000..192fbc4938f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-008.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-009.htm
new file mode 100644
index 00000000000..cd9f3d66d92
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-009.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.5e1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-010.htm
new file mode 100644
index 00000000000..411d6db3726
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-010.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.5e1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-011.htm
new file mode 100644
index 00000000000..736bc4ea89e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-011.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1.875e1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-012.htm
new file mode 100644
index 00000000000..a0f4adbf3df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-012.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.15625e1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-013.htm
new file mode 100644
index 00000000000..a2b3bca1163
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-013.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.6614583333e1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-014.htm
new file mode 100644
index 00000000000..84e4269bd54
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-014.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.0661458333e1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-015.htm
new file mode 100644
index 00000000000..a24f62ad6a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-015.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.0260416667e1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-016.htm
new file mode 100644
index 00000000000..bfb0acbe21e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-016.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.1e1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-017.htm
new file mode 100644
index 00000000000..637207f4f73
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-017.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(250e-1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-018.htm
new file mode 100644
index 00000000000..de376495f3c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-018.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(250e-1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-019.htm
new file mode 100644
index 00000000000..4d4224c8bde
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-019.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(187.5e-1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-020.htm
new file mode 100644
index 00000000000..dab599acd79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-020.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(15.625e-1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-021.htm
new file mode 100644
index 00000000000..ceb733d1a75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-021.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(66.14583333e-1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-022.htm
new file mode 100644
index 00000000000..72614aba982
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-022.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(6.61458333e-1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-023.htm
new file mode 100644
index 00000000000..5e7d9a5af76
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-023.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.60416667e-1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-024.htm
new file mode 100644
index 00000000000..eb39ca42bd4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-024.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(10e-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-025.htm
new file mode 100644
index 00000000000..94253fbf948
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-025.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-026.htm
new file mode 100644
index 00000000000..a95349ec2c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-026.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-027.htm
new file mode 100644
index 00000000000..d7226c9faee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-027.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-18.75pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-028.htm
new file mode 100644
index 00000000000..ed4a7f52477
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-028.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1.5625pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-029.htm
new file mode 100644
index 00000000000..6b70596ac60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-029.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-6.614583333mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-030.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-030.htm
new file mode 100644
index 00000000000..7cd64aa89a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-030.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.661458333cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-031.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-031.htm
new file mode 100644
index 00000000000..31dbf9771b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-031.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.260416667in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-032.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-032.htm
new file mode 100644
index 00000000000..9bf5b31237c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-032.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-033.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-033.htm
new file mode 100644
index 00000000000..dc7034b5fb7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-033.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.5e1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-034.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-034.htm
new file mode 100644
index 00000000000..7596449ed2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-034.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.5e1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-035.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-035.htm
new file mode 100644
index 00000000000..ac7067cd353
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-035.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1.875e1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-036.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-036.htm
new file mode 100644
index 00000000000..70fe3c104fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-036.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.15625e1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-037.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-037.htm
new file mode 100644
index 00000000000..0d72f795b92
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-037.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.6614583333e1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-038.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-038.htm
new file mode 100644
index 00000000000..b32d519a54e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-038.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.0661458333e1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-039.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-039.htm
new file mode 100644
index 00000000000..922595392a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-039.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.0260416667e1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-040.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-040.htm
new file mode 100644
index 00000000000..0a6e7cd3532
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-040.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.1e1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-041.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-041.htm
new file mode 100644
index 00000000000..01ad38b9241
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-041.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-250e-1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-042.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-042.htm
new file mode 100644
index 00000000000..2bb3f302da4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-042.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-250e-1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-043.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-043.htm
new file mode 100644
index 00000000000..6dd4dcf6897
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-043.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-187.5e-1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-044.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-044.htm
new file mode 100644
index 00000000000..c38823023ad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-044.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-15.625e-1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-045.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-045.htm
new file mode 100644
index 00000000000..bd362616643
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-045.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-66.14583333e-1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-046.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-046.htm
new file mode 100644
index 00000000000..83e81c07459
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-046.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-6.61458333e-1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-047.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-047.htm
new file mode 100644
index 00000000000..01558ffbbbe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-047.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.60416667e-1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-048.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-048.htm
new file mode 100644
index 00000000000..350cd1ef27a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-048.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-10e-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-049.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-049.htm
new file mode 100644
index 00000000000..8307f4fccea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-049.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG transform presentation attribute on the pattern element - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-patternTransform-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="greenRects" transform="translateX(25px)" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-001.htm
new file mode 100644
index 00000000000..bbe3fa6258f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-001.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-patternTransform-combination-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25px) translateX(25px)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-002.htm
new file mode 100644
index 00000000000..a02f88d6b5b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-002.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-patternTransform-combination-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25px) translateX(18.75pt)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-003.htm
new file mode 100644
index 00000000000..59975585174
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-combination-003.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-patternTransform-combination-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg" name="flags">
+ <meta content="The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(150) translateX(-100)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-001.htm
new file mode 100644
index 00000000000..e13f8509596
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-patternTransform-ex-unit-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-002.htm
new file mode 100644
index 00000000000..0e7d69b20e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-002.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(0.1e1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-003.htm
new file mode 100644
index 00000000000..0acf94bec59
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-003.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(10e-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-004.htm
new file mode 100644
index 00000000000..fa8c4c0ff70
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-004.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-patternTransform-ex-unit-ref.htm" rel="match">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-005.htm
new file mode 100644
index 00000000000..38df8bb9ae2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-005.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.1e1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-006.htm
new file mode 100644
index 00000000000..44607136298
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-ex-unit-006.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="reference/svg-patternTransform-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-10e-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-001.htm
new file mode 100644
index 00000000000..1ab9c350dc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25%)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="27" fill="green" x="24" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="74" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="25" fill="red"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="red"></rect>
+ <rect y="-1" width="102" height="102" x="-1" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-002.htm
new file mode 100644
index 00000000000..3ea448e2f3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-002.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25%)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="27" fill="green" x="24" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="74" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="25" fill="red"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="red"></rect>
+ <rect y="-1" width="102" height="102" x="-1" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-003.htm
new file mode 100644
index 00000000000..4ba227bc175
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-patternTransform-relative-003.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help">
+ <link href="reference/svg-patternTransform-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="rotate(90) translateX(25%)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="27" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="49" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="100" height="25" x="0" fill="red"></rect>
+ <rect y="24" width="100" height="27" x="0" fill="green"></rect>
+ <rect y="50" width="100" height="25" x="0" fill="red"></rect>
+ <rect y="74" width="100" height="27" x="0" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-001.htm
new file mode 100644
index 00000000000..cec93d65265
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and pixel on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-002.htm
new file mode 100644
index 00000000000..edb4f5e7954
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments without units on rotate or translate values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90,20,20)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-003.htm
new file mode 100644
index 00000000000..7cc5f6afdbe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-003.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with grad on rotate and pt on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(100grad,15pt,15pt)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-004.htm
new file mode 100644
index 00000000000..7de8e1021fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-004.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with turn on rotate and pc on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(0.25turn,1.25pc,1.25pc)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-005.htm
new file mode 100644
index 00000000000..f6d2218b30f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-005.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with rad on rotate and mm on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(1.57079632674897rad,5.291666667mm,5.291666667mm)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-006.htm
new file mode 100644
index 00000000000..b901d817bc7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-006.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative rotate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="0" x="-40" fill="green" transform="rotate(-90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-007.htm
new file mode 100644
index 00000000000..63941cb3c75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-007.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative translateX</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="-40" fill="green" transform="rotate(90deg,-20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-008.htm
new file mode 100644
index 00000000000..185f305f3f2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-008.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative translateY</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="40" fill="green" transform="rotate(90deg,20px,-20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-009.htm
new file mode 100644
index 00000000000..f3fc082e596
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-009.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with scientific numbers on degree angles</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(9.0e1deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-010.htm
new file mode 100644
index 00000000000..b8e21fc998d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-010.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,2.0e1px,2.0e1px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-011.htm
new file mode 100644
index 00000000000..fa7b3a7d5da
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-011.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and percentage units on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,25%,25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-012.htm
new file mode 100644
index 00000000000..c81d86284e8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-012.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and negative percentage units on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-120" x="0" fill="green" transform="rotate(90deg,-25%,-25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-013.htm
new file mode 100644
index 00000000000..8db1926c4c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-013.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with space delimited arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg 20px 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-014.htm
new file mode 100644
index 00000000000..924950b63d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-014.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-015.htm
new file mode 100644
index 00000000000..fd8b88f9fa4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-015.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments with a space after the comma</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg, 20px, 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-016.htm
new file mode 100644
index 00000000000..0aca58b43c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-016.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg ,20px ,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-017.htm
new file mode 100644
index 00000000000..c2845baa4e3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-017.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with length values - 40px 40px</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="40" x="0" transform-origin="40px 40px" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-018.htm
new file mode 100644
index 00000000000..cdd22b058ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-018.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="center" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-019.htm
new file mode 100644
index 00000000000..1dec3d6c980
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-019.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="50%" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-020.htm
new file mode 100644
index 00000000000..3022a7be74d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-020.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="80" x="-40" transform-origin="right top" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-021.htm
new file mode 100644
index 00000000000..7562a682e13
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-021.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="40" x="0" transform-origin="40px 40px" transform="rotate(90deg,25%,25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-022.htm
new file mode 100644
index 00000000000..7440b23bc39
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-022.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="25% 25%" transform="rotate(90deg,40px,40px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-023.htm
new file mode 100644
index 00000000000..c17aa527075
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-023.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="25% 25%" transform="rotate(90deg,50%,50%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-001.htm
new file mode 100644
index 00000000000..222c5b8664e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with one absolute translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-002.htm
new file mode 100644
index 00000000000..6713c74b4c1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with no translation-value arguments and a comma</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="0" x="0" fill="green" transform="rotate(90deg,)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-003.htm
new file mode 100644
index 00000000000..2b17bfea616
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-003.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments, with a third absolute translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg,20px,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-004.htm
new file mode 100644
index 00000000000..e121d9a2367
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-004.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with one relative translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg 30%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-005.htm
new file mode 100644
index 00000000000..5772894c680
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-3args-invalid-005.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments, with a third relative translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-rotate-3args-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg,30%,20%,40%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-001.htm
new file mode 100644
index 00000000000..f55ff6243de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-001.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-002.htm
new file mode 100644
index 00000000000..9b84ed80df7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-002.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-003.htm
new file mode 100644
index 00000000000..bb0f8a9ac67
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-003.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-004.htm
new file mode 100644
index 00000000000..912865dd5b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-004.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-005.htm
new file mode 100644
index 00000000000..99d979ea0d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-005.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.785398163374485rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-006.htm
new file mode 100644
index 00000000000..21e54b98152
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-006.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-007.htm
new file mode 100644
index 00000000000..a2a66137487
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-007.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-008.htm
new file mode 100644
index 00000000000..b69c56da9dd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-008.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-009.htm
new file mode 100644
index 00000000000..442aba8fb69
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-009.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-5.497787143782138rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-010.htm
new file mode 100644
index 00000000000..71142d2acbf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-010.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-011.htm
new file mode 100644
index 00000000000..32afbc333f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-011.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-012.htm
new file mode 100644
index 00000000000..3c2958e5681
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-012.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-013.htm
new file mode 100644
index 00000000000..98e2c7a4635
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-013.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-014.htm
new file mode 100644
index 00000000000..2eaa74e7ca5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-014.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(7.068583470577035rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-015.htm
new file mode 100644
index 00000000000..71a1740b95b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-015.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-016.htm
new file mode 100644
index 00000000000..45763788320
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-016.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-017.htm
new file mode 100644
index 00000000000..aefbd928d0a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-017.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on degree angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-018.htm
new file mode 100644
index 00000000000..aadd541c398
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-018.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-019.htm
new file mode 100644
index 00000000000..6c44a73d454
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-019.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.785398163374485e0rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-020.htm
new file mode 100644
index 00000000000..c6386368e34
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-020.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-021.htm
new file mode 100644
index 00000000000..7dba7c28c04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-021.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-022.htm
new file mode 100644
index 00000000000..981b3ca1366
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-022.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-023.htm
new file mode 100644
index 00000000000..d0cc72abbbe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-023.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-024.htm
new file mode 100644
index 00000000000..171b12cd5ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-024.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(7.85398163374485e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-025.htm
new file mode 100644
index 00000000000..89665d466f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-45-025.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-45-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(11.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-001.htm
new file mode 100644
index 00000000000..f125de4a39a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-001.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-002.htm
new file mode 100644
index 00000000000..129271e38ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-002.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-003.htm
new file mode 100644
index 00000000000..e0c9d733284
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-003.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(100grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-004.htm
new file mode 100644
index 00000000000..ed69c183b4b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-004.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.25turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-005.htm
new file mode 100644
index 00000000000..f7d7233e340
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-005.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.57079632674897rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-006.htm
new file mode 100644
index 00000000000..7bb1bdf1062
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-006.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative, unit less turn</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-270)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-007.htm
new file mode 100644
index 00000000000..80df92b899f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-007.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative degrees</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-270deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-008.htm
new file mode 100644
index 00000000000..b6d62160ac6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-008.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative gradians</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-300grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-009.htm
new file mode 100644
index 00000000000..b42527c8848
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-009.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative radians</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.570796327rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-010.htm
new file mode 100644
index 00000000000..9a1e93ead99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-010.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-0.75turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-011.htm
new file mode 100644
index 00000000000..aa96864800c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-011.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with unit less angle</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(450)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-012.htm
new file mode 100644
index 00000000000..daf3ad9e2cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-012.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in degree</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(450deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-013.htm
new file mode 100644
index 00000000000..13b7093f0c6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-013.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in gradian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(500grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-014.htm
new file mode 100644
index 00000000000..cf69d6a36ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-014.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in radian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(7.853981634rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-015.htm
new file mode 100644
index 00000000000..7fcd64c35f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-015.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in turn</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.25turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-016.htm
new file mode 100644
index 00000000000..b2032407073
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-016.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on unit less angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(9.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-017.htm
new file mode 100644
index 00000000000..539fe67bf2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-017.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on degree angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(9.0e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-018.htm
new file mode 100644
index 00000000000..0e5aa640591
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-018.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on gradian angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(10.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-019.htm
new file mode 100644
index 00000000000..49497a01c5c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-019.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on radian angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.1570796326794897e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-020.htm
new file mode 100644
index 00000000000..3d3e9ae9e1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-020.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.025e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-021.htm
new file mode 100644
index 00000000000..094143fddbd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-021.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(900e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-022.htm
new file mode 100644
index 00000000000..3d63651ed21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-022.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(900e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-023.htm
new file mode 100644
index 00000000000..0038953ea30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-023.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1000e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-024.htm
new file mode 100644
index 00000000000..9de1c4cb9f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-024.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(15.70796326794897e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-025.htm
new file mode 100644
index 00000000000..ae36c20a5a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-rotate-angle-90-025.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <link href="reference/svg-rotate-angle-90-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(2.5e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-001.htm
new file mode 100644
index 00000000000..b74a7b18c29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="196" y="1" x="1" fill="red" transform="scale(0.5)" height="196"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-002.htm
new file mode 100644
index 00000000000..04c74d1f071
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 1.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" fill="green" transform="scale(1.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-003.htm
new file mode 100644
index 00000000000..927e89de8f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 2 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="75" fill="green" transform="scale(2)" height="75"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-004.htm
new file mode 100644
index 00000000000..7e00f51d9f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="196" y="1" x="1" fill="red" transform="scale(0.5,0.5)" height="196"></rect>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-005.htm
new file mode 100644
index 00000000000..04671d0ae05
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale with percent values - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scale(50%)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-006.htm
new file mode 100644
index 00000000000..95bd79c9ca7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-006.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 0.5 and vertically 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 500px;
+ height: 500px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="198" fill="red" x="1" height="198"></rect>
+ <rect width="400" fill="green" transform="scale(0.5, 1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-007.htm
new file mode 100644
index 00000000000..d1bde5003dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-007.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 1.5 and vertically 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 500px;
+ height: 500px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="198" fill="red" x="1" height="198"></rect>
+ <rect width="133.333" fill="green" transform="scale(1.5, 0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-008.htm
new file mode 100644
index 00000000000..41077a9538d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-008.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 on the g element </title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <g transform="scale(0.5)">
+ <rect y="1" width="296" fill="red" x="1" height="296"></rect>
+ </g>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-009.htm
new file mode 100644
index 00000000000..95f26870dc5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-009.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <g transform="scale(0.5)">
+ <rect width="592" y="1" x="1" fill="red" transform="scale(0.5)" height="592"></rect>
+ </g>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-010.htm
new file mode 100644
index 00000000000..3144bd7575b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-010.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="400" y="-400" x="-400" fill="green" transform="scale(-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-011.htm
new file mode 100644
index 00000000000..42c67ad9eba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-011.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -2 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="100" y="-100" x="-100" fill="green" transform="scale(-2)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-012.htm
new file mode 100644
index 00000000000..b84eab4bc23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-012.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="400" y="-400" x="-400" fill="green" transform="scale(-0.5,-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-013.htm
new file mode 100644
index 00000000000..cf6ca1cbaf8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-013.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -0.5 and vertically -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="400" y="-133.333" x="-400" fill="green" transform="scale(-0.5, -1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-014.htm
new file mode 100644
index 00000000000..b3e1105f586
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-014.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -1.5 and vertically -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="133.333" y="-400" x="-133.333" fill="green" transform="scale(-1.5, -0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-015.htm
new file mode 100644
index 00000000000..d2013cf662b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-015.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -0.5 and vertically 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="400" y="0" x="-400" fill="green" transform="scale(-0.5, 1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-016.htm
new file mode 100644
index 00000000000..2688c369288
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-016.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 1.5 and vertically -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="133.333" y="-400" x="0" fill="green" transform="scale(1.5, -0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-017.htm
new file mode 100644
index 00000000000..3318087b7a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scale-017.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 on the g element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <g transform="scale(-0.5)">
+ <rect y="-400" width="400" fill="green" x="-400" height="400"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-001.htm
new file mode 100644
index 00000000000..1fe17904bd5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="298" y="1" x="1" fill="red" transform="scaleX(0.5)" height="148"></rect>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-002.htm
new file mode 100644
index 00000000000..966d8cfe99a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" fill="green" transform="scaleX(1.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-003.htm
new file mode 100644
index 00000000000..84fa59085c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-003.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX with percent argument - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="200" fill="green" transform="scaleX(50%)" height="200"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-004.htm
new file mode 100644
index 00000000000..8df7d51d52f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-004.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="400" y="0" x="-400" fill="green" transform="scaleX(-0.5)" height="200"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-005.htm
new file mode 100644
index 00000000000..37a031ecd4f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scalex-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" y="0" x="-100" fill="green" transform="scaleX(-1.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-001.htm
new file mode 100644
index 00000000000..2de2849e52a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="148" y="1" x="1" fill="red" transform="scaleY(0.5)" height="298"></rect>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-002.htm
new file mode 100644
index 00000000000..96810279ce2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should be vertically scaled up 1.5 to 150x150" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scaleY(1.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-003.htm
new file mode 100644
index 00000000000..f4dcd27221d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY with percent argument - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scaleY(50%)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-004.htm
new file mode 100644
index 00000000000..6e3c64ef0fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-004.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and and scaleY -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="200" y="-400" x="0" fill="green" transform="scaleY(-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-005.htm
new file mode 100644
index 00000000000..4437a8c5877
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-scaley-005.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help">
+ <link href="reference/svg-scale-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg>
+ <rect width="200" y="-133.333" x="0" fill="green" transform="scaleY(-1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-001.htm
new file mode 100644
index 00000000000..f2d62898b69
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-001.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-002.htm
new file mode 100644
index 00000000000..54e17cbea89
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style></head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-003.htm
new file mode 100644
index 00000000000..fff533cef5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-003.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-004.htm
new file mode 100644
index 00000000000..0fce915a8df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-004.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-005.htm
new file mode 100644
index 00000000000..96412f36b7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-005.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.785398163rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-006.htm
new file mode 100644
index 00000000000..0d29ca90843
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-006.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-007.htm
new file mode 100644
index 00000000000..4eea3c51fec
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-007.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-008.htm
new file mode 100644
index 00000000000..a9354bf841a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-008.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-009.htm
new file mode 100644
index 00000000000..312fec95286
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-009.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-5.497787144rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-010.htm
new file mode 100644
index 00000000000..da0519e1415
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-010.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-011.htm
new file mode 100644
index 00000000000..5bdb347776c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-011.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-012.htm
new file mode 100644
index 00000000000..efcef0a01b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-012.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-013.htm
new file mode 100644
index 00000000000..68c5b96de10
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-013.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-014.htm
new file mode 100644
index 00000000000..1f4311bbb8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-014.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(7.068583471rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-015.htm
new file mode 100644
index 00000000000..8d681790930
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-015.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-016.htm
new file mode 100644
index 00000000000..d45247013e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-016.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-017.htm
new file mode 100644
index 00000000000..08d492802bd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-017.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-018.htm
new file mode 100644
index 00000000000..e30b776d9b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-018.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(5.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-019.htm
new file mode 100644
index 00000000000..2f6794cfc49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-019.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(.0785398163e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-020.htm
new file mode 100644
index 00000000000..43c9362c1e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-020.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.0125e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-021.htm
new file mode 100644
index 00000000000..39af4ccff61
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-021.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-022.htm
new file mode 100644
index 00000000000..a52913ebf33
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-022.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-023.htm
new file mode 100644
index 00000000000..2f9286f62c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-023.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-024.htm
new file mode 100644
index 00000000000..c6fb0f3e967
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-024.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(7.85398163e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-025.htm
new file mode 100644
index 00000000000..c4a6f7062fc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewx-025.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewx-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-001.htm
new file mode 100644
index 00000000000..9340298fa7a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-001.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with skewX and skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewxy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 4,3 101,99 296,197 200,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45) skewY(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-002.htm
new file mode 100644
index 00000000000..ab2c2bc92b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewxy-002.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with skewX and skewY with different units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help">
+ <link href="reference/svg-skewxy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function" name="assert">
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 4,3 101,99 296,197 200,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45deg) skewY(50grad) " height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-001.htm
new file mode 100644
index 00000000000..0998ad63ed7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-001.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-002.htm
new file mode 100644
index 00000000000..3e40bd5a7d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-002.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-003.htm
new file mode 100644
index 00000000000..025f8dbe43b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-003.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-004.htm
new file mode 100644
index 00000000000..e49e52a2c98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-004.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-005.htm
new file mode 100644
index 00000000000..2f4a36f6acd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-005.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.785398163rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-006.htm
new file mode 100644
index 00000000000..c4113dbb44b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-006.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-007.htm
new file mode 100644
index 00000000000..91a309c94e3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-007.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-008.htm
new file mode 100644
index 00000000000..045268c5be4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-008.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-009.htm
new file mode 100644
index 00000000000..8cd7abb6e70
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-009.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-5.49778714rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-010.htm
new file mode 100644
index 00000000000..2d37af7135e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-010.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-011.htm
new file mode 100644
index 00000000000..ea1ffa7c590
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-011.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-012.htm
new file mode 100644
index 00000000000..b73c210aab5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-012.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-013.htm
new file mode 100644
index 00000000000..91d2c325833
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-013.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-014.htm
new file mode 100644
index 00000000000..5e1dad6b9ed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-014.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(7.06858347rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-015.htm
new file mode 100644
index 00000000000..4d58bf34f2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-015.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-016.htm
new file mode 100644
index 00000000000..1810d3bd6b8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-016.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-017.htm
new file mode 100644
index 00000000000..c00a7371b29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-017.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-018.htm
new file mode 100644
index 00000000000..fd93f6340af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-018.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(5.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-019.htm
new file mode 100644
index 00000000000..77bf0de4e9d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-019.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.0785398163e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-020.htm
new file mode 100644
index 00000000000..acfff17836d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-020.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.0125e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-021.htm
new file mode 100644
index 00000000000..d3875032ab2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-021.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-022.htm
new file mode 100644
index 00000000000..971c77589b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-022.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-023.htm
new file mode 100644
index 00000000000..6895d41148d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-023.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-024.htm
new file mode 100644
index 00000000000..5bcc67ea070
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-024.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(7.85398163e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-025.htm
new file mode 100644
index 00000000000..a72e37d58eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-skewy-025.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help">
+ <link href="reference/svg-skewy-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-001.htm
new file mode 100644
index 00000000000..d7765e416e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(40 40)">
+ <rect width="80" fill="green" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-002.htm
new file mode 100644
index 00000000000..5396a660d94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(40px)">
+ <rect y="40" width="80" fill="green" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-003.htm
new file mode 100644
index 00000000000..59be092478e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateY(40)">
+ <rect width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-004.htm
new file mode 100644
index 00000000000..5c560c447d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scale(2)">
+ <rect y="20" width="40" fill="green" x="20" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-005.htm
new file mode 100644
index 00000000000..73ee513e9ac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect y="40" width="40" fill="green" x="20" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-006.htm
new file mode 100644
index 00000000000..f5a1af1744d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-006.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect y="20" width="80" fill="green" x="40" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-007.htm
new file mode 100644
index 00000000000..c9550d4a4ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-007.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90)">
+ <rect y="-120" width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-008.htm
new file mode 100644
index 00000000000..8f7e2ebab5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-008.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(45)">
+ <rect width="100" fill="green" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-009.htm
new file mode 100644
index 00000000000..b0516655333
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-009.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 1,100 99,198 99,100 Z" fill="red"></path>
+ <g transform="skewY(45)">
+ <rect width="100" fill="green" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-010.htm
new file mode 100644
index 00000000000..4e9fa4d23f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-010.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-2 0 0 -2 120 120)">
+ <rect width="40" fill="green" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-011.htm
new file mode 100644
index 00000000000..409ff727761
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-group-011.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with three arguments on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90deg,20px,20px)">
+ <rect y="-80" width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-001.htm
new file mode 100644
index 00000000000..4070610f550
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-001.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: No separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200)translateY(100)rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-002.htm
new file mode 100644
index 00000000000..e3f6e3fc8e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-002.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Comma + no whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),translateY(100),rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-003.htm
new file mode 100644
index 00000000000..2ee6c71b066
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-003.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Comma + whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200), translateY(100), rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-004.htm
new file mode 100644
index 00000000000..e529ae2d490
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-004.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) translateY(100) rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-005.htm
new file mode 100644
index 00000000000..c84b7b00713
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-005.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Comma, whitespace, and no separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),translateY(100) rotate(45)rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-006.htm
new file mode 100644
index 00000000000..9f727b39f4f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-006.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Multiple spaces between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) translateY(100) rotate(45) rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-007.htm
new file mode 100644
index 00000000000..ea154bd04e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-007.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Multiple spaces before and after transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform=" translateX(200),translateY(100) rotate(45)rotate(45) " height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-008.htm
new file mode 100644
index 00000000000..185b8462d2e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-008.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) ,translateY(100) ,rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-009.htm
new file mode 100644
index 00000000000..925df2af7b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-009.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) , translateY(100) , rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-010.htm
new file mode 100644
index 00000000000..20ebd17ada6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-010.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Transform functions separated by newlines on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200)
+ translateY(100)
+ rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-011.htm
new file mode 100644
index 00000000000..7c0c5f7d1eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-list-separations-011.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: Transform functions separated by commas and newlines on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <link href="reference/svg-transform-list-separations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg>
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),
+ translateY(100),
+ rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-001.htm
new file mode 100644
index 00000000000..5cb32e31ecb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate on group, translate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(20 20)">
+ <rect width="80" fill="green" transform="translate(20 20)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-002.htm
new file mode 100644
index 00000000000..81be7f6d4e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, translateX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(20px)">
+ <rect y="40" width="80" fill="green" transform="translateX(20px)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-003.htm
new file mode 100644
index 00000000000..a2ee7c7469a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, translateY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateY(20)">
+ <rect width="80" height="80" fill="green" transform="translateY(20)" x="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-004.htm
new file mode 100644
index 00000000000..d19a74f98a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, scale on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scale(2)">
+ <rect width="20" y="10" x="10" fill="green" transform="scale(2)" height="20"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-005.htm
new file mode 100644
index 00000000000..55ef462a903
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="20" y="40" x="10" fill="green" transform="scaleX(2)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-006.htm
new file mode 100644
index 00000000000..71c53d03c1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-006.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, scaleY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect width="80" y="10" x="40" fill="green" transform="scaleY(2)" height="20"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-007.htm
new file mode 100644
index 00000000000..69be88a9b58
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-007.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, rotate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(45)">
+ <rect width="80" y="-120" x="40" fill="green" transform="rotate(45)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-008.htm
new file mode 100644
index 00000000000..6979d450d06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-008.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewX on group, skewX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 99,1 196,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(27)">
+ <rect width="100" fill="green" transform="skewX(26)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-009.htm
new file mode 100644
index 00000000000..55efc18054a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-009.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewY on group, skewY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 1,99 99,197 99,100 Z" fill="red"></path>
+ <g transform="skewY(27)">
+ <rect width="100" fill="green" transform="skewY(26)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-010.htm
new file mode 100644
index 00000000000..456648dc1bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-010.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, matrix on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-0.25 0 0 -0.25 50 50)">
+ <rect width="160" fill="green" transform="matrix(2 0 0 2 -280 -280)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-011.htm
new file mode 100644
index 00000000000..2285c9df0b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-011.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translate on group, scale on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(40 40)">
+ <rect width="40" fill="green" transform="scale(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-012.htm
new file mode 100644
index 00000000000..dfa724ea010
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-012.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, scaleY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(40px)">
+ <rect y="20" width="80" fill="green" transform="scaleY(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-013.htm
new file mode 100644
index 00000000000..23cd48dd702
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-013.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, skewX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,26 100,26 198,124 100,124 Z" fill="red"></path>
+ <g transform="translateY(25)">
+ <rect width="100" fill="green" transform="skewX(45)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-014.htm
new file mode 100644
index 00000000000..0a3cfb061d7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-014.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, skewY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 1,2 1,100 99,198 99,100 Z" fill="red"></path>
+ <g transform="scale(0.5)">
+ <rect width="200" fill="green" transform="skewY(45)" height="200"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-015.htm
new file mode 100644
index 00000000000..ea312951c14
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-015.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, rotate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="80" y="-60" x="40" fill="green" transform="rotate(90)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-016.htm
new file mode 100644
index 00000000000..e0c0e029584
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-016.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, translateX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect y="20" width="80" fill="green" transform="translateX(40)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-017.htm
new file mode 100644
index 00000000000..29f055301b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-017.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, translateY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90)">
+ <rect width="80" y="-160" x="40" fill="green" transform="translateY(40)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-018.htm
new file mode 100644
index 00000000000..9b70ab637b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-018.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewX on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 2,1 100,1 198,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(45)">
+ <rect width="200" fill="green" transform="scaleX(0.5)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-019.htm
new file mode 100644
index 00000000000..24b7042d0ce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-019.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewY on group, translate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-250x250-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <path d="M 21,42 21,140 119,238 119,140 Z" fill="red"></path>
+ <g transform="skewY(45)">
+ <rect width="100" fill="green" transform="translate(20 20)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-020.htm
new file mode 100644
index 00000000000..cccc0831f81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-020.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-1 0 0 -2 120 120)">
+ <rect width="40" fill="green" transform="scaleX(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-021.htm
new file mode 100644
index 00000000000..3f9f1f824dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-021.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translate on group, scaleY on child1, rotate on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translate(20 20)">
+ <rect width="78" y="42" x="21" fill="red" transform="scaleY(0.5)" height="156"></rect> <!-- false positive if scaleY is negative; need to fix -->
+ <rect width="80" y="-100" x="20" fill="green" transform="rotate(90)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-022.htm
new file mode 100644
index 00000000000..c8e7a2b8bdf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-022.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translateX(20)">
+ <rect width="156" y="41" x="42" fill="red" transform="scaleX(0.5)" height="78"></rect> <!-- false positive if scaleX is negative -->
+ <rect width="40" fill="green" transform="matrix(-2 0 0 -2 100 120)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-023.htm
new file mode 100644
index 00000000000..a38fbe2aedb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-023.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, translate on child1, scale on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translateY(25px)">
+ <rect width="78" y="1" x="1" fill="red" transform="translate(40px 15px)" height="78"></rect>
+ <rect width="160" y="30" x="80" fill="green" transform="scale(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-024.htm
new file mode 100644
index 00000000000..8dc623fa041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-024.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, translateX on child1, scaleX on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scale(0.5)">
+ <rect width="156" y="82" x="62" fill="red" transform="translateX(20)" height="156"></rect>
+ <rect width="320" y="80" x="160" fill="green" transform="scaleX(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-025.htm
new file mode 100644
index 00000000000..58d61e197f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-025.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, translateY on child1, scale on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scaleX(0.5)">
+ <rect width="156" y="21" x="82" fill="red" transform="translateY(20)" height="78"></rect>
+ <rect width="320" y="80" x="160" fill="green" transform="scale(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-026.htm
new file mode 100644
index 00000000000..4a6c1682181
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-026.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, translate on child1, rotate on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scaleY(0.5)"> <!-- false positive if scaleY is negative; need to fix -->
+ <rect width="78" y="42" x="21" fill="red" transform="translate(20 40)" height="156"></rect>
+ <rect width="160" y="-120" x="80" fill="green" transform="rotate(90)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-027.htm
new file mode 100644
index 00000000000..9c2c7643449
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-027.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="rotate(90)">
+ <rect width="80" y="-120" x="20" fill="green" transform="translateX(20)" height="80"></rect>
+ <rect width="80" y="-240" x="40" fill="green" transform="scaleY(0.5)" height="160"></rect> <!-- false positive if scaleY is negative; need to fix -->
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-028.htm
new file mode 100644
index 00000000000..0c87611f3ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-028.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically." name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="matrix(-0.5 0 0 -0.5 120 90)">
+ <rect width="156" y="-116" x="2" fill="red" transform="scaleY(0.5)" height="312"></rect> <!-- false positive if scaleY is between 0.4 and -0.3 -->
+ <rect width="160" fill="green" transform="translateY(-60)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-029.htm
new file mode 100644
index 00000000000..53017b440d0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-transform-nested-029.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, rotate with three arguments on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help">
+ <link href="reference/svg-green-square-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated." name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="80" y="-20" x="40" fill="green" transform="rotate(90deg,20px,20px)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-001.htm
new file mode 100644
index 00000000000..4d6cc170fd6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-001.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value arguments without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50 50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-002.htm
new file mode 100644
index 00000000000..9a2cc861446
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-003.htm
new file mode 100644
index 00000000000..3148c5b7505
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(37.5pt 37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-004.htm
new file mode 100644
index 00000000000..d3942209f34
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(3.125pc 3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-005.htm
new file mode 100644
index 00000000000..df1f96d2d12
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(13.229166667mm 13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-006.htm
new file mode 100644
index 00000000000..4fb4ca63664
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-006.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1.322916667cm 1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-007.htm
new file mode 100644
index 00000000000..cc457134d79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-007.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.520833333in 0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-008.htm
new file mode 100644
index 00000000000..22a08ed7150
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-008.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(2.5em 2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-009.htm
new file mode 100644
index 00000000000..9a3e144f18e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-009.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.0e1 5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-010.htm
new file mode 100644
index 00000000000..d2b201fedf6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-010.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.0e1px 5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-011.htm
new file mode 100644
index 00000000000..cbe02cc9cd1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-011.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(3.75e1pt 3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-012.htm
new file mode 100644
index 00000000000..4597bde00c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-012.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.3125e1pc 0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-013.htm
new file mode 100644
index 00000000000..eb98cde2c7a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-013.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1.3229166667e1mm 1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-014.htm
new file mode 100644
index 00000000000..23091386e98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-014.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.1322916667e1cm 0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-015.htm
new file mode 100644
index 00000000000..100c7ec4c0f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-015.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.0520833333e1in 0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-016.htm
new file mode 100644
index 00000000000..abfdd2b987e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-016.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.25e1em 0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-017.htm
new file mode 100644
index 00000000000..3482fe77283
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-017.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(500e-1 500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-018.htm
new file mode 100644
index 00000000000..d47eebe7695
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-018.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(500.0e-1px 500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-019.htm
new file mode 100644
index 00000000000..3fb59109d65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-019.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(375e-1pt 375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-020.htm
new file mode 100644
index 00000000000..d30ccbf9e0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-020.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(31.25e-1pc 31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-021.htm
new file mode 100644
index 00000000000..d70cb51b1d5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-021.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(132.29166667e-1mm 132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-022.htm
new file mode 100644
index 00000000000..b15348471ad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-022.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(13.22916667e-1cm 13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-023.htm
new file mode 100644
index 00000000000..6f6ed95fa46
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-023.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.20833333e-1in 5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-024.htm
new file mode 100644
index 00000000000..63f52e87d1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-024.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(25e-1em 25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-025.htm
new file mode 100644
index 00000000000..0f9897ebf7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-025.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with negative translation-value arguments without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-50 -50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-026.htm
new file mode 100644
index 00000000000..8d38b7bac0a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-026.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative pixel units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-50px -50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-027.htm
new file mode 100644
index 00000000000..d10f49423ce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-027.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative point units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-37.5pt -37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-028.htm
new file mode 100644
index 00000000000..efc2f1178aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-028.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative pica units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-3.125pc -3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-029.htm
new file mode 100644
index 00000000000..8bf6fd8fd53
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-029.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative millimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-13.229166667mm -13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-030.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-030.htm
new file mode 100644
index 00000000000..230b0999840
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-030.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative centimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-1.322916667cm -1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-031.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-031.htm
new file mode 100644
index 00000000000..d0aa7da2413
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-031.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative inch units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.520833333in -0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-032.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-032.htm
new file mode 100644
index 00000000000..47b6e3f8da2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-032.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative em units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-2.5em -2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-033.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-033.htm
new file mode 100644
index 00000000000..9f420bfab25
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-033.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.0e1 -5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-034.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-034.htm
new file mode 100644
index 00000000000..f8dbb6f0200
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-034.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.0e1px -5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-035.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-035.htm
new file mode 100644
index 00000000000..fece18e8908
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-035.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-3.75e1pt -3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-036.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-036.htm
new file mode 100644
index 00000000000..74c45c7f1f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-036.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.3125e1pc -0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-037.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-037.htm
new file mode 100644
index 00000000000..b92b75c9d4a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-037.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-1.3229166667e1mm -1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-038.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-038.htm
new file mode 100644
index 00000000000..95c6a0be2fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-038.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.1322916667e1cm -0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-039.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-039.htm
new file mode 100644
index 00000000000..55d18a0acb8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-039.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.0520833333e1in -0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-040.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-040.htm
new file mode 100644
index 00000000000..bf447de1aa0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-040.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.25e1em -0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-041.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-041.htm
new file mode 100644
index 00000000000..e07cce30235
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-041.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-500e-1 -500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-042.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-042.htm
new file mode 100644
index 00000000000..ac811f1efe2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-042.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-500.0e-1px -500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-043.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-043.htm
new file mode 100644
index 00000000000..e248c2253ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-043.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-375e-1pt -375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-044.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-044.htm
new file mode 100644
index 00000000000..4b8b2d0fbac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-044.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-31.25e-1pc -31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-045.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-045.htm
new file mode 100644
index 00000000000..1c2f2bc6956
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-045.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-132.29166667e-1mm -132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-046.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-046.htm
new file mode 100644
index 00000000000..4d1a1f1c380
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-046.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-13.22916667e-1cm -13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-047.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-047.htm
new file mode 100644
index 00000000000..643a98cd4fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-047.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.20833333e-1in -5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-048.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-048.htm
new file mode 100644
index 00000000000..7925ad99f6f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-048.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-25e-1em -25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-049.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-049.htm
new file mode 100644
index 00000000000..4040fcca993
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-049.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with one translation-value argument</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect y="50" width="100" fill="green" transform="translate(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-050.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-050.htm
new file mode 100644
index 00000000000..e06b62dc465
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-050.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with one negative translation-value argument</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="50" x="100" fill="green" transform="translate(-50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-051.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-051.htm
new file mode 100644
index 00000000000..d992fc8d705
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-051.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with no spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px,50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-052.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-052.htm
new file mode 100644
index 00000000000..b5f39e5d5cb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-052.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with a space in between</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px, 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-053.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-053.htm
new file mode 100644
index 00000000000..0e7e4b53729
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-053.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with arguments separated by multiple spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-054.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-054.htm
new file mode 100644
index 00000000000..b6b96c4dda1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-054.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px ,50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-055.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-055.htm
new file mode 100644
index 00000000000..7bb608d2f62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-055.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px , 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-001.htm
new file mode 100644
index 00000000000..5cf7cf26754
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-001.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translate-abs-unit-combinations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(100px 50)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-002.htm
new file mode 100644
index 00000000000..4cde221f28d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-002.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translate-abs-unit-combinations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(100 50px)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-003.htm
new file mode 100644
index 00000000000..27a6d3dc498
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-abs-unit-combinations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(2.645833333cm 13.229166667mm)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-004.htm
new file mode 100644
index 00000000000..bd01d412ca5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-abs-unit-combinations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(6.25pc 37.5pt)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-005.htm
new file mode 100644
index 00000000000..5a0c88c4519
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-abs-unit-combinations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" height="75" fill="green" transform="translate(-1.041666667in 50px)" x="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-006.htm
new file mode 100644
index 00000000000..2b358ff3705
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-abs-unit-combinations-006.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-abs-unit-combinations-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect y="100" width="75" fill="green" transform="translate(100px -1.322916667cm)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-001.htm
new file mode 100644
index 00000000000..1ffe000768d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-001.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41px" width="98" fill="red" x="41px" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1ex 1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-002.htm
new file mode 100644
index 00000000000..05ee7ec38f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-002.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.1e1ex 0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-003.htm
new file mode 100644
index 00000000000..3e490eb5b03
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-003.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(10e-1ex 10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-004.htm
new file mode 100644
index 00000000000..32d4fa0b012
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-004.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative ex units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-1ex -1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-005.htm
new file mode 100644
index 00000000000..4bcc9efcb16
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-005.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-0.1e1ex -0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-006.htm
new file mode 100644
index 00000000000..ebce4b784c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-ex-unit-006.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-10e-1ex -10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-001.htm
new file mode 100644
index 00000000000..b77348834d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-multiple-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="76" width="148" fill="red" x="51" height="148"></rect>
+ <rect width="150" fill="green" transform="translate(25px 25px) translate(25px 50px)" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-002.htm
new file mode 100644
index 00000000000..10d3e1e5b5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-multiple-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="76" width="148" fill="red" x="51" height="148"></rect>
+ <rect width="150" fill="green" transform="translate(150 150) translate(-100 -75)" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-001.htm
new file mode 100644
index 00000000000..7ea750b3aaf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-multiple-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="198" fill="red" x="51" height="98"></rect>
+ <rect width="200" fill="green" transform="translate(25px 25px) translate(12.5% 75%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-002.htm
new file mode 100644
index 00000000000..48239a7f489
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-multiple-relative-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-multiple-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="198" fill="red" x="51" height="98"></rect>
+ <rect width="200" fill="green" transform="translate(10% 25%) translate(15% 75%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-001.htm
new file mode 100644
index 00000000000..612e90aab47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with percentage units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-002.htm
new file mode 100644
index 00000000000..60d8d948d58
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative percentage units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" y="200" x="100" fill="green" transform="translate(-50% -50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-003.htm
new file mode 100644
index 00000000000..f3a95422722
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-004.htm
new file mode 100644
index 00000000000..320203c045d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 100px)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-005.htm
new file mode 100644
index 00000000000..82f2c27cafa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-005.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-006.htm
new file mode 100644
index 00000000000..63c75e3828d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-006.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-007.htm
new file mode 100644
index 00000000000..609d11c635c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-007.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="50%" fill="green" transform="translate(50% 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-008.htm
new file mode 100644
index 00000000000..12f5387f856
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translate-relative-008.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <link href="reference/svg-translate-relative-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg>
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50%)" height="50%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-001.htm
new file mode 100644
index 00000000000..fe3e759bce7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect width="100" fill="green" transform="translateX(50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-002.htm
new file mode 100644
index 00000000000..9279eebcc5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-003.htm
new file mode 100644
index 00000000000..5de225d3012
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-004.htm
new file mode 100644
index 00000000000..debf3e32c8e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-005.htm
new file mode 100644
index 00000000000..3805c7e07fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-006.htm
new file mode 100644
index 00000000000..449fa13f5c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-006.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-007.htm
new file mode 100644
index 00000000000..e872b28d489
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-007.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-008.htm
new file mode 100644
index 00000000000..c0cada743f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-008.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-009.htm
new file mode 100644
index 00000000000..9486f8b7708
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-009.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-010.htm
new file mode 100644
index 00000000000..bf6961737c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-010.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-011.htm
new file mode 100644
index 00000000000..78fb24ea70c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-011.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-012.htm
new file mode 100644
index 00000000000..1f5a9f8b267
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-012.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-013.htm
new file mode 100644
index 00000000000..8557e810049
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-013.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-014.htm
new file mode 100644
index 00000000000..f637d344b16
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-014.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-015.htm
new file mode 100644
index 00000000000..802cf8548e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-015.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-016.htm
new file mode 100644
index 00000000000..8f6d00e2c2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-016.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-017.htm
new file mode 100644
index 00000000000..e815f46873f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-017.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-018.htm
new file mode 100644
index 00000000000..d1caf3e757d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-018.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-019.htm
new file mode 100644
index 00000000000..0aa8b3b84f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-019.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-020.htm
new file mode 100644
index 00000000000..e7791394e39
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-020.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-021.htm
new file mode 100644
index 00000000000..d9865b16984
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-021.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-022.htm
new file mode 100644
index 00000000000..54be01b5212
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-022.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-023.htm
new file mode 100644
index 00000000000..c84875e42b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-023.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-024.htm
new file mode 100644
index 00000000000..7584fc9ee2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-024.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-025.htm
new file mode 100644
index 00000000000..2e70718f3b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-025.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-026.htm
new file mode 100644
index 00000000000..603c8a5cfa2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-026.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-027.htm
new file mode 100644
index 00000000000..e892facc702
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-027.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-37.5pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-028.htm
new file mode 100644
index 00000000000..d11999febd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-028.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-3.125pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-029.htm
new file mode 100644
index 00000000000..e4a929a3704
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-029.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-13.229166667mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-030.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-030.htm
new file mode 100644
index 00000000000..83ea05a42fc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-030.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1.322916667cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-031.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-031.htm
new file mode 100644
index 00000000000..f88d9246014
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-031.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.520833333in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-032.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-032.htm
new file mode 100644
index 00000000000..de4da235b7e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-032.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-2.5em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-033.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-033.htm
new file mode 100644
index 00000000000..1c9e2933d65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-033.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.0e1)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-034.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-034.htm
new file mode 100644
index 00000000000..92015899381
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-034.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.0e1px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-035.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-035.htm
new file mode 100644
index 00000000000..eb036194e6d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-035.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-3.75e1pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-036.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-036.htm
new file mode 100644
index 00000000000..0717fdef88d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-036.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.3125e1pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-037.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-037.htm
new file mode 100644
index 00000000000..7e8d61300b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-037.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1.3229166667e1mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-038.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-038.htm
new file mode 100644
index 00000000000..04062010434
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-038.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.1322916667e1cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-039.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-039.htm
new file mode 100644
index 00000000000..fa2589f0f87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-039.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.0520833333e1in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-040.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-040.htm
new file mode 100644
index 00000000000..fbc6dfef791
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-040.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.25e1em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-041.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-041.htm
new file mode 100644
index 00000000000..f3fc630db7d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-041.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-500e-1)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-042.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-042.htm
new file mode 100644
index 00000000000..328fe6ae35c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-042.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-500.0e-1px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-043.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-043.htm
new file mode 100644
index 00000000000..6d166bbdbe6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-043.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-375e-1pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-044.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-044.htm
new file mode 100644
index 00000000000..a031d79b328
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-044.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-31.25e-1pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-045.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-045.htm
new file mode 100644
index 00000000000..af1dced169f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-045.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-132.29166667e-1mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-046.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-046.htm
new file mode 100644
index 00000000000..52cd90013c1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-046.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-13.22916667e-1cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-047.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-047.htm
new file mode 100644
index 00000000000..c02d9e8b122
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-047.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.20833333e-1in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-048.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-048.htm
new file mode 100644
index 00000000000..356fe700361
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-048.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-25e-1em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-001.htm
new file mode 100644
index 00000000000..e12390fafc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25px) translateX(25px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-002.htm
new file mode 100644
index 00000000000..551bbb138a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25px) translateX(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-003.htm
new file mode 100644
index 00000000000..1215daa39c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25%) translateX(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-004.htm
new file mode 100644
index 00000000000..b3405e16711
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-combination-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(150) translateX(-100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-001.htm
new file mode 100644
index 00000000000..f434e9b4010
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-001.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-002.htm
new file mode 100644
index 00000000000..640747cdec2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-002.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-003.htm
new file mode 100644
index 00000000000..56769a92cab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-003.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-004.htm
new file mode 100644
index 00000000000..d0ebf65b3ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-004.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-005.htm
new file mode 100644
index 00000000000..312320a616a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-005.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.1e1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-006.htm
new file mode 100644
index 00000000000..81c0229d1d7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-ex-unit-006.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-10e-1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-001.htm
new file mode 100644
index 00000000000..2bbbf63ab2d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with percentage unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-002.htm
new file mode 100644
index 00000000000..8d8545e3b49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatex-relative-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative percentage unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <link href="reference/svg-translatex-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50%)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-001.htm
new file mode 100644
index 00000000000..fa62267359c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-001.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-002.htm
new file mode 100644
index 00000000000..2502113a3c6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-003.htm
new file mode 100644
index 00000000000..4c01a078ce8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-004.htm
new file mode 100644
index 00000000000..e42f43698d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-005.htm
new file mode 100644
index 00000000000..8dcb74ed462
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-006.htm
new file mode 100644
index 00000000000..fb5ca29251f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-006.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-007.htm
new file mode 100644
index 00000000000..4442f1450d5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-007.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-008.htm
new file mode 100644
index 00000000000..106fc1496c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-008.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-009.htm
new file mode 100644
index 00000000000..e7dacd7925e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-009.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-010.htm
new file mode 100644
index 00000000000..50801d1f640
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-010.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-011.htm
new file mode 100644
index 00000000000..252cc8d0b4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-011.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-012.htm
new file mode 100644
index 00000000000..60b1923b25f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-012.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-013.htm
new file mode 100644
index 00000000000..99028bc7423
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-013.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-014.htm
new file mode 100644
index 00000000000..f624b1cf4b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-014.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-015.htm
new file mode 100644
index 00000000000..3ed48dd2155
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-015.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-016.htm
new file mode 100644
index 00000000000..3634ba5a04a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-016.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-017.htm
new file mode 100644
index 00000000000..80da923076a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-017.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-018.htm
new file mode 100644
index 00000000000..99c69484e7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-018.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-019.htm
new file mode 100644
index 00000000000..313651612ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-019.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-020.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-020.htm
new file mode 100644
index 00000000000..d81ac98f6b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-020.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-021.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-021.htm
new file mode 100644
index 00000000000..37b7d0e7527
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-021.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-022.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-022.htm
new file mode 100644
index 00000000000..f3070470e54
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-022.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-023.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-023.htm
new file mode 100644
index 00000000000..254278dd098
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-023.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-024.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-024.htm
new file mode 100644
index 00000000000..ecd9c6dfba5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-024.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-025.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-025.htm
new file mode 100644
index 00000000000..5f02dc3dbe0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-025.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-026.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-026.htm
new file mode 100644
index 00000000000..22e14f2dd58
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-026.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pixel unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-027.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-027.htm
new file mode 100644
index 00000000000..975512cefd4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-027.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative point unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-028.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-028.htm
new file mode 100644
index 00000000000..91546ae863c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-028.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pica unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-029.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-029.htm
new file mode 100644
index 00000000000..1bd94e631a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-029.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative millimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-030.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-030.htm
new file mode 100644
index 00000000000..f0784ce0964
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-030.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative centimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-031.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-031.htm
new file mode 100644
index 00000000000..5c23dfc9f3e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-031.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative inch unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-032.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-032.htm
new file mode 100644
index 00000000000..5038dd40672
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-032.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative em unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-033.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-033.htm
new file mode 100644
index 00000000000..55ae6f912f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-033.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-034.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-034.htm
new file mode 100644
index 00000000000..4299eb2ee35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-034.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-035.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-035.htm
new file mode 100644
index 00000000000..aa8b601834a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-035.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-036.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-036.htm
new file mode 100644
index 00000000000..8227372a1a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-036.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-037.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-037.htm
new file mode 100644
index 00000000000..5d5a66b3a5c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-037.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-038.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-038.htm
new file mode 100644
index 00000000000..f381ce305e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-038.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-039.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-039.htm
new file mode 100644
index 00000000000..ae81f8c6e2d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-039.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-040.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-040.htm
new file mode 100644
index 00000000000..d71c867ffa9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-040.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-041.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-041.htm
new file mode 100644
index 00000000000..d5d9ada1cd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-041.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-042.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-042.htm
new file mode 100644
index 00000000000..8624db2895f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-042.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-043.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-043.htm
new file mode 100644
index 00000000000..de0f2add7e3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-043.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-044.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-044.htm
new file mode 100644
index 00000000000..63ce20353f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-044.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-045.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-045.htm
new file mode 100644
index 00000000000..6230625fa96
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-045.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-046.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-046.htm
new file mode 100644
index 00000000000..eea2df9554c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-046.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-047.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-047.htm
new file mode 100644
index 00000000000..f1f930b6508
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-047.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-048.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-048.htm
new file mode 100644
index 00000000000..022deb46bf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-048.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-001.htm
new file mode 100644
index 00000000000..d6f7c8ce1e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25px) translateY(25px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-002.htm
new file mode 100644
index 00000000000..9178e19d9e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25px) translateY(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-003.htm
new file mode 100644
index 00000000000..2f442fd6d89
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25%) translateY(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-004.htm
new file mode 100644
index 00000000000..8bd1590c494
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-combination-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(150) translateY(-100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-001.htm
new file mode 100644
index 00000000000..118c4381a88
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-001.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-002.htm
new file mode 100644
index 00000000000..978ca3365ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-002.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-003.htm
new file mode 100644
index 00000000000..206ed21e99a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-003.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-004.htm
new file mode 100644
index 00000000000..fa1aeb97615
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-004.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative ex unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-005.htm
new file mode 100644
index 00000000000..4a6eeebf28e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-005.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-006.htm
new file mode 100644
index 00000000000..4dae12e5f95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-ex-unit-006.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ex-unit-ref.htm" rel="match">
+ <meta content="svg ahem" name="flags">
+ <meta content="The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-001.htm
new file mode 100644
index 00000000000..83c9010ae9f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with percentage unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-002.htm
new file mode 100644
index 00000000000..20ec05c1068
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/svg-translatey-relative-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative percentage unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <link href="reference/svg-translatey-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert">
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg>
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/toc.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/toc.htm
new file mode 100644
index 00000000000..4b82b4e259c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/toc.htm
@@ -0,0 +1,129 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+<body>
+ <h1>CSS Transforms Module Level 1 CR Test Suite By Chapter</h1>
+
+ <p>This index contains both
+ <a href="http://wiki.csswg.org/test/selftest">self-describing tests</a>
+ and reftests.
+ A separate <a href="reftest-toc.htm">alphabetical reftest index</a>
+ is provided for tests in <a href="http://wiki.csswg.org/test/reftest">reftest
+ format</a> along with the <a href="reftest.list">reftest manifest</a>.</p>
+
+ <table>
+ <tbody id="s1">
+ <tr><th><a href="chapter-1.htm">Chapter 1 -
+ Introduction</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s2">
+ <tr><th><a href="chapter-2.htm">Chapter 2 -
+ Module Interactions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s3">
+ <tr><th><a href="chapter-3.htm">Chapter 3 -
+ CSS Values</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s4">
+ <tr><th><a href="chapter-4.htm">Chapter 4 -
+ Terminology</a></th>
+ <td>(5 Tests)</td></tr>
+ </tbody>
+ <tbody id="s5">
+ <tr><th><a href="chapter-5.htm">Chapter 5 -
+ Two Dimensional Subset</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s6">
+ <tr><th><a href="chapter-6.htm">Chapter 6 -
+ The Transform Rendering Model</a></th>
+ <td>(48 Tests)</td></tr>
+ </tbody>
+ <tbody id="s7">
+ <tr><th><a href="chapter-7.htm">Chapter 7 -
+ The transform Property</a></th>
+ <td>(102 Tests)</td></tr>
+ </tbody>
+ <tbody id="s8">
+ <tr><th><a href="chapter-8.htm">Chapter 8 -
+ The transform-origin Property</a></th>
+ <td>(117 Tests)</td></tr>
+ </tbody>
+ <tbody id="s9">
+ <tr><th><a href="chapter-9.htm">Chapter 9 -
+ The transform-style Property</a></th>
+ <td>(26 Tests)</td></tr>
+ </tbody>
+ <tbody id="s10">
+ <tr><th><a href="chapter-10.htm">Chapter 10 -
+ The perspective Property</a></th>
+ <td>(17 Tests)</td></tr>
+ </tbody>
+ <tbody id="s11">
+ <tr><th><a href="chapter-11.htm">Chapter 11 -
+ The perspective-origin Property</a></th>
+ <td>(11 Tests)</td></tr>
+ </tbody>
+ <tbody id="s12">
+ <tr><th><a href="chapter-12.htm">Chapter 12 -
+ The backface-visibility Property</a></th>
+ <td>(8 Tests)</td></tr>
+ </tbody>
+ <tbody id="s13">
+ <tr><th><a href="chapter-13.htm">Chapter 13 -
+ The SVG transform Attribute</a></th>
+ <td>(703 Tests)</td></tr>
+ </tbody>
+ <tbody id="s14">
+ <tr><th><a href="chapter-14.htm">Chapter 14 -
+ SVG Animation</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s15">
+ <tr><th><a href="chapter-15.htm">Chapter 15 -
+ The Transform Functions</a></th>
+ <td>(691 Tests)</td></tr>
+ </tbody>
+ <tbody id="s16">
+ <tr><th><a href="chapter-16.htm">Chapter 16 -
+ The Transform Function Lists</a></th>
+ <td>(13 Tests)</td></tr>
+ </tbody>
+ <tbody id="s17">
+ <tr><th><a href="chapter-17.htm">Chapter 17 -
+ Interpolation of Transforms</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s18">
+ <tr><th><a href="chapter-18.htm">Chapter 18 -
+ Transform function primitives and derivatives</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s19">
+ <tr><th><a href="chapter-19.htm">Chapter 19 -
+ Interpolation of primitives and derived transform functions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s20">
+ <tr><th><a href="chapter-20.htm">Chapter 20 -
+ Interpolation of Matrices</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s21">
+ <tr><th><a href="chapter-21.htm">Chapter 21 -
+ Mathematical Description of Transform Functions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ </table>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-2d-getComputedStyle-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-2d-getComputedStyle-001.htm
new file mode 100644
index 00000000000..a3df4b449d2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-2d-getComputedStyle-001.htm
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="mailto:youremail@address.com" rel="author" title="Your Name">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="CSS 2D transforms correctly report their matrix via getComputedStyle()" name="assert">
+ <style type="text/css">
+ .block {
+ display: block;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ #translate {
+ transform: translate(10px, 20px);
+ }
+ #translateX {
+ transform: translateX(10px);
+ }
+ #translateY {
+ transform: translateY(20px);
+ }
+ #rotate {
+ transform: rotate(90deg);
+ }
+ #scale {
+ transform: scale(2.0);
+ }
+ #scaleX {
+ transform: scaleX(0.5);
+ }
+ #scaleY {
+ transform: scaleY(1.5);
+ }
+ #skewX {
+ transform: skewX(45deg);
+ }
+ #skewY {
+ transform: skewY(45deg);
+ }
+ #matrix {
+ transform: matrix(1, 2, 3, 4, 5, 6);
+ }
+ </style>
+ <script id="metadata_cache">/*
+ {
+ "Matrix for translation transforms": {},
+ "Matrix for rotate": {},
+ "Matrix for scaling": {},
+ "Matrix for skew": {},
+ "Matrix for general transform": {}
+ }
+ */</script>
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="log"></div>
+
+ <div class="block" id="translate"></div>
+ <div class="block" id="translateX"></div>
+ <div class="block" id="translateY"></div>
+ <div class="block" id="rotate"></div>
+ <div class="block" id="scale"></div>
+ <div class="block" id="scaleX"></div>
+ <div class="block" id="scaleY"></div>
+ <div class="block" id="skewX"></div>
+ <div class="block" id="skewY"></div>
+ <div class="block" id="matrix"></div>
+ <script type="text/javascript">
+ function getTransformFor(id) {
+ return window.getComputedStyle(document.getElementById(id)).getPropertyValue("transform");
+ }
+ function clear(id) {
+ document.getElementById(id).style.display = 'none';
+ }
+
+ test(function() {
+ assert_equals(getTransformFor("translate"), "matrix(1, 0, 0, 1, 10, 20)", "Incorrect matrix for translate()");
+ clear("translate");
+ assert_equals(getTransformFor("translateX"), "matrix(1, 0, 0, 1, 10, 0)", "Incorrect matrix for translateX()");
+ clear("translateX");
+ assert_equals(getTransformFor("translateY"), "matrix(1, 0, 0, 1, 0, 20)", "Incorrect matrix for translateY()");
+ clear("translateY");
+ }, "Matrix for translation transforms");
+
+ test(function() {
+ assert_equals(getTransformFor("rotate"), "matrix(0, 1, -1, 0, 0, 0)", "Incorrect matrix for rotate()");
+ clear("rotate");
+ }, "Matrix for rotate");
+
+ test(function() {
+ assert_equals(getTransformFor("scale"), "matrix(2, 0, 0, 2, 0, 0)", "Incorrect matrix for scale()");
+ clear("scale");
+ assert_equals(getTransformFor("scaleX"), "matrix(0.5, 0, 0, 1, 0, 0)", "Incorrect matrix for scaleX()");
+ clear("scaleX");
+ assert_equals(getTransformFor("scaleY"), "matrix(1, 0, 0, 1.5, 0, 0)", "Incorrect matrix for scaleY()");
+ clear("scaleY");
+ }, "Matrix for scaling");
+
+ test(function() {
+ assert_equals(getTransformFor("skewX"), "matrix(1, 0, 1, 1, 0, 0)", "Incorrect matrix for skewX()");
+ clear("skewX");
+ assert_equals(getTransformFor("skewY"), "matrix(1, 1, 0, 1, 0, 0)", "Incorrect matrix for skewY()");
+ clear("skewY");
+ }, "Matrix for skew");
+
+ test(function() {
+ assert_equals(getTransformFor("matrix"), "matrix(1, 2, 3, 4, 5, 6)", "Incorrect matrix for matrix()");
+ clear("matrix");
+ }, "Matrix for general transform");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-above-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-above-001.htm
new file mode 100644
index 00000000000..074089415a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-above-001.htm
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/">
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering">
+ <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.htm">
+ <meta name="flags" content="">
+ <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid.">
+ <style type="text/css">
+div {
+ height: 150px;
+ width: 150px;
+}
+.background {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+.container {
+ position: absolute;
+ top: 20px;
+ left: 0;
+ perspective: 500px;
+}
+.transformed {
+ background-color: red;
+ transform: rotateY(50deg);
+}
+.stair {
+ background-color: green;
+ position: absolute;
+}
+#one {
+ width: 33px;
+ height: 170px;
+ top: 10px;
+ left: 20px;
+}
+#two {
+ width: 33px;
+ height: 158px;
+ top: 16px;
+ left: 53px;
+}
+#three {
+ width: 33px;
+ height: 147px;
+ top: 21px;
+ left: 86px;
+}
+.stairs {
+ height: 180px;
+}
+ </style>
+ </head>
+ <body>
+<div class="background">
+<div class="container">
+ <div class="transformed"></div>
+</div>
+<div class="stairs">
+ <div id="one" class="stair"></div>
+ <div id="two" class="stair"></div>
+ <div id="three" class="stair"></div>
+</div>
+</div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-below-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-below-001.htm
new file mode 100644
index 00000000000..9bc68a1a3ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-3d-rotateY-stair-below-001.htm
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/">
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering">
+ <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.htm">
+ <meta name="flags" content="">
+ <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid.">
+ <style type="text/css">
+div {
+ height: 150px;
+ width: 150px;
+}
+.background {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+.container {
+ position: absolute;
+ top: 20px;
+ left: 0;
+ perspective: 500px;
+}
+.transformed {
+ background-color: green;
+ transform: rotateY(50deg);
+}
+.stair {
+ background-color: red;
+ position: absolute;
+}
+#one {
+ width: 32px;
+ height: 158px;
+ top: 16px;
+ left: 21px;
+}
+#two {
+ width: 33px;
+ height: 146px;
+ top: 22px;
+ left: 53px;
+}
+#three {
+ width: 33px;
+ height: 134px;
+ top: 28px;
+ left: 85px;
+}
+.stairs {
+ height: 180px;
+}
+ </style>
+ </head>
+ <body>
+<div class="background">
+<div class="stairs">
+ <div id="one" class="stair"></div>
+ <div id="two" class="stair"></div>
+ <div id="three" class="stair"></div>
+</div>
+<div class="container">
+ <div class="transformed"></div>
+</div>
+</div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-001.htm
new file mode 100644
index 00000000000..c0bf81c6c23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-001.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (left/top)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position." name="assert">
+ <link href="reference/transform-abspos-ref.htm" rel="match">
+ <style>
+ body > div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-002.htm
new file mode 100644
index 00000000000..df130c5d0a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-002.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (left/top offsets)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport." name="assert">
+ <link href="reference/transform-abspos-ref.htm" rel="match">
+ <style>
+ body > div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-003.htm
new file mode 100644
index 00000000000..0c777adf10e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-003.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (right/bottom offsets)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport. (This test
+ differs from the previous in that it uses right/bottom properties for
+ positioning instead of left/top.)" name="assert">
+ <link href="reference/transform-abspos-ref.htm" rel="match">
+ <style>
+ body > div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ right: -150px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-004.htm
new file mode 100644
index 00000000000..d9a233c8f2a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-004.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (bottom/right)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer author" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. This test differs from transform-abspos-001.html in that it uses the
+ right/bottom properties for positioning instead of top/left." name="assert">
+ <link href="reference/transform-abspos-ref.htm" rel="match">
+ <style>
+ body > div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ right: -150px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-005.htm
new file mode 100644
index 00000000000..3ea572d6619
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-005.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (bottom/right)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. Therefore, this test should be offset by one pixel from the
+ reference." name="assert">
+ <link href="reference/transform-abspos-ref.htm" rel="mismatch">
+ <style>
+ body > div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ right: -160px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-006.htm
new file mode 100644
index 00000000000..b0eaccf6158
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-006.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (table)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. This test differs from transform-abspos-001.html in that the outer div is a
+ table, which might cause buggy rendering engines to treat it differently." name="assert">
+ <link href="reference/transform-abspos-ref.htm" rel="match">
+ <style>
+ body > div {
+ display: table;
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-007.htm
new file mode 100644
index 00000000000..8c34606e165
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-abspos-007.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (inline-table)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport. This test
+ differs from transform-abspos-002.html in that the outer div has display:
+ inline-table, which might cause it to render differently in buggy UAs." name="assert">
+ <link href="reference/transform-abspos-ref.htm" rel="match">
+ <style>
+ body > div {
+ display: inline-table;
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body > div > div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-001.htm
new file mode 100644
index 00000000000..77e31fb748d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-001.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Test: transform applied to elements with 'display' set to 'block'</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/">
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property">
+ <link rel="match" href="reference/transform-applies-to-001-ref.htm">
+ <meta name="flags" content="">
+ <meta name="assert" content="The 'transform' property applies to elements with 'display' set to 'block'.">
+ <style type="text/css">
+ div {
+ position: relative;
+ }
+ div p {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ }
+ #red {
+ width: 50px;
+ height: 100px;
+ background-color: green;
+ border-right: red solid 50px;
+ }
+ #test {
+ width: 100px;
+ height: 50px;
+ background-color: transparent;
+ border-top: green solid 50px;
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should see a green box. There should be no red.</p>
+ <div>
+ <p id="red"></p>
+ <p id="test"></p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-002.htm
new file mode 100644
index 00000000000..74c386f6312
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-applies-to-002.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+ <head>
+ <title>CSS Test: Transform does not apply to non-replaced inline elements</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/">
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property">
+ <link rel="match" href="reference/transform-applies-to-002-ref.htm">
+ <meta name="flags" content="ahem">
+ <meta name="assert" content="The 'transform' property does not apply to non-replaced inline elements.">
+ <style type="text/css">
+ div {
+ position: relative;
+ color: green;
+ }
+ div p {
+ width: 10em;
+ font-family: Ahem;
+ position: absolute;
+ top: 0;
+ left: 0;
+ line-height: 2;
+ }
+ #red span {
+ color: red;
+ }
+ #test span {
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>
+ You should see two lines of 5 green boxes each. You should see no
+ red.
+ </p>
+ <div>
+ <p id="red">X X <span>X X X X X X</span> X X</p>
+ <p id="test">X X <span>X X X X X X</span> X X</p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-001.htm
new file mode 100644
index 00000000000..63ee187547e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (rotate right)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-1.htm" rel="match">
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ background: url(support/transform-triangle-left.svg);
+ transform: translate(50px, -50px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-002.htm
new file mode 100644
index 00000000000..52c0594cd8a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (rotate left)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-1.htm" rel="match">
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ background: url(support/transform-triangle-right.svg);
+ transform: translate(50px, -50px) rotate(270deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-003.htm
new file mode 100644
index 00000000000..fcbcea35c5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-003.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (flip)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-1.htm" rel="match">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ background: url(support/transform-triangle-down.svg);
+ transform: scale(-1);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-004.htm
new file mode 100644
index 00000000000..1c3c624a5d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-004.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (nested flip)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze"> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. This file tests
+ that a transform on the parent works correctly, not just on the element
+ itself." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-1.htm" rel="match">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ }
+ body > div {
+ transform: scale(-1);
+ }
+ body > div > div {
+ background: url(support/transform-triangle-down.svg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-005.htm
new file mode 100644
index 00000000000..40fdb16b502
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-005.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (non-propagated body)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. In this case the
+ scale is applied to the root element, and the background is on the body.
+ The white background on the root element prevents the body's background
+ from propagating to the canvas, so it's just a regular background." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-2.htm" rel="match">
+ <style>
+ html, body {
+ width: 100%;
+ height: 100%;
+ }
+ html {
+ background: white;
+ transform: scale(-1);
+ }
+ body {
+ background: url(support/transform-triangle-down.svg) bottom right;
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-006.htm
new file mode 100644
index 00000000000..68957e3fdb5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-006.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (propagated body)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. In this case the
+ transform is applied to the body element, but the root element's background
+ is transparent, so the background is actually on the root element instead
+ of the body. Therefore, the transform must not affect the background." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-2.htm" rel="match">
+ <link href="reference/transform-background-006-notref.htm" rel="mismatch">
+ <style>
+ body {
+ background: url(support/transform-triangle-up.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-007.htm
new file mode 100644
index 00000000000..85727cf6df1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-007.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (propagated body with root element transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="&quot;If the root element is transformed, the
+ transformation applies to the entire canvas, including any background
+ specified for the root element. Since the background painting area for the
+ root element is the entire canvas, which is infinite, the transformation
+ might cause parts of the background that were originally off-screen to
+ appear. For example, if the root element's background were repeating
+ dots, and a transformation of 'scale(0.5)' were specified on the
+ root element, the dots would shrink to half their size, but there will be
+ twice as many, so they still cover the whole viewport.&quot; In this case, the
+ background is specified on the body but propagates to the root element.
+ The transform is on the root element, so it needs to affect the background.
+ The rotation 90 degrees clockwise means that most of the screen will be
+ filled with triangles that were originally above the top of the viewport;
+ the original top row of triangles will now be on the left." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-2.htm" rel="match">
+ <style>
+ html {
+ overflow: hidden;
+ transform: rotate(90deg);
+ transform-origin: 50px 50px;
+ }
+ body {
+ background: url(support/transform-triangle-left.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-008.htm
new file mode 100644
index 00000000000..26622be904a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-background-008.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform of Background Image (root element background and transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="This is exactly the same as
+ transform-background-007.html, except that the background is specified directly on the
+ root element instead of being specified on the body and propagating to the
+ root." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-background-ref-2.htm" rel="match">
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ transform-origin: 50px 50px;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-compound-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-compound-001.htm
new file mode 100644
index 00000000000..d35064c1a19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-compound-001.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Compound Transforms</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:robert@ocallahan.org" rel="author" title="Robert O'Callahan">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="Tests that applying multiple transforms to an
+ element is the same as applying the transforms in the same order to nested
+ elements." name="assert">
+ <link href="reference/transform-compound-ref.htm" rel="match">
+ <link href="reference/transform-compound-notref-1.htm" rel="mismatch">
+ <link href="reference/transform-compound-notref-2.htm" rel="mismatch">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body > div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ body > div > div {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: translate(100px) scale(2) rotate(90deg) skewX(15deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-descendant-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-descendant-001.htm
new file mode 100644
index 00000000000..110e28469ae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-descendant-001.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform Affects Descendant</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This just tests that a transform on a
+ container div moves its contents, not just the div itself." name="assert">
+ <link href="reference/transform-descendant-ref.htm" rel="match">
+ <style>
+ body > div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+ span {
+ background: yellow;
+ }
+ body > div > div {
+ transform: translate(20px, 150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div><span>span 1</span></div>
+ </div>
+ <span>span 2</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-001.htm
new file mode 100644
index 00000000000..31acd1c36aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-001.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Inline-Block</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help">
+ <meta content="Inline-blocks are atomic inline-level
+ elements, so should transform the same as blocks." name="assert">
+ <link href="reference/transform-display-ref.htm" rel="match">
+ <link href="reference/transform-display-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: inline-block;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-002.htm
new file mode 100644
index 00000000000..2384b61ff36
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-002.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help">
+ <meta content="Inline-blocks are block-level elements, so
+ should transform the same as blocks." name="assert">
+ <link href="reference/transform-display-ref.htm" rel="match">
+ <link href="reference/transform-display-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-003.htm
new file mode 100644
index 00000000000..2ac375e42b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-003.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help">
+ <meta content="Inline-tables are atomic inline-level
+ elements, so should transform the same as blocks." name="assert">
+ <link href="reference/transform-display-ref.htm" rel="match">
+ <link href="reference/transform-display-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-004.htm
new file mode 100644
index 00000000000..197327aa04b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-display-004.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): List-Item</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help">
+ <meta content="List-items are block-level elements, so
+ should transform the same as blocks." name="assert">
+ <link href="reference/transform-display-ref.htm" rel="match">
+ <link href="reference/transform-display-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: list-item;
+ list-style-type: none;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-001.htm
new file mode 100644
index 00000000000..90e3d68035c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-001.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Fixed Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;Fixed backgrounds are affected by any
+ transform specified for the root element, and not by any other transforms.&quot;
+ Thus if we have a div that's 100px square aligned at the top left of
+ the page, giving it a fixed background and translating it 50px down and
+ right should be the same as giving it a non-fixed background that's
+ translated 50px down and right." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-fixed-bg-ref.htm" rel="match">
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-002.htm
new file mode 100644
index 00000000000..354a2e4371f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-002.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Fixed Background (with scrolling)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content='"Fixed backgrounds are affected by any
+ transform specified for the root element, and not by any other transforms."
+ Here we translate the div 150px down instead of 50px, and also scroll down
+ 100px. This should be the same as the previous test because the background
+ image is 100px square.' name="assert">
+ <meta content="svg dom" name="flags">
+ <link href="reference/transform-fixed-bg-ref.htm" rel="match">
+ <style>
+ body {
+ margin: 0;
+ height: 5000px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+ <script>scroll(0, 100)</script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-003.htm
new file mode 100644
index 00000000000..619c4891cd6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-003.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Fixed Background (with rotation)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This is the same as transform-fixed-bg-001,
+ except that we also test that a rotation on a non-root element doesn't
+ affect fixed backgrounds." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-fixed-bg-ref.htm" rel="match">
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 50px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-004.htm
new file mode 100644
index 00000000000..bccac4d2410
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-004.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Fixed Background (with rotation and scrolling)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This is the same as transform-fixed-bg-002,
+ except that we also test that a rotation on a non-root element doesn't
+ affect fixed backgrounds." name="assert">
+ <meta content="svg dom" name="flags">
+ <link href="reference/transform-fixed-bg-ref.htm" rel="match">
+ <style>
+ body {
+ margin: 0;
+ height: 5000px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 150px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+ <script>scroll(0, 100)</script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-005.htm
new file mode 100644
index 00000000000..3f1e0418bb6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-005.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Fixed Background (no-op transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This affects that adding a no-op transform to
+ an element with a fixed background doesn't affect rendering." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-fixed-bg-ref.htm" rel="match">
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ transform: translate(0);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-006.htm
new file mode 100644
index 00000000000..1e1713eefe0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-006.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Fixed Background (transform of intermediate)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This tests that adding a rotation to a
+ non-root element doesn't affect rendering of fixed backgrounds on its
+ descendants." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-fixed-bg-ref.htm" rel="match">
+ <style>
+ body {
+ margin: 0;
+ transform: rotate(90deg);
+ transform-origin: 100px 100px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-007.htm
new file mode 100644
index 00000000000..5ba5ac1ed11
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-fixed-bg-007.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Fixed Background (transform on root)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This tests that a transform on the root
+ element *does* affect the rendering of fixed backgrounds on its
+ descendants." name="assert">
+ <meta content="svg" name="flags">
+ <link href="reference/transform-fixed-bg-ref.htm" rel="match">
+ <style>
+ html {
+ transform: rotate(-90deg);
+ transform-origin: 100px 100px;
+ overflow: hidden;
+ }
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-up.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-001.htm
new file mode 100644
index 00000000000..ed578adc785
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Generated Content (block)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="Transforms need to work on boxes of generated
+ content just as on any other boxes. This file tests a generated block
+ box." name="assert">
+ <link href="reference/transform-generated-001-ref.htm" rel="match">
+ <link href="reference/transform-generated-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ float: left;
+ }
+ div::before {
+ transform: rotate(180deg);
+ float: left;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-002.htm
new file mode 100644
index 00000000000..1e25fdeec91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-generated-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Generated Content (inline)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="Transforms need to work on boxes of generated
+ content just as on any other boxes. This file tests a generated inline
+ box." name="assert">
+ <link href="reference/transform-generated-002-ref.htm" rel="match">
+ <link href="reference/transform-generated-002-notref.htm" rel="mismatch">
+ <style>
+ span::before {
+ transform: rotate(180deg);
+ transform-origin: left;
+ display: block;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-iframe-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-iframe-001.htm
new file mode 100644
index 00000000000..4d8de200a99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-iframe-001.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Iframe</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This test ensures that transforms cannot move
+ the contents of an iframe onto the parent page. The iframe here contains a
+ red box shifted 500px down and to the right, outside the iframe's
+ visible area. overflow: hidden ensures that scrollbars are not tested." name="assert">
+ <link href="reference/transform-iframe-ref.htm" rel="match">
+ <style>
+ iframe {
+ overflow: hidden;
+ height: 200px;
+ width: 300px;
+ }
+ </style>
+ </head><body><iframe src="support/transform-iframe-001-contents.html"></iframe>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-image-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-image-001.htm
new file mode 100644
index 00000000000..1ede0f91f06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-image-001.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformed &lt;img&gt;</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help">
+ <meta content="An <img> is a transformable element, so
+ transforms should work on it the same as any image. This test compares an
+ img element with a 90deg rotation transform applied to a different image
+ that was pre-rotated by 90 degrees." name="assert">
+ <link href="reference/transform-image-ref.htm" rel="match">
+ <style>
+ img {
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <img src="support/transform-triangle-up.svg">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-001.htm
new file mode 100644
index 00000000000..9faf13e1ba8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-001.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): 'inherit' and em</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The 'transform' property's
+ computed value (which is what's inherited if 'inherit' is
+ specified) is defined as &quot;As specified, but with relative lengths converted
+ into absolute lengths.&quot; In this test, a parent element has a transform of
+ 1em with a font-size of 25px, and the child has &quot;transform: inherit&quot;.
+ Since the relative length of 1em is converted to an absolute length of 25px
+ before inheritance, the child should be translated by a further 25px, for a
+ total of 50px, even though its font-size is 100px. An implementation that
+ incorrectly inherited 1em without converting it to an absolute length first
+ would translate by 125px." name="assert">
+ <link href="reference/transform-inherit-ref.htm" rel="match">
+ <style>
+ body {
+ font-size: 25px;
+ transform: translate(1em, 1em);
+ overflow: hidden;
+ }
+ div {
+ font-size: 100px;
+ transform: inherit;
+ height: 100px;
+ width: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-002.htm
new file mode 100644
index 00000000000..51dc3431fa6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-002.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): 'inherit' and percentages</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The 'transform' property's
+ computed value (which is what's inherited if 'inherit' is
+ specified) is defined as &quot;As specified, but with relative lengths converted
+ into absolute lengths.&quot; In this test, a parent element has a transform of
+ 10% with a height/width of 400px, and the child has &quot;transform: inherit&quot;
+ and a height/width of 100px. Since percentages are not relative lengths
+ and are inherited as specified, the parent should be translated by 40px and
+ then the child by only 10px, for a total of 50px. An implementation that
+ incorrectly converted the parent's 10% transform into 40px before
+ inheritance would translate the child by a further 40px, for a total of
+ 80px." name="assert">
+ <link href="reference/transform-inherit-ref.htm" rel="match">
+ <style>
+ body {
+ height: 400px;
+ width: 400px;
+ transform: translate(10%, 10%);
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ transform: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-001.htm
new file mode 100644
index 00000000000..baf6faef935
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-001.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): "transform-origin: inherit" and em</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="The 'transform-origin'
+ property's computed value (which is what's inherited if
+ 'inherit' is specified) is defined as &quot;For <length> the
+ absolute value, otherwise a percentage.&quot; In this test, a parent element
+ has a transform-origin of '5em 10em' with a font-size of 10px, and
+ the child has &quot;transform-origin: inherit&quot;. Since the relative length of
+ 5em is converted to an absolute length before inheritance, the
+ transform-origin should be at the bottom of the child, 50px 100px. The
+ 180deg rotation should thus effectively move the child down 100px. An
+ implementation that incorrectly inherited the transform-origin value before
+ converting to an absolute length would treat it as 100px 200px, since the
+ child has a font-size of 20px, so it would effectively translate the child
+ 100px right and 300px down." name="assert">
+ <link href="reference/transform-inherit-origin-ref.htm" rel="match">
+ <style>
+ body {
+ font-size: 10px;
+ transform-origin: 5em 10em;
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ font-size: 20px;
+ transform: rotate(180deg);
+ transform-origin: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-002.htm
new file mode 100644
index 00000000000..36bd1b6bcef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inherit-origin-002.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): "transform-origin: inherit" and percentages</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="The 'transform-origin'
+ property's computed value (which is what's inherited if
+ 'inherit' is specified) is defined as &quot;For <length> the
+ absolute value, otherwise a percentage.&quot; In this test, a parent element
+ has a transform-origin of '50% 100%' with a height/width of 50px,
+ and the child has &quot;transform-origin: inherit&quot; with a height/width of 100px.
+ Since the transform-origin is a percentage, it's inherited before it
+ gets resolved to a length. This means it works out to 50px 100px on the
+ child, at its center, so the 180deg rotation should translate the child
+ down by 100px. An implementation that incorrectly resolved the
+ transform-origin to 25px 50px before inheritance would instead display the
+ child box translated left 75px." name="assert">
+ <link href="reference/transform-inherit-origin-ref.htm" rel="match">
+ <style>
+ body {
+ height: 50px;
+ width: 50px;
+ transform-origin: 50% 100%;
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ transform: rotate(180deg);
+ transform-origin: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inline-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inline-001.htm
new file mode 100644
index 00000000000..0082b989990
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-inline-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformed Inline</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The definition of &quot;transformable element&quot;
+ includes atomic inline-level elements, such as images, but not regular
+ inline-level elements, such as spans. The 'transform' property
+ only applies to transformable elements, so it should have no effect on a
+ span." name="assert">
+ <link href="reference/transform-inline-ref.htm" rel="match">
+ <link href="reference/transform-inline-notref.htm" rel="mismatch">
+ <style>
+ span, p + p {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>This is some <span>text<br>that is</span> not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-001.htm
new file mode 100644
index 00000000000..6b2b418c53f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-001.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=text)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-001-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=text</p>
+ <input value="abc">
+ <input value="abc">
+ <input value="abc">
+ <input value="abc">
+ <input value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-002.htm
new file mode 100644
index 00000000000..0bcb5f4e01c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-002.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=file)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-002-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=file</p>
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+ <input type="file" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-003.htm
new file mode 100644
index 00000000000..47da51247ed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-003.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=search)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-003-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=search</p>
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+ <input type="search" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-004.htm
new file mode 100644
index 00000000000..878fd60abef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-004.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=tel)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-004-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=tel</p>
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+ <input type="tel" value="555-5555">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-005.htm
new file mode 100644
index 00000000000..6aa932a0f9c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-005.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=url)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-005-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=url</p>
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+ <input type="url" value="http://www.w3.org/">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-006.htm
new file mode 100644
index 00000000000..018f88b69ed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-006.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=email)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-006-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=email</p>
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+ <input type="email" value="foo@example.org">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-007.htm
new file mode 100644
index 00000000000..7007269f623
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-007.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=password)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-007-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=password</p>
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+ <input type="password" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-008.htm
new file mode 100644
index 00000000000..9c3904899eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-008.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=datetime)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-008-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime</p>
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+ <input type="datetime" value="2012-02-01 17:28Z">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-009.htm
new file mode 100644
index 00000000000..7d179f94c72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-009.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=date)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-009-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=date</p>
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+ <input type="date" value="2012-02-01">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-010.htm
new file mode 100644
index 00000000000..f7ffd412fb2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-010.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=month)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-010-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=month</p>
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+ <input type="month" value="2012-02">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-011.htm
new file mode 100644
index 00000000000..bd4876fd1d3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-011.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=week)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-011-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=week</p>
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+ <input type="week" value="2012-W5">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-012.htm
new file mode 100644
index 00000000000..5f0c03ec438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-012.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=time)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-012-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=time</p>
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+ <input type="time" value="17:28">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-013.htm
new file mode 100644
index 00000000000..af35388015e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-013.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=datetime-local)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-013-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime-local</p>
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+ <input type="datetime-local" value="2012-02-01 12:28">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-014.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-014.htm
new file mode 100644
index 00000000000..9fd7c45be05
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-014.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=number)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-014-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=number</p>
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+ <input max="1000" step="1" type="number" value="613" min="0">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-015.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-015.htm
new file mode 100644
index 00000000000..38ce47f1681
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-015.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=range)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-015-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=range</p>
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+ <input max="1000" type="range" value="613" min="0">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-016.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-016.htm
new file mode 100644
index 00000000000..a6f2637e12c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-016.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=color)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-016-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=color</p>
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+ <input type="color" value="#0000ff">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-017.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-017.htm
new file mode 100644
index 00000000000..b03ce6abcf6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-017.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=checkbox)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-017-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=checkbox</p>
+ <input checked="" type="checkbox">
+ <input type="checkbox">
+ <input checked="" type="checkbox">
+ <input type="checkbox">
+ <input checked="" type="checkbox">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-018.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-018.htm
new file mode 100644
index 00000000000..eaf6437c28b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-018.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=radio)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-018-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=radio</p>
+ <input checked="" type="radio">
+ <input type="radio">
+ <input checked="" type="radio">
+ <input type="radio">
+ <input checked="" type="radio">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-019.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-019.htm
new file mode 100644
index 00000000000..62e70464b8e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-input-019.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Input (type=submit)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert">
+ <link href="reference/transform-input-019-ref.htm" rel="match">
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=submit</p>
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+ <input type="submit" value="abc">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-001.htm
new file mode 100644
index 00000000000..0df9df54670
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix()/translateX()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that translateX() has the same
+ effect as an equivalent matrix()." name="assert">
+ <link href="reference/transform-matrix-001-ref.htm" rel="match">
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 100, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-002.htm
new file mode 100644
index 00000000000..a649d34e94b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix()/translateY()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that translateY() has the same
+ effect as an equivalent matrix()." name="assert">
+ <link href="reference/transform-matrix-002-ref.htm" rel="match">
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 0, 100);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-003.htm
new file mode 100644
index 00000000000..357b306a29b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-003.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix()/translateX(%)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that translateX() with a percentage
+ argument has the same effect as an equivalent matrix()." name="assert">
+ <link href="reference/transform-matrix-003-ref.htm" rel="match">
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 47, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-004.htm
new file mode 100644
index 00000000000..fcdbfdeb805
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-004.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix()/translateY(%)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that translateY() with a percentage
+ argument has the same effect as an equivalent matrix()." name="assert">
+ <link href="reference/transform-matrix-004-ref.htm" rel="match">
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 0, 23);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-005.htm
new file mode 100644
index 00000000000..d7e73acac79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-005.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix()/skewX()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that skewX() has the same effect as
+ an equivalent matrix()." name="assert">
+ <link href="reference/transform-matrix-005-ref.htm" rel="match">
+ <link href="reference/transform-matrix-005-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: matrix(1, 0, 1, 1, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-006.htm
new file mode 100644
index 00000000000..6d558b0c367
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-006.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix()/skewY()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that skewY() has the same effect as
+ an equivalent matrix()." name="assert">
+ <link href="reference/transform-matrix-006-ref.htm" rel="match">
+ <link href="reference/transform-matrix-005-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: matrix(1, 1, 0, 1, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-007.htm
new file mode 100644
index 00000000000..504386b0246
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-007.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix()/scale()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that scale() has the same
+ effect as an equivalent matrix()." name="assert">
+ <link href="reference/transform-matrix-007-ref.htm" rel="match">
+ <style>
+ div {
+ transform: matrix(2, 0, 0, 4, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-008.htm
new file mode 100644
index 00000000000..fb27267a0ea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-matrix-008.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix() with non-numeric args</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help">
+ <meta content="This tests that providing length or percentage
+ values as arguments to matrix() is a syntax error." name="assert">
+ <link href="reference/transform-matrix-008-ref.htm" rel="match">
+ <link href="reference/transform-matrix-008-notref.htm" rel="mismatch">
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ }
+ body > div {
+ transform: matrix(1, 0, 0, 1, 50px, 0);
+ }
+ body > div > div {
+ transform: matrix(1, 0, 0, 1, 50%, 0);
+ }
+ body > div > div > div {
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-001.htm
new file mode 100644
index 00000000000..377bd3a79c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-001.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Default transform-origin not top left</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="A transform-origin of 0% 0% must not result in
+ the same rendering as the default of 50% 50%, if a 45-degree rotation is
+ applied." name="assert">
+ <link href="reference/transform-origin-ref-1.htm" rel="mismatch">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 0% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-002.htm
new file mode 100644
index 00000000000..81ee79c21cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-002.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Default transform-origin not center right</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="A transform-origin of 100% 50% must not result
+ in the same rendering as the default of 50% 50%, if a 45-degree rotation is
+ applied." name="assert">
+ <link href="reference/transform-origin-ref-1.htm" rel="mismatch">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 100% 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-003.htm
new file mode 100644
index 00000000000..7e80dfc4e82
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-003.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin percentages 1</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="A transform-origin of 101px 51px must result
+ in the same rendering as the default of 50% 50% in this case. The content
+ box is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert">
+ <link href="reference/transform-origin-ref-2.htm" rel="match">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 101px 51px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-004.htm
new file mode 100644
index 00000000000..9f93e6ddd6d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-004.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin percentages 2</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="A transform-origin of 101px 50% must result
+ in the same rendering as the default of 50% 50% in this case. The content
+ box is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert">
+ <link href="reference/transform-origin-ref-2.htm" rel="match">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 101px 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-005.htm
new file mode 100644
index 00000000000..9524bece2b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-005.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin percentages 3</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="A transform-origin of 50% 51px must result in
+ the same rendering as the default of 50% 50% in this case. The content box
+ is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert">
+ <link href="reference/transform-origin-ref-2.htm" rel="match">
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 50% 51px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-006.htm
new file mode 100644
index 00000000000..5cede9fb1f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-006.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin percentages 4</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="Percentages in transform-origin refer to the
+ size of the element's border box. This tests that they don't
+ refer to the content, padding, or margin box by applying nonzero margin,
+ border, and padding. (Note: an implementation that resolves percentages
+ relative to the incorrect box might fail this test by only a few pixels, so
+ it's important to check that the test and reference renderings match
+ exactly.)" name="assert">
+ <link href="reference/transform-origin-ref-2.htm" rel="match">
+ <style>
+ body > div {
+ width: 190px;
+ height: 90px;
+ padding: 5px;
+ border: 1px solid black;
+ margin: 5px;
+ transform: rotate(45deg);
+ transform-origin: 50% 50%;
+ position: relative;
+ right: 5px;
+ }
+ body > div > div {
+ margin: -5px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text!</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-007.htm
new file mode 100644
index 00000000000..473f32c58f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-007.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property">
+<link href="reference/transform-origin-007-ref.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'transform-origin' property set 'bottom' computes to 100% for the vertical position." name="assert">
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 0px 50px 100px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% bottom;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 0px 50px 100px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% 100%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-008.htm
new file mode 100644
index 00000000000..ad520714533
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-008.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: transform-origin - center 0%('center' computes to '50%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property">
+<link href="reference/transform-origin-007-ref.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position." name="assert">
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 50px 0px 50px;
+ transform: rotate(180deg);
+ transform-origin: center 0%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 50px 0px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-009.htm
new file mode 100644
index 00000000000..9b6b5b7c964
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-009.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: transform-origin - 0% center('center' computes to '50%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property">
+<link href="reference/transform-origin-007-ref.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position." name="assert">
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 50px 0px 50px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% center;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 50px 0px 50px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 50%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-01.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-01.htm
new file mode 100644
index 00000000000..5760fa937b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-01.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test: SVG Transform using transform-origin</title>
+ <link href="mailto:gammon@adobe.com" rel="author" title="CJ Gammon">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="reference/transform-origin-01-ref.htm" rel="match">
+ <meta content="If only one value is specified, the second value is assumed to be ‘center’" name="assert">
+ <style type="text/css">
+ #container{
+ position: relative;
+ }
+
+ .square{
+ position: absolute;
+ }
+
+ #blue{
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: blue;
+ }
+
+ #red{
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform-origin: left center;
+ transform: rotate(90deg);
+ }
+
+ #green{
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform-origin: left;
+ transform: rotate(90deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red or blue square.</p>
+ <div id="container">
+ <div class="square" id="blue"></div>
+ <div class="square" id="red"></div>
+ <div class="square" id="green"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-010.htm
new file mode 100644
index 00000000000..3fe4575826d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-010.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: transform-origin - left 0%('left' computes to '0%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property">
+<link href="reference/transform-origin-007-ref.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'transform-origin' property set 'left' computes to 0% for the horizontal position." name="assert">
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: left 0%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-011.htm
new file mode 100644
index 00000000000..d8aed774de4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-011.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: transform-origin - right 100%('right' computes to '100%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property">
+<link href="reference/transform-origin-007-ref.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'transform-origin' property set 'right' computes to 100% for the horizontal position." name="assert">
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 0px 100px 100px 0px;
+ transform: rotate(180deg);
+ transform-origin: right 100%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 0px 100px 100px 0px;
+ transform: rotate(180deg);
+ transform-origin: 100% 100%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-012.htm
new file mode 100644
index 00000000000..b3690f1ee06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-012.htm
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html><head><meta charset="utf-8">
+<title>CSS Transforms Test: transform-origin - 0% top('top' computes to '0%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel">
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui">
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property">
+<link href="reference/transform-origin-007-ref.htm" rel="match">
+<meta content="" name="flags">
+<meta content="The 'transform-origin' property set 'top' computes to 0% for the vertical position." name="assert">
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% top;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-001.htm
new file mode 100644
index 00000000000..dd479d84fba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-001.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin: top left</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="This tests that 'transform-origin: top
+ left' is the same as 'transform-origin: 0% 0%'." name="assert">
+ <link href="reference/transform-origin-name-ref-1.htm" rel="match">
+ <link href="reference/transform-origin-name-notref.htm" rel="mismatch">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top left;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-002.htm
new file mode 100644
index 00000000000..404ee81468b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin: left top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="This tests that 'transform-origin: left
+ top' is the same as 'transform-origin: 0% 0%'." name="assert">
+ <link href="reference/transform-origin-name-ref-1.htm" rel="match">
+ <link href="reference/transform-origin-name-notref.htm" rel="mismatch">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: left top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-003.htm
new file mode 100644
index 00000000000..4412ae63cb4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin: top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="This tests that 'transform-origin:
+ top' is the same as 'transform-origin: 50% 0%'." name="assert">
+ <link href="reference/transform-origin-name-ref-2.htm" rel="match">
+ <link href="reference/transform-origin-name-notref.htm" rel="mismatch">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-004.htm
new file mode 100644
index 00000000000..08f5118e118
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin: top center</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="This tests that 'transform-origin:
+ top center' is the same as 'transform-origin: 50% 0%'." name="assert">
+ <link href="reference/transform-origin-name-ref-2.htm" rel="match">
+ <link href="reference/transform-origin-name-notref.htm" rel="mismatch">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top center;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-005.htm
new file mode 100644
index 00000000000..a9e82ba44c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin: center top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="This tests that 'transform-origin:
+ center top' is the same as 'transform-origin: 50% 0%'." name="assert">
+ <link href="reference/transform-origin-name-ref-2.htm" rel="match">
+ <link href="reference/transform-origin-name-notref.htm" rel="mismatch">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: center top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-006.htm
new file mode 100644
index 00000000000..4b112bdd141
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-006.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin: top right</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="This tests that 'transform-origin:
+ top right' is the same as 'transform-origin: 100% 0%'." name="assert">
+ <link href="reference/transform-origin-name-ref-3.htm" rel="match">
+ <link href="reference/transform-origin-name-notref.htm" rel="mismatch">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top right;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-007.htm
new file mode 100644
index 00000000000..2583b6e1a21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin-name-007.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): transform-origin: right top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <meta content="This tests that 'transform-origin:
+ right top' is the same as 'transform-origin: 100% 0%'." name="assert">
+ <link href="reference/transform-origin-name-ref-3.htm" rel="match">
+ <link href="reference/transform-origin-name-notref.htm" rel="mismatch">
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: right top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin.htm
new file mode 100644
index 00000000000..99e3409f9fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-origin.htm
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform-origin</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-transform-origin" rel="help">
+ <link href="reference/transform-origin-ref.htm" rel="match">
+ <meta content="The transform should change the transform-origin to the bottom right and rotate 180 degrees" name="assert">
+ <style type="text/css">
+ body {margin:0}
+ #greenSquare {
+ position: absolute;
+ top: 0px;
+ left: -100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform-origin: right bottom;
+ transform:rotate(90deg);
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ #redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ }
+ </style>
+
+</head>
+<body>
+
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div id="redSquare"></div>
+ <div id="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-001.htm
new file mode 100644
index 00000000000..e4f4a0950c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-001.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): overflow: auto</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;. . . if the value of the 'overflow' property
+ is 'scroll' or 'auto', scrollbars will appear as needed to see content that
+ is transformed outside the visible area.&quot; This tests that the effect
+ of overflow: auto for a translation is the same as for an equivalent
+ relative positioning." name="assert">
+ <link href="reference/transform-overflow-001-ref.htm" rel="match">
+ <style>
+ body > div {
+ height: 200px;
+ width: 200px;
+ overflow: auto;
+ }
+ body > div > div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: translate(150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-002.htm
new file mode 100644
index 00000000000..0434cf31a90
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-overflow-002.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): overflow: scroll</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="&quot;. . . if the value of the 'overflow' property
+ is 'scroll' or 'auto', scrollbars will appear as needed to see content that
+ is transformed outside the visible area.&quot; This tests that the effect
+ of overflow: scroll for a translation is the same as for an equivalent
+ relative positioning." name="assert">
+ <link href="reference/transform-overflow-002-ref.htm" rel="match">
+ <style>
+ body > div {
+ height: 200px;
+ width: 200px;
+ overflow: scroll;
+ }
+ body > div > div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: translate(150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-001.htm
new file mode 100644
index 00000000000..b7bfedadc34
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-001.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (translateX)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-002.htm
new file mode 100644
index 00000000000..c00735c6b28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-002.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (translateY)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-003.htm
new file mode 100644
index 00000000000..285ebbbe22f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-003.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-004.htm
new file mode 100644
index 00000000000..e8fc5e7f076
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-004.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translateY)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-005.htm
new file mode 100644
index 00000000000..8598800e426
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-005.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translateY and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-006.htm
new file mode 100644
index 00000000000..0acf6b92d0b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-006.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-007.htm
new file mode 100644
index 00000000000..9fc16292118
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-007.htm
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (translateY and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-008.htm
new file mode 100644
index 00000000000..11851e70801
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-percent-008.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Percentages (border box)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box. This test adds a thicker border plus
+ margin and padding to make any discrepancies more evident." name="assert">
+ <link href="reference/transform-percent-ref.htm" rel="match">
+ <link href="reference/transform-percent-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 60px;
+ height: 10px;
+ padding: 10px;
+ border: 10px solid gold;
+ margin: 10px;
+ background: gold;
+ position: absolute;
+ left: 90px;
+ top: 90px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg) translatey(100%)
+ skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-propagate-inherit-boolean-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-propagate-inherit-boolean-001.htm
new file mode 100644
index 00000000000..dd52475bf38
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-propagate-inherit-boolean-001.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): em on Multiple Elements</title>
+ <link href="http://dbaron.org/" rel="author" title="L. David Baron">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that when a 'transform' rule using
+ em affects two elements with different font-sizes, it affects each
+ according to its respective font-size, rather than using the same length
+ for both. See: https://bugzilla.mozilla.org/show_bug.cgi?id=460440" name="assert">
+ <link href="reference/transform-propagate-inherit-boolean-ref.htm" rel="match">
+ <style>
+ p {
+ font-size: 20px;
+ margin: 0;
+ height: 0;
+ width: 100px;
+ transform: translateX(4em);
+ }
+ p + p {
+ font-size: 40px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>One</p>
+ <p>Two</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-001.htm
new file mode 100644
index 00000000000..62ee9804272
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-001.htm
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale(-1) on Root Element With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="The background here extends to the whole
+ canvas, and a transform on the root element must transform the whole
+ canvas, background included. Thus the entire tiled background of
+ left-pointing triangles needs to be rotated 180 degrees (same as scale(-1))
+ around the top center of the viewport, which is the default
+ transform-origin of 50% 50% in this case. An implementation that doesn't
+ draw the background on parts of the canvas outside the viewport might
+ incorrectly display nothing, because the part of the background that's
+ supposed to be rotated into view was initially above the visible part of
+ the canvas." name="assert">
+ <link href="reference/transform-root-bg-001-ref.htm" rel="match">
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(-1);
+ }
+ body {
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-002.htm
new file mode 100644
index 00000000000..649494489a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-002.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale(-1) on Root Element With Background On Body</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="Identical to transform-root-bg-001.html,
+ except that the background property is put on the body rather than the root
+ element. This should make no difference, because the body's background
+ propagates up to the canvas if there's no root element background." name="assert">
+ <link href="reference/transform-root-bg-001-ref.htm" rel="match">
+ <style>
+ html {
+ transform: scale(-1);
+ }
+ body {
+ background: url(support/transform-triangle-left.svg);
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-003.htm
new file mode 100644
index 00000000000..5bcdcc8c5fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-003.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale(0.5) on Root Element With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This is the same as
+ transform-root-bg-001.html, except that it uses scale(0.5) instead of
+ scale(-1). It also specifies a transform-origin, because the default of
+ 50% 50% wouldn't work well with the way the reference image is constructed." name="assert">
+ <link href="reference/transform-root-bg-003-ref.htm" rel="match">
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(0.5);
+ /**
+ * The transform-origin here has to fall between two triangles, i.e.,
+ * at a multiple of 100px. Otherwise after the transform, the shrunken
+ * images won't line up with the left edge of the body, and it won't
+ * match the ref (since the background here is positioned at the left).
+ * We deliberately make it an odd multiple of the number of images so
+ * it catches an IE bug; it shouldn't matter per spec
+ */
+ transform-origin: 300px 0;
+ }
+ body {
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-004.htm
new file mode 100644
index 00000000000..c7045736862
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-root-bg-004.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale(-1) On Body With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This is like transform-root-bg-002.html,
+ except that the transform is specified on the body element, not just the
+ background. The background gets lifted to the root element, but the
+ transform does not, so the transform has no effect." name="assert">
+ <link href="reference/transform-root-bg-004-ref.htm" rel="match">
+ <style>
+ body {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(-1);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-001.htm
new file mode 100644
index 00000000000..325059ba802
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-001.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert">
+ <link href="reference/transform-rotate-001-ref.htm" rel="match">
+ <link href="reference/transform-rotate-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: rotate(45deg) rotate(360deg);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-002.htm
new file mode 100644
index 00000000000..d4d9b396b78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-002.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(400grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert">
+ <link href="reference/transform-rotate-001-ref.htm" rel="match">
+ <link href="reference/transform-rotate-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: rotate(45deg) rotate(400grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-003.htm
new file mode 100644
index 00000000000..e498356bfff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-003.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(100deg) rotate(80deg)
+ rotate(200grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert">
+ <link href="reference/transform-rotate-001-ref.htm" rel="match">
+ <link href="reference/transform-rotate-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-004.htm
new file mode 100644
index 00000000000..46a44725a20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-004.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate(-45deg) rotate(100grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert">
+ <link href="reference/transform-rotate-001-ref.htm" rel="match">
+ <link href="reference/transform-rotate-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: rotate(-45deg) rotate(100grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-005.htm
new file mode 100644
index 00000000000..bfdd2e1b3ce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-005.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate(-135deg)
+ rotate(3.1415926535897932384626433rad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert">
+ <link href="reference/transform-rotate-001-ref.htm" rel="match">
+ <link href="reference/transform-rotate-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: rotate(-135deg) rotate(3.1415926535897932384626433rad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-006.htm
new file mode 100644
index 00000000000..862bf425362
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-006.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(1turn)</title>
+ <link href="mailto:bzbarsky@mit.edu" rel="author" title="Boris Zbarsky">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert">
+ <link href="reference/transform-rotate-001-ref.htm" rel="match">
+ <link href="reference/transform-rotate-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: rotate(45deg) rotate(0.125turn);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-007.htm
new file mode 100644
index 00000000000..ab7d5857c15
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rotate-007.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Rotated Simple Box</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help">
+ <meta content="This tests that rotating a simple rectangle by
+ 90 degrees produces another rectangle of the appropriate dimensions." name="assert">
+ <link href="reference/transform-rotate-007-ref.htm" rel="match">
+ <link href="reference/transform-rotate-007-notref.htm" rel="mismatch">
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ border: 1px solid black;
+ transform: translate(50px, -50px) rotate(-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rounding-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rounding-001.htm
new file mode 100644
index 00000000000..de1bd7ec96e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-rounding-001.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Rounding</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that the implementation does not
+ round intermediate matrices to the extent that it significantly distorts
+ the final result. (No requirement in the specification places any specific
+ constraints on rounding, but simple cases like this should not deviate
+ dramatically from the mathematically precise result.)" name="assert">
+ <link href="reference/transform-rounding-ref.htm" rel="match">
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: scale(100000) translate(0.001px) scale(0.00001);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-001.htm
new file mode 100644
index 00000000000..39eb22e61cb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale(0.5, 0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <meta content="This tests that scale(0.5, 0.5) scales down a
+ box by a factor of one-half." name="assert">
+ <link href="reference/transform-scale-ref.htm" rel="match">
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(0.5, 0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-002.htm
new file mode 100644
index 00000000000..e93214a4327
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <meta content="This tests that scale(0.5) scales down a box
+ by a factor of one-half." name="assert">
+ <link href="reference/transform-scale-ref.htm" rel="match">
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-percent-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-percent-001.htm
new file mode 100644
index 00000000000..5d87a615747
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-percent-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale(50%, 50%)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help">
+ <meta content="This tests that scale(50%, 50%) does nothing,
+ because scale() is defined to take numbers and not percentages." name="assert">
+ <link href="reference/transform-scale-percent-ref.htm" rel="match">
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(50%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-test.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-test.htm
new file mode 100644
index 00000000000..36cb1e5c889
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scale-test.htm
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function.</title>
+ <link href="mailto:oleg@the-incredible.me" rel="author" title="Oleg Janeiko">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/transform-scale-test-ref.htm" rel="match">
+ <meta content="This transform shrinks a container by calling scale(.33). It also sets transform-origin to top left in order to visually align with the second green square." name="assert">
+ <style type="text/css">
+ div {
+ background-color: green;
+ float: left;
+ margin: 50px;
+ }
+ .greenSquare {
+ width: 100px;
+ height: 100px;
+ -webkit-transform: scale(.33);
+ -webkit-transform-origin: top left;
+ }
+ .greenSquareTwo {
+ width: 33px;
+ height: 33px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green squares of the same size.</p>
+ <div class="greenSquareTwo"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scalex-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scalex-001.htm
new file mode 100644
index 00000000000..c222f6b4ea8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scalex-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scaleX(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help">
+ <meta content="This tests that scaleX(0.5) scales down a
+ box's width by a factor of one-half." name="assert">
+ <link href="reference/transform-scalex-ref.htm" rel="match">
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scaleX(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scaley-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scaley-001.htm
new file mode 100644
index 00000000000..7c564bba1dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-scaley-001.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scaleY(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help">
+ <meta content="This tests that scaleY(0.5) scales down a
+ box's width by a factor of one-half." name="assert">
+ <link href="reference/transform-scaley-ref.htm" rel="match">
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scaleY(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-singular-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-singular-001.htm
new file mode 100644
index 00000000000..5d6b095279d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-singular-001.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix(1, 1, 1, 1, 0, 0)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <meta content='"If a transform function causes the current
+ transformation matrix (CTM) of an object to be non-invertible, the object
+ and its content do not get displayed." The matrix (1, 1, 1, 1) has
+ determinant 1*1 - 1*1 = 0 and therefore is not invertible, so nothing
+ should display.' name="assert">
+ <link href="reference/transform-singular-ref.htm" rel="match">
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: matrix(1, 1, 1, 1, 0, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ This shouldn't be visible.
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-001.htm
new file mode 100644
index 00000000000..757fa788763
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-001.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Stacking, transform: scale(1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content="This tests that specifying the identity
+ transform on an element still causes it to create a new stacking context
+ (unlike transform: none)." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>
+ body > div:first-child {
+ transform: scale(1);
+ }
+ body > div:first-child > div {
+ height: 100px;
+ width: 100px;
+ background: red;
+ z-index: 1;
+ position: relative;
+ }
+ body > div:last-child {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-002.htm
new file mode 100644
index 00000000000..81f2e38c8c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-002.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Stacking, transform: none</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content='This tests that "transform: none" does not
+ create a new stacking context -- it should have no effect at all.' name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>
+ body > div:first-child {
+ transform: none;
+ }
+ body > div:first-child > div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body > div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-003.htm
new file mode 100644
index 00000000000..f5442025f76
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-003.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Stacking, invalid transform value</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content='This tests that specifying the transform
+ property with an invalid value does not create a new stacking context -- it
+ should have no effect at all, same as "transform: none".' name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>
+ body > div:first-child {
+ transform: quasit;
+ }
+ body > div:first-child > div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body > div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-004.htm
new file mode 100644
index 00000000000..9c955d0a567
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stacking-004.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Stacking, inherited transform: none</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help">
+ <meta content='This tests that specifying "transform:
+ inherit" (when the parent has no transform) does not create a new stacking
+ context -- it should have no effect at all, same as "transform: none".' name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>
+ body > div:first-child {
+ transform: inherit;
+ }
+ body > div:first-child > div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body > div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stresstest-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stresstest-001.htm
new file mode 100644
index 00000000000..ef27c650531
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-stresstest-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Inversion Stress Test</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="This simply applies and then inverts a large
+ number of 2D transform functions, and expects the result to be no transform
+ at all. One extra translateX(100px) is added at the end to ensure that the
+ lack of transform isn't just because the UA parsed it incorrectly, or
+ doesn't support transforms at all." name="assert">
+ <link href="reference/transform-stresstest-ref.htm" rel="match">
+ <style>
+ div {
+ height: 200px;
+ width: 200px;
+ background: gold;
+ transform: skewx(45deg)
+ translate(50px, 50px)
+ rotate(45deg)
+ translatex(50px)
+ scale(2.0, 4.0)
+ scale(0.5, 0.25)
+ translatex(-50px)
+ rotate(-45deg)
+ translate(-50px, -50px)
+ skewx(135deg)
+ translateX(100px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-001.htm
new file mode 100644
index 00000000000..43898dda132
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-001.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that an appropriately-crafted
+ transform applied to a table works the same as if was applied to a wrapper
+ div." name="assert">
+ <link href="reference/transform-table-001-ref.htm" rel="match">
+ <link href="reference/transform-table-001-notref.htm" rel="mismatch">
+ <style>
+ table {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-002.htm
new file mode 100644
index 00000000000..e9dc0bf9b47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-002.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform on Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that an appropriately-crafted
+ transform applied to an inline-table works the same as if was applied to a
+ wrapper div." name="assert">
+ <link href="reference/transform-table-001-ref.htm" rel="match">
+ <link href="reference/transform-table-002-notref.htm" rel="mismatch">
+ <style>
+ table {
+ display: inline-table;
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-003.htm
new file mode 100644
index 00000000000..7512b938e36
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-003.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform on Table 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that another appropriately-crafted
+ transform applied to a table works the same as if was applied to a wrapper
+ div." name="assert">
+ <link href="reference/transform-table-001-ref.htm" rel="match">
+ <link href="reference/transform-table-001-notref.htm" rel="mismatch">
+ <style>
+ div {
+ transform: translateX(200px) rotate(180deg) translateY(-100%);
+ transform-origin: left;
+ }
+ table {
+ transform: translateY(100%);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-004.htm
new file mode 100644
index 00000000000..ad34e29233c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-004.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform on Table with caption-side: bottom</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is the same as transform-table-001.html,
+ except the caption has caption-side: bottom." name="assert">
+ <link href="reference/transform-table-004-ref.htm" rel="match">
+ <link href="reference/transform-table-004-notref.htm" rel="mismatch">
+ <style>
+ table {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-005.htm
new file mode 100644
index 00000000000..143a54a5bd6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-005.htm
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transform on Table with caption-side: bottom</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This is the same as transform-table-002.html,
+ except the caption has caption-side: bottom." name="assert">
+ <link href="reference/transform-table-004-ref.htm" rel="match">
+ <link href="reference/transform-table-005-notref.htm" rel="mismatch">
+ <style>
+ table {
+ display: inline-table;
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-006.htm
new file mode 100644
index 00000000000..29b766d93d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-006.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 1</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This has preserve-3d applied to the outer
+ wrapper of a table, but not the inner wrapper containing its contents.
+ Therefore, the contents should be rotated 90 degrees and vanish, and the
+ 90-degree rotation on the outer wrapper shouldn't restore them. An
+ implementation that incorrectly propagated preserve-3d to table descendants
+ might cause the text to appear, but mirrored." name="assert">
+ <link href="reference/transform-blank-ref.htm" rel="match">
+ <style>
+ body > div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ td > div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div>
+ <table>
+ <tbody><tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody></table>
+
+
+</div></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-007.htm
new file mode 100644
index 00000000000..f25b8bf0418
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-007.htm
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="In this case, preserve-3d is applied to every
+ element that's explicitly specified in the source code. However, the HTML
+ parser will insert an extra <tbody> element around the <tr>,
+ which will not have preserve-3d specified, so the contents should again
+ vainsh. An implementation that incorrectly propagated preserve-3d to table
+ descendants might cause the text to appear, but mirrored." name="assert">
+ <link href="reference/transform-blank-ref.htm" rel="match">
+ <style>
+ body > div {
+ transform: rotateX(90deg);
+ }
+ td > div {
+ transform: rotateX(90deg);
+ }
+ body > div, table, tr, td {
+ transform-style: preserve-3d;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div>
+ <table>
+ <tbody><tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-008.htm
new file mode 100644
index 00000000000..563066129f8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-008.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 3</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is essentially the same as
+ transform-table-006.html, except using divs with 'display' specified
+ instead of actual table elements." name="assert">
+ <link href="reference/transform-blank-ref.htm" rel="match">
+ <style>
+ body > div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body > div > div {
+ display: table;
+ }
+ body > div > div > div {
+ display: table-row;
+ }
+ body > div > div > div > div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body > div > div > div > div > div {
+ transform: rotateX(90deg);
+ }
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div>
+ <div>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+</style></head><body></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-009.htm
new file mode 100644
index 00000000000..0867a9d6e02
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-009.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 1</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is the same as transform-table-007.html,
+ except that transform-style is also explicitly applied to the intervening
+ <tbody>, so nothing should vanish." name="assert">
+ <link href="reference/transform-table-009-ref.htm" rel="match">
+ <link href="reference/transform-table-009-notref.htm" rel="mismatch">
+ <style>
+ table, tbody, tr, td {
+ margin: 0;
+ padding: 0;
+ border-spacing: 0;
+ }
+ div {
+ transform: rotateX(90deg);
+ }
+ body > div, table, tbody, tr, td {
+ transform-style: preserve-3d;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-010.htm
new file mode 100644
index 00000000000..1e62d4cc89a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-010.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is the same as transform-table-007.html,
+ except that now divs are used instead of actual table elements. This means
+ that the parser doesn't create an implicit intervening <tbody>, so
+ preserve-3d is applied to all intervening elements, and the text should
+ display (mirrored)." name="assert">
+ <link href="reference/transform-table-009-ref.htm" rel="match">
+ <link href="reference/transform-table-010-notref.htm" rel="mismatch">
+ <style>
+ body > div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body > div > div {
+ display: table;
+ transform-style: preserve-3d;
+ }
+ body > div > div > div {
+ display: table-row;
+ transform-style: preserve-3d;
+ }
+ body > div > div > div > div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body > div > div > div > div > div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-011.htm
new file mode 100644
index 00000000000..f96e17410d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-table-011.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 3</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is an even more extreme example of
+ transform-table-010.html. CSS will create several anonymous table boxes
+ wrapping the div with display: table-cell, but none of these have
+ corresponding elements. Every actual element in the DOM still has
+ preserve-3d specified, so the text should not vanish." name="assert">
+ <link href="reference/transform-table-009-ref.htm" rel="match">
+ <link href="reference/transform-table-011-notref.htm" rel="mismatch">
+ <style>
+ body > div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body > div > div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body > div > div > div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-block.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-block.htm
new file mode 100644
index 00000000000..5016d74da78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-block.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Inline-Block</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on an
+ inline-block work as expected." name="assert">
+ <link href="reference/transform-transformable-inline-block-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: inline-block;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-table.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-table.htm
new file mode 100644
index 00000000000..cb80d588e9e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-inline-table.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on an
+ inline-table work as expected." name="assert">
+ <link href="reference/transform-transformable-inline-table-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: inline-table;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-list-item.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-list-item.htm
new file mode 100644
index 00000000000..11d45290994
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-list-item.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of List-Item</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ list-item work as expected." name="assert">
+ <link href="reference/transform-transformable-list-item-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: list-item;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-caption.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-caption.htm
new file mode 100644
index 00000000000..32a9588d957
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-caption.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Table-Caption</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ table-caption work as expected." name="assert">
+ <link href="reference/transform-transformable-table-caption-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-caption;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-cell.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-cell.htm
new file mode 100644
index 00000000000..cb96c61ddbf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-cell.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Table-Cell</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ table-cell work as expected." name="assert">
+ <link href="reference/transform-transformable-table-cell-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-cell;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-footer-group.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-footer-group.htm
new file mode 100644
index 00000000000..c0b2ad6858e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-footer-group.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Table-Footer-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ table-footer-group work as expected." name="assert">
+ <link href="reference/transform-transformable-table-footer-group-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-footer-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-header-group.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-header-group.htm
new file mode 100644
index 00000000000..30457ce42bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-header-group.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Table-Header-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ table-header-group work as expected." name="assert">
+ <link href="reference/transform-transformable-table-header-group-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-header-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row-group.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row-group.htm
new file mode 100644
index 00000000000..4fa6be9caac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row-group.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Table-Row-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ table-row-group work as expected." name="assert">
+ <link href="reference/transform-transformable-table-row-group-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-row-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row.htm
new file mode 100644
index 00000000000..6345310150a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table-row.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Table-Row</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ table-row work as expected." name="assert">
+ <link href="reference/transform-transformable-table-row-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-row;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table.htm
new file mode 100644
index 00000000000..08425e1236b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-transformable-table.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Transformability of Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <meta content="This tests that transforms specified on a
+ table work as expected." name="assert">
+ <link href="reference/transform-transformable-table-ref.htm" rel="match">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-001.htm
new file mode 100644
index 00000000000..05a2e6de8ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-001.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translate(50px, 50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <meta content="This tests that translate(50px, 50px) is the same as
+ relative positioning by 50px toward the bottom right." name="assert">
+ <link href="reference/transform-translate-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-002.htm
new file mode 100644
index 00000000000..d27d6929405
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-002.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translate(50px, 50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <meta content="This tests that translate(50px, 50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ bottom right." name="assert">
+ <link href="reference/transform-translate-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translate(50px, 50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-003.htm
new file mode 100644
index 00000000000..b9a0aa973ae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-003.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translate(25px, 25px) translate(25px, 25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <meta content="This tests that translate(25px, 25px)
+ translate(25px, 25px) is the same as relative positioning by 50px toward
+ the bottom right." name="assert">
+ <link href="reference/transform-translate-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translate(25px, 25px) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-004.htm
new file mode 100644
index 00000000000..da69fcac83b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-004.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translate() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <meta content="This tests that translate(25px, 25px)
+ plus relative positioning 25px to the bottom right is the same as relative
+ positioning by 50px toward the bottom right." name="assert">
+ <link href="reference/transform-translate-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translate(25px, 25px);
+ position: relative;
+ top: 25px;
+ left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-005.htm
new file mode 100644
index 00000000000..56163d2f4be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translate-005.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Several Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help">
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the bottom right." name="assert">
+ <link href="reference/transform-translate-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translate(50px) translate(-100px) translate(150px)
+ translate(-50px) translate(0px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-001.htm
new file mode 100644
index 00000000000..dd1131be3d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-001.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatex(50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <meta content="This tests that translatex(50px) is the same
+ as relative positioning by 50px toward the right." name="assert">
+ <link href="reference/transform-translatex-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatex(50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-002.htm
new file mode 100644
index 00000000000..14ba374d8c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-002.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatex(50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <meta content="This tests that translatex(50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ right." name="assert">
+ <link href="reference/transform-translatex-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatex(50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-003.htm
new file mode 100644
index 00000000000..199d4a20681
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-003.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatex(25px) translatex(25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <meta content="This tests that translatex(25px)
+ translatex(25px) is the same as relative positioning by 50px toward
+ the right." name="assert">
+ <link href="reference/transform-translatex-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatex(25px) translatex(25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-004.htm
new file mode 100644
index 00000000000..d3c00cbe094
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-004.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatex() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <meta content="This tests that translatex(25px)
+ plus relative positioning 25px to the right is the same as relative
+ positioning by 50px toward the right." name="assert">
+ <link href="reference/transform-translatex-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatex(25px);
+ position: relative;
+ left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-005.htm
new file mode 100644
index 00000000000..a55cde2d33f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-005.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Several X-Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help">
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the right." name="assert">
+ <link href="reference/transform-translatex-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatex(50px) translatex(-100px) translatex(150px)
+ translatex(-50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-006.htm
new file mode 100644
index 00000000000..7edce7ac8ea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatex-006.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with translateX function</title>
+ <link href="mailto:serena@codeforamerica.org" rel="author" title="Serena Wales">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/transform-translatex-ref.htm" rel="match">
+ <meta content="This tests that translateX(50px) translates a box by 50 pixels in the X direction." name="assert">
+ <style type="text/css">
+ /* Positioned container allows for the self-describing statement to still
+ be visible in the case of failure */
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform: translateX(50px);
+ /* Add CSS transform here */
+ }
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ top: 0px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-001.htm
new file mode 100644
index 00000000000..5e0b40f20fc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-001.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatey(50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <meta content="This tests that translatey(50px) is the same
+ as relative positioning by 50px toward the bottom." name="assert">
+ <link href="reference/transform-translatey-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatey(50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-002.htm
new file mode 100644
index 00000000000..779fc07d9db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-002.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatey(50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <meta content="This tests that translatey(50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ bottom." name="assert">
+ <link href="reference/transform-translatey-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatey(50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-003.htm
new file mode 100644
index 00000000000..e3897de13cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-003.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatey(25px) translatey(25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <meta content="This tests that translatey(25px)
+ translatey(25px) is the same as relative positioning by 50px toward
+ the bottom." name="assert">
+ <link href="reference/transform-translatey-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatey(25px) translatey(25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-004.htm
new file mode 100644
index 00000000000..f13c03b24d5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-004.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatey() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <meta content="This tests that translatey(25px)
+ plus relative positioning 25px to the bottom is the same as relative
+ positioning by 50px toward the bottom." name="assert">
+ <link href="reference/transform-translatey-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatey(25px);
+ position: relative;
+ top: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-005.htm
new file mode 100644
index 00000000000..5e22057415b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform-translatey-005.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Several Y-Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help">
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the bottom." name="assert">
+ <link href="reference/transform-translatey-ref.htm" rel="match">
+ <style>
+ div {
+ transform: translatey(50px) translatey(-100px) translatey(150px)
+ translatey(-50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-001.htm
new file mode 100644
index 00000000000..d39f8942b19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-001.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, rotatex(180deg)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <meta content="This tests that a very simple case of
+ backface-visibility causes the element to disappear: rotateX(180deg) is
+ specified on the same element that has backface-visibility: hidden." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>div { height: 100px; width: 100px }</style>
+ </head>
+ <body>
+ <div style="background:lime">
+ <div style="background:red;transform:rotatex(180deg);
+ backface-visibility:hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-002.htm
new file mode 100644
index 00000000000..c587fd600ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-002.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ and Child in Different Rendering Contexts</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <meta content="This tests that if an element has
+ 'backface-visibility: hidden' and is rotated 180deg, so it would normally
+ disappear, it doesn't reappear just because its parent also has a 180deg
+ rotation. The rotations don't cancel, since the parent doesn't have
+ 'transform-style: preserve-3d' and is in a different rendering context." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime;
+ transform:rotatex(180deg)">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(180deg);backface-visibility:hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-003.htm
new file mode 100644
index 00000000000..b66512a5554
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-003.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, rotatex(180deg) on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <meta content="This is identical to
+ transform3d-backface-visibility-001.html, except that display: table is
+ specified too. This is motivated by a real-world UA bug:
+ <https://bugzilla.mozilla.org/show_bug.cgi?id=724750>." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(180deg);backface-visibility:hidden;display:table">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-004.htm
new file mode 100644
index 00000000000..1f7cfc674aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-004.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Same Rendering Context, Split Transform</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <meta content="This tests that if a parent and child are in
+ the same 3D rendering context, and a 60deg rotation on the parent combines
+ with a 60deg rotation on the child to make a 120deg rotation, the child
+ will disappear if 'backface-visibility: hidden' is specified, just like if
+ the 120deg rotation were specified on the child to start with." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime">
+ <div style="transform:rotatex(60deg);transform-style:preserve-3d">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(60deg);backface-visibility:hidden">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-005.htm
new file mode 100644
index 00000000000..276e8ff9f9a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-005.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Different Rendering Context</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <meta content="This tests that if an element is not
+ transformed, but its parent is rotated 180deg in a different rendering
+ context, the child's 'backface-visibility: hidden' does not make it
+ disappear. Only transforms that affect the child itself are relevant to
+ 'backface-visibility'." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>div { width: 100px; height: 100px }</style>
+ </head>
+ <body>
+ <div style="transform: rotateX(180deg); background: red">
+ <div style="backface-visibility: hidden; background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-006.htm
new file mode 100644
index 00000000000..071595d2b93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-006.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Same Rendering Context</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <meta content="This is the same as
+ transform3d-backface-visibility-005.html, except that the parent has
+ 'transform-style: preserve-3d'. Thus the child is affected by the parent's
+ transform and should not be visible." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>div { width: 100px; height: 100px }</style>
+ </head>
+ <body>
+ <div style="transform: rotateX(180deg); transform-style: preserve-3d;
+ background: lime">
+ <div style="backface-visibility: hidden; background: red">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-007.htm
new file mode 100644
index 00000000000..014084492ad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-backface-visibility-007.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, scalez(-1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help">
+ <meta content="This is the same as
+ transform3d-backface-visibility-001.html, except it uses scalez(-1) instead
+ of rotatex(180deg). scalez(-1) has no visible effect when applied by
+ itself to a box, since the box's Z-coordinates are all 0, but it still
+ causes it to be affected by 'backface-visibility'." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>div { height: 100px; width: 100px }</style>
+ </head>
+ <body>
+ <div style="background: lime">
+ <div style="background: red; backface-visibility: hidden;
+ transform: scalez(-1)">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-001.htm
new file mode 100644
index 00000000000..c592b393366
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-001.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale3d() on a Bitmap</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <meta content="This tests that applying a simple 3D transform
+ to a bitmap image works properly. This is motivated by a real-world
+ implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=735373>." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <img width="50" style="transform: scale3d(2, 2, 2); transform-origin: 0 0" height="50" src="support/transform-lime-square.png">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-002.htm
new file mode 100644
index 00000000000..f4bc9034d5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-image-scale-002.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale3d() on an SVG</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <meta content="This is the same as
+ transform3d-image-scale-001.html, but using an SVG image instead of a
+ bitmap." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <img width="50" style="transform: scale3d(2, 2, 2); transform-origin: 0 0" height="50" src="support/transform-lime-square.svg">
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-001.htm
new file mode 100644
index 00000000000..bbabe244c99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-001.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help">
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert">
+ <link href="reference/transform3d-matrix3d-001-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1);
+ width: 100px; height: 100px; background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-002.htm
new file mode 100644
index 00000000000..9fd48a3895a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-002.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help">
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert">
+ <link href="reference/transform3d-matrix3d-002-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1);
+ width: 100px; height: 100px; background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-003.htm
new file mode 100644
index 00000000000..5e74e623a4d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-003.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help">
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert">
+ <link href="reference/transform3d-matrix3d-003-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-004.htm
new file mode 100644
index 00000000000..b8b49a0f2b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-004.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help">
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert">
+ <link href="reference/transform3d-matrix3d-004-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1);
+ transform-origin: bottom"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-005.htm
new file mode 100644
index 00000000000..760faa288ec
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-matrix3d-005.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help">
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert">
+ <link href="reference/transform3d-matrix3d-005-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: gold;
+ transform: matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-001.htm
new file mode 100644
index 00000000000..85b6c599aa1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-001.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): perspective()</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that the perspective() transform
+ works the same as an equivalent 'perspective' property." name="assert">
+ <link href="reference/transform3d-perspective-001-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: translatey(50%) perspective(1000px) translatey(-50%)
+ rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-002.htm
new file mode 100644
index 00000000000..a65f12b35df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-002.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Inherited Perspective</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that 'perspective: inherit' works
+ the same as specifying that perspective to start with." name="assert">
+ <link href="reference/transform3d-perspective-001-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: inherit; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-003.htm
new file mode 100644
index 00000000000..f5700c56b54
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-003.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Perspective on Grandparent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that 'perspective' affects only the
+ element's children, not its grandchildren." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-004.htm
new file mode 100644
index 00000000000..6bac057f843
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-004.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): 'perspective: 1000px' on Grandparent and
+ 'perspective: none' on Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that 'perspective: none' actually
+ results in no perspective being applied to children, even if the
+ grandparent has perspective." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: none">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-005.htm
new file mode 100644
index 00000000000..2b190faf860
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-005.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): 'perspective: 1000px' on Grandparent and
+ 'perspective: 0px' on Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that 'perspective: 0px' behaves the
+ same as no perspective being specified at all (it's a parse error)." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: 0px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-006.htm
new file mode 100644
index 00000000000..3e8b0bb6f12
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-006.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Perspective</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests the 'perspective' property in a
+ very simple case, such that the reference can be constructed without using
+ CSS transforms." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="padding: 25px">
+ <div style="height: 50px; width: 50px; background: lime;
+ transform: perspective(100px) translatez(50px)">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-007.htm
new file mode 100644
index 00000000000..1b341445201
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-007.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Perspective on Table Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that tables are correctly affected
+ by perspective on their parent. It's motivated by a real-world
+ implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=726601>." name="assert">
+ <link href="reference/transform3d-perspective-001-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top;
+ display: table">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-008.htm
new file mode 100644
index 00000000000..09e27d4e613
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-008.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Perspective on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that perspective on a table only
+ affects its children, not the table itself. It's motivated by a real-world
+ implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=726601>." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top;
+ display: table; perspective: 1000px">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-009.htm
new file mode 100644
index 00000000000..a936b0ab58c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-009.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): 'perspective-origin' and translate()</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help">
+ <meta content="This tests that 'perspective' and
+ 'perspective-origin' have the same effect as an appropriately calculated
+ sequence of translate() and perspective(). The reference file's body has
+ a width of 400px and a height of 100px, so the perspective-origin should be
+ (200, 50). The transform-origin is 'top', which works out to (50, 0).
+ Thus we translate by (150, 50) to get the right origin." name="assert">
+ <link href="reference/transform3d-perspective-009-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: translate(150px, 50px) perspective(1000px) translate(-150px, -50px)
+ rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-origin-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-origin-001.htm
new file mode 100644
index 00000000000..89168c454a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-perspective-origin-001.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): perspective-origin</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help">
+ <meta content="This tests that 'perspective-origin: 0 0' is
+ the same as 'perspective-origin: top left', different from no
+ 'perspective-origin', and different from no perspective or no transform." name="assert">
+ <link href="reference/transform3d-perspective-origin-ref.htm" rel="match">
+ <link href="transform3d-rotatex-perspective-001.htm" rel="mismatch">
+ <link href="reference/transform3d-rotatex-ref.htm" rel="mismatch">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 0 0;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-001.htm
new file mode 100644
index 00000000000..2dbf1a38a5f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-001.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Preserve-3D</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This tests that if preserve-3d is specified,
+ four 45deg rotations equal one 180deg rotation." name="assert">
+ <link href="reference/transform3d-preserve3d-001-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-002.htm
new file mode 100644
index 00000000000..6e7ab7af0c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-002.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 1</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is the first in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; margin-left: 200px">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-003.htm
new file mode 100644
index 00000000000..1595038a308
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-003.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 2</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is the second in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="transform-style: preserve-3d; margin-left: 200px">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-004.htm
new file mode 100644
index 00000000000..fd06a49527a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-004.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 3</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is the third in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px); margin-left: 200px">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-005.htm
new file mode 100644
index 00000000000..d6a641563c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-005.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D With Transformed Grandparent and
+ Grandchild</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is the fourth in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px; transform-style: preserve-3d;
+ transform: translatex(200%)">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime; transform:
+ translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-006.htm
new file mode 100644
index 00000000000..0db55d107f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-006.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Two rotatex(), No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="rotatex(45deg) or rotatex(-45deg), by itself,
+ should both just scale down the element by a factor of sqrt(2) (and perhaps
+ shift it, depending on 'transform-origin'). Without 'transform-style:
+ preserve-3d', the rotations on parent and child shouldn't cancel, so its
+ height should be halved with no other effect." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-007.htm
new file mode 100644
index 00000000000..a623dbfed0a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-007.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Two rotatey(), No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is identical to
+ transform3d-preserve3d-006.html, except with rotatey() instead of
+ rotatex()." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg); transform-origin: left">
+ <div style="transform: rotatey(-45deg); transform-origin: left;
+ height: 100px; width: 200px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-008.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-008.htm
new file mode 100644
index 00000000000..a696cabd6d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-008.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: hidden'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is identical to
+ transform3d-preserve3d-006.html, except that it has 'transform-style:
+ preserve-3d; overflow: hidden' specified on the parent element.
+ 'transform-style: preserve-3d' would normally make the result different,
+ but 'overflow: hidden' overrides its effect and causes it to work the same
+ as 'transform-style: flat'." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: hidden">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-009.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-009.htm
new file mode 100644
index 00000000000..1f6386323db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-009.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: auto'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is identical to
+ transform3d-preserve3d-008.html, except with 'overflow: auto' instead of
+ 'hidden'." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: auto">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-010.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-010.htm
new file mode 100644
index 00000000000..66f26b1ea49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-010.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotatex() With Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This tests that two rotations of 22.5deg
+ properly add when preserve-3d is used. The result, a 45deg rotation around
+ the X-axis, should be equivalent to shrinking the height by a factor of
+ sqrt(2), i.e., 1.41421356...." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ <style>
+ div {
+ transform: rotatex(22.5deg);
+ transform-origin: top;
+ }
+ </style>
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="height: 141.421356px; width: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-011.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-011.htm
new file mode 100644
index 00000000000..cb434762d43
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-011.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D With 90-Degree Rotation</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This tests that when preserve-3d is specified,
+ a 90-degree rotation on the parent plus a 90-degree rotation on the child
+ cancel out, adding to a 180-degree rotation (which has no visible effect on
+ a lime square). scale(2) is added to ensure that the test doesn't pass if
+ the transforms are just ignored." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body style="padding:25px">
+ <div style="transform: rotatex(90deg); transform-style: preserve-3d">
+ <div style="transform: rotatex(90deg) scale(2); width: 50px; height: 50px;
+ background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-012.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-012.htm
new file mode 100644
index 00000000000..685f971a8dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-012.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): 90-Degree Rotations Without Preserve-3D</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This tests that two 90-degree rotations with
+ the default 'transform-style: flat' do not add together to form a
+ 180-degree rotation. Instead, the first causes the contents to vanish and
+ the second does not restore them." name="assert">
+ <link href="reference/transform-blank-ref.htm" rel="match">
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div style="transform: rotatex(90deg);">
+ <div style="transform: rotatex(90deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-013.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-013.htm
new file mode 100644
index 00000000000..2f4f635e87d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-preserve3d-013.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: scroll'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <meta content="This is identical to
+ transform3d-preserve3d-008.html, except with 'overflow: scroll' instead of
+ 'hidden'. (Note that the ref is nontrivial, because the scrollbar has to
+ be scaled appropriately.)" name="assert">
+ <link href="reference/transform3d-preserve3d-013-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: scroll">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-001.htm
new file mode 100644
index 00000000000..bf123f84f6b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-001.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate3d(1, 0, 0, 45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d" rel="help">
+ <meta content="This tests that rotate3d(1, 0, 0, 45deg) is
+ the same as rotatex(45deg)." name="assert">
+ <link href="reference/transform3d-rotatex-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: rotate3d(1, 0, 0, 45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-002.htm
new file mode 100644
index 00000000000..e99780b339b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotate3d-002.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotate3d(0, 1, 0, 45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d" rel="help">
+ <meta content="This tests that rotate3d(0, 1, 0, 45deg) is
+ the same as rotatey(45deg)." name="assert">
+ <link href="reference/transform3d-rotatey-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: rotate3d(0, 1, 0, 45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-001.htm
new file mode 100644
index 00000000000..e933730f078
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-001.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotatex(45deg) rotatey(360deg)
+ rotatex(360deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help">
+ <meta content="This tests that rotatex(45deg) rotatey(360deg)
+ rotatex(360deg) is the same as rotatex(45deg)." name="assert">
+ <link href="reference/transform3d-rotatex-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg) rotatey(360deg) rotatex(360deg);
+ width: 100px; height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-001.htm
new file mode 100644
index 00000000000..8b39e8d6812
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-001.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): perspective(1000px) rotatex(45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-perspective" rel="help">
+ <meta content="This tests that perspective() has some effect
+ when combined with rotatex() (i.e., is not equivalent to simply omitting
+ the perspective)." name="assert">
+ <link href="reference/transform3d-rotatex-ref.htm" rel="mismatch">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: perspective(1000px) rotatex(45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-002.htm
new file mode 100644
index 00000000000..84a819e5ccb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-002.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotatex() and 'perspective'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests that 'perspective' has some effect
+ when combined with rotatex() (i.e., is not equivalent to simply omitting
+ the perspective)." name="assert">
+ <link href="reference/transform3d-rotatex-ref.htm" rel="mismatch">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-003.htm
new file mode 100644
index 00000000000..aa9da0407ea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-perspective-003.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): 'perspective' and 'opacity'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help">
+ <meta content="This tests for a real-world implementation
+ bug: see <https://bugzilla.mozilla.org/show_bug.cgi?id=707563>. The only
+ difference between the test and reference is 'opacity: 0.9999', which should
+ not affect anything in the test." name="assert">
+ <link href="reference/transform3d-rotatex-perspective-ref.htm" rel="match">
+ <link href="reference/transform3d-rotatex-perspective-notref.htm" rel="mismatch">
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+
+ perspective: 500px;
+ opacity: 0.9999;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+
+ transform: rotateY(40deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-transformorigin-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-transformorigin-001.htm
new file mode 100644
index 00000000000..2eaf2b50f32
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatex-transformorigin-001.htm
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotateX() with 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help">
+ <meta content="This tests that rotateX(45deg) has the same
+ effect (with perspective) with a top left origin and a top right origin.
+ It should make no difference, because it doesn't change the axis of
+ rotation: it's still the top. (This doesn't actually test the perspective
+ property, since a UA that doesn't support perspective at all could still
+ pass.)" name="assert">
+ <link href="reference/transform3d-rotatex-transformorigin-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); transform-origin: top left;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatey-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatey-001.htm
new file mode 100644
index 00000000000..03e1ffee175
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-rotatey-001.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotateY(45deg) rotateY(360deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey" rel="help">
+ <meta content="This tests that rotateY(45deg) rotateY(360deg)
+ has the same effect as just rotateY(45deg)." name="assert">
+ <link href="reference/transform3d-rotatey-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg) rotatey(360deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-001.htm
new file mode 100644
index 00000000000..2af63ef64da
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-001.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale3d(2, 2, 2)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <meta content="This tests that scale3d(2, 2, 2) on some text
+ has the same effect as scaleX(2) scaleY(2). The Z part should be
+ irrelevant, because the text is flat." name="assert">
+ <link href="reference/transform3d-scale-001-ref.htm" rel="match">
+ <link href="reference/transform3d-scale-001-notref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: scale3D(2,2,2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-002.htm
new file mode 100644
index 00000000000..a98a96e1361
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-002.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotatex(90deg) scale3d(2, 1, 2)
+ rotatex(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <meta content="This tests that rotatex(90deg)
+ scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2).
+ Conjugating by the rotation swaps the Y and Z coordinates for the scale." name="assert">
+ <link href="reference/transform3d-scale-001-ref.htm" rel="match">
+ <link href="reference/transform3d-scale-001-notref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scale3D(2,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-003.htm
new file mode 100644
index 00000000000..dec3fa7c6fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-003.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scaleX(2) scaleY(2) scaleZ(2)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <meta content="This is the same as
+ transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2)
+ scaleZ(2) instead of scale3D(2, 2, 2)." name="assert">
+ <link href="reference/transform3d-scale-001-ref.htm" rel="match">
+ <link href="reference/transform3d-scale-001-notref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: scaleX(2) scaleY(2) scaleZ(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-004.htm
new file mode 100644
index 00000000000..c332b83d1d3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-004.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): scale3d(2, 2, 0)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help">
+ <meta content="This tests that scale3d(2, 2, 0), being
+ singular, causes the contents not to display." name="assert">
+ <link href="reference/transform-blank-ref.htm" rel="match">
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div style="transform: scale3d(2, 2, 0); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-005.htm
new file mode 100644
index 00000000000..a277e5bcb3c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-005.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotateX(90deg) scale3d(1, 1, 2)
+ rotateX(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <meta content="This tests that rotateX(90deg)
+ scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by
+ the rotation swaps the Y and Z coordinates for the scale." name="assert">
+ <link href="reference/transform3d-scale-005-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scale3D(1,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-006.htm
new file mode 100644
index 00000000000..37ca6b8dd07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-006.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotateX(90deg) scaleZ(2)
+ rotateX(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help">
+ <meta content="This is identical to
+ transform3d-scale-005-ref.html, except with scaleZ(2) instead of
+ scale3d(1, 1, 2)." name="assert">
+ <link href="reference/transform3d-scale-005-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scaleZ(2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-007.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-007.htm
new file mode 100644
index 00000000000..05af18bd921
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-scale-007.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): rotateX(180deg) scaleZ(-1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <meta content="This tests that rotateX(180deg) scaleZ(-1) is
+ the same as scaleY(-1). (The scaleZ(-1) should have no effect here.)" name="assert">
+ <link href="reference/transform3d-scale-007-ref.htm" rel="match">
+ <link href="reference/transform3d-scale-001-notref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: rotatex(180deg) scaleZ(-1); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-001.htm
new file mode 100644
index 00000000000..b470d944528
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-001.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Sorting</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <meta content="The red box here is translated in the negative
+ Z-direction, so it should render beneath the lime box even though it comes
+ later in DOM order." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style:preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(-10px) translatey(-100px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-002.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-002.htm
new file mode 100644
index 00000000000..d4c65bb4e6e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-002.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Sorting With Rotation</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <meta content="The red box here is translated to the same
+ extent as the lime box, so they should render in stacking context order:
+ the lime box is on top, because it's later in the DOM. But then we apply
+ rotatex(180deg) to the whole thing, so the lime box should wind up on top
+ in the end." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; transform: rotatex(180deg)">
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px) translatey(100px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(10px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-003.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-003.htm
new file mode 100644
index 00000000000..510703a572f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-003.htm
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Sorting With No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <meta content="The red box here is translated to above the
+ lime box, but they aren't in the same 3D rendering context, so they should
+ be drawn in DOM order regardless: lime box on top." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(-10px) translatey(-100px)"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-004.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-004.htm
new file mode 100644
index 00000000000..54b3072b7a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-004.htm
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Simple Sorting With Preserve-3D on
+ Grandparent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <meta content="This is the same as
+ transform3d-sorting-003.html, except with two wrapper divs.
+ 'transform-style: preserve-3d' only affects children, not grandchildren, so
+ the two divs with backgrounds are still in different rendering contexts and
+ the Z-position should still not affect stacking." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(-10px) translatey(-100px)"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-005.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-005.htm
new file mode 100644
index 00000000000..f29159b0a2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-005.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Sorting With Background on Parent</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <meta content="This tests that if a parent has
+ 'transform-style: preserve-3d', it's in the same rendering context as its
+ children. Thus the translateZ(10px) puts the child above it, and the
+ rotateX(180deg) puts it below, so the lime parent is rendered on top." name="assert">
+ <link href="reference/transform-lime-square-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; transform: rotateX(180deg);
+ width: 100px; height: 100px; background: lime">
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-006.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-006.htm
new file mode 100644
index 00000000000..3348f7b1671
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-sorting-006.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Sorting With Intersection</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <meta content="This tests that when two boxes intersect in a
+ simple fashion, they're rendered according to Newell's algorithm." name="assert">
+ <link href="reference/transform3d-sorting-006-ref.htm" rel="match">
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="height: 100px; width: 100px; background: red;
+ transform: rotateX(45deg) rotateY(45deg)"></div>
+ <div style="height: 100px; width: 100px; background: green;
+ transform: translateY(-100px) rotateX(45deg) rotateY(-45deg)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translate3d-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translate3d-001.htm
new file mode 100644
index 00000000000..648272f6169
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translate3d-001.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translate3d() vs. 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate3d" rel="help">
+ <meta content="This tests that translate3d() before and after
+ rotatex() is the same as an equivalent 'transform-origin'." name="assert">
+ <link href="reference/transform3d-translate3d-ref.htm" rel="match">
+ <link href="reference/transform-lime-square-ref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="transform: translate3d(10px, 30px, -10px) rotatex(45deg)
+ translate3d(-10px, -30px, 10px); transform-origin: 0 0 0; width: 100px;
+ height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translatez-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translatez-001.htm
new file mode 100644
index 00000000000..c677b280093
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform3d-translatez-001.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): translatez() vs. 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatez" rel="help">
+ <meta content="This tests that translatez(+-10px) before and
+ after rotatex() is the same as an equivalent 'transform-origin', and
+ different from translatez(+-20px)." name="assert">
+ <link href="reference/transform3d-translatez-ref.htm" rel="match">
+ <link href="reference/transform3d-translatez-notref.htm" rel="mismatch">
+ </head>
+ <body>
+ <div style="transform: translatez(-10px) rotatex(45deg) translatez(10px); transform-origin: 0 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_invalid_prefixed.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_invalid_prefixed.htm
new file mode 100644
index 00000000000..63124d9259d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_invalid_prefixed.htm
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate with invalid translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="Check if transform sets translate(null, null) that an expection is to be thrown" name="assert">
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(null, null)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(null, null)";
+ document.getElementById("test").style.msTransform = "translate(null, null)";
+ document.getElementById("test").style.oTransform = "translate(null, null)";
+ document.getElementById("test").style.transform = "translate(null, null)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(null, null)")},
+ "transform_translate_null_null");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_max_prefixed.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_max_prefixed.htm
new file mode 100644
index 00000000000..cfaa3cf4e4f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_max_prefixed.htm
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate with maximum translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown" name="assert">
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(INFINITE, INFINITE)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.msTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.oTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.transform = "translate(INFINITE, INFINITE)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(INFINITE, INFINITE)")},
+ "transform_translate_max");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_min_prefixed.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_min_prefixed.htm
new file mode 100644
index 00000000000..3c7e991a3b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_min_prefixed.htm
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate with minimum translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown" name="assert">
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(-INFINITE, -INFINITE)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.msTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.oTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.transform = "translate(-INFINITE, -INFINITE)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(-INFINITE, -INFINITE)")},
+ "transform_translate_min_prefixed");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_neg_prefixed.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_neg_prefixed.htm
new file mode 100644
index 00000000000..5267b7af233
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_neg_prefixed.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate with negative translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="Check if transform supports translate(-1px, -1px)" name="assert">
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(-1px, -1px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.msTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.oTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.transform = "translate(-1px, -1px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(-1px, -1px)",
+ "transform should be translate(-1px, - 1px)")},
+ "transform_translate_-1px_-1px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_prefixed.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_prefixed.htm
new file mode 100644
index 00000000000..3e576a34e00
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_prefixed.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="Check if transform supports translate(100px, 100px)" name="assert">
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(100px, 100px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.msTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.oTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.transform = "translate(100px, 100px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(100px, 100px)",
+ "transform should be translate(100px, 100px)")},
+ "transform_translate_100px_100px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_second_omited_prefixed.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_second_omited_prefixed.htm
new file mode 100644
index 00000000000..7a342b9010a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_second_omited_prefixed.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate with second translation value omited</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="Check if transform supports translate(100px)" name="assert">
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(100px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(100px)";
+ document.getElementById("test").style.msTransform = "translate(100px)";
+ document.getElementById("test").style.oTransform = "translate(100px)";
+ document.getElementById("test").style.transform = "translate(100px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(100px)",
+ "transform should be translate(100px)")},
+ "transform_translate_100px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_zero_prefixed.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_zero_prefixed.htm
new file mode 100644
index 00000000000..c93fc62d5e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transform_translate_zero_prefixed.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="http://www.intel.com" rel="author" title="Intel">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <meta content="dom" name="flags">
+ <meta content="Check if transform supports translate(0, 0)" name="assert">
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(0, 0)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(0, 0)";
+ document.getElementById("test").style.msTransform = "translate(0, 0)";
+ document.getElementById("test").style.oTransform = "translate(0, 0)";
+ document.getElementById("test").style.transform = "translate(0, 0)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(0px, 0px)",
+ "transform should be translate(0px, 0px)")},
+ "transform_translate_0_0");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-degree-90.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-degree-90.htm
new file mode 100644
index 00000000000..54916052c1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-degree-90.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/transforms-rotate-degree-90-ref.htm" rel="match">
+ <meta content="If the rotate with parameter not provided, greenRectangle will not cover redRectangle." name="assert">
+ <style type="text/css">
+ .greenRectangle {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 100px;
+ background: green;
+ transform: rotate(90deg);
+ }
+
+ .redRectangl {
+ position: absolute;
+ top: 75px;
+ left: 125px;
+ width: 100px;
+ height: 150px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="redRectangl"></div>
+ <div class="greenRectangle"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-translate-scale.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-translate-scale.htm
new file mode 100644
index 00000000000..e6a99a57534
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotate-translate-scale.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with scale function and rotate function with one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/transforms-rotate-translate-scale-ref.htm" rel="match">
+ <meta content="If the rotate and scale with parameter not provided, greenSquare will not cover redSquare." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translate(75px, 75px) scale(1.5, 1.5) rotate(90deg) ;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotateY-degree-60.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotateY-degree-60.htm
new file mode 100644
index 00000000000..4b16463bc5f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-rotateY-degree-60.htm
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/transforms-rotateY-degree-60-ref.htm" rel="match">
+ <style>
+ div {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ height: 100px;
+ width: 100px;
+ }
+
+ .transformed {
+ background-color: white;
+ transform: rotateY(60deg);
+ }
+
+ .back {
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green rectangles.</p>
+ <div class="back"></div>
+ <div class="transformed"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewX.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewX.htm
new file mode 100644
index 00000000000..fd36c70e549
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewX.htm
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with skew function for X axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/transforms-skewX-ref.htm" rel="match">
+ <meta content="If the skew for X axis not provided, greenSquare will not cover redSquare." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: skew(45deg,0deg);
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 125px;
+ left: 200px;
+ width: 25px;
+ height: 25px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a parallelogram and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewY.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewY.htm
new file mode 100644
index 00000000000..43800c20312
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transforms-skewY.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with skew function for Y axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai">
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen"> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/transforms-skewY-ref.htm" rel="match">
+ <meta content="If the skew for Y axis not provided, greenSquare will not cover redSquare." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: skew(0deg,45deg);
+ }
+ .redSquare {
+ position: absolute;
+ top: 200px;
+ left: 175px;
+ width: 25px;
+ height: 25px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green parallelogram and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/translate-optional-second-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/translate-optional-second-001.htm
new file mode 100644
index 00000000000..9a59d5570b4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/translate-optional-second-001.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms Test: transform property with translate function and one parameter</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/translate-optional-second-ref.htm" rel="match">
+ <meta content=" If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction." name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translate(100px);
+ }
+ .redSquare {
+ position: absolute;
+ top: 51px;
+ left: 101px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/translate.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/translate.htm
new file mode 100644
index 00000000000..938874d1555
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/translate.htm
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test translate</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc.">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <link href="reference/translate-ref.htm" rel="match">
+ <meta content="" name="flags">
+ <meta content="translate x, y " name="assert">
+ <style type="text/css">
+ .container {
+ border: 1px solid gray;
+ width: 300px;
+ height: 300px;
+ }
+
+ .inner {
+ z-index: 98;
+ position: relative;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+
+ //-webkit-transform: translate(100px, 100px);
+
+ //-o-transform:translate(100px, 100px) ;
+
+
+ transform: translate(100px, 100px);
+ }
+
+ .hidden {
+ z-index: 67;
+ position: relative;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only one green area, no red area</p>
+
+ <div class="container">
+
+ <div class="inner">
+ </div>
+ <div class="hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-preserve-3d-1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-preserve-3d-1.htm
new file mode 100644
index 00000000000..c079c8eaeba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-preserve-3d-1.htm
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform preserve-3d</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/transofrmed-preserve-3d-1-ref.htm" rel="match">
+ <meta content="The transformed div should establishe a 3D rendering context" name="assert">
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: red;
+ }
+ .transformed {
+ height: 300px;
+ position: relative;
+ top: -150px;
+ transform-origin: bottom left;
+ transform-style: preserve-3d;
+ transform: rotateX(60deg);
+ background-color: green;
+ }
+ .child {
+ transform-origin: top left;
+ transform: rotateX(30deg);
+ background-color: red;
+ }
+ </style>
+</head>
+
+<body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed">
+ <div class="child">
+ </div>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateX-3.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateX-3.htm
new file mode 100644
index 00000000000..ad412e9a704
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateX-3.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform rotateX</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/transofrmed-rotateX-3-ref.htm" rel="match">
+ <meta content="The transformed div should rotateX by 180 degrees" name="assert">
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: red;
+ }
+ .transformed {
+ transform-origin: top left;
+ transform: rotateX(180deg);
+ background-color: green;
+ position: relative;
+ top: 150px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed">
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateY-1.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateY-1.htm
new file mode 100644
index 00000000000..004e79a7d67
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/transofrmed-rotateY-1.htm
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform rotateY</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/transofrmed-rotateY-1-ref.htm" rel="match">
+ <meta content="The transformed div should rotate 90 degrees" name="assert">
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ border: 1px solid black;
+ background-color: green;
+ }
+ .transformed {
+ transform: rotateY(90deg);
+ background-color: red;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle-mismatch.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle-mismatch.htm
new file mode 100644
index 00000000000..e6fbf1a197c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle-mismatch.htm
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <!-- See also: http://http://en.wikipedia.org/wiki/Newell's_algorithm -->
+ <link href="reference/ttwf-css-3d-polygon-cycle-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's." name="assert">
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red0 {
+ background-color: red;
+ left: 6px;
+ width: 100px;
+ height: 50px;
+ }
+ #green0 {
+ background-color: green;
+ top: 6px;
+ width: 50px;
+ height: 100px;
+ }
+ #blue0 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ }
+ #red1 {
+ background-color: red;
+ width: 100px;
+ height: 50px;
+ }
+ #green1 {
+ background-color: green;
+ width: 50px;
+ height: 100px;
+ }
+ #blue1 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="blue0" class="rect"></div>
+ <div id="green0" class="rect"></div>
+ <div id="red0" class="rect"></div>
+ <div id="red1" class="rect"></div>
+ <div id="green1" class="rect"></div>
+ <div id="blue1" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle.htm
new file mode 100644
index 00000000000..5f459ebbd81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-css-3d-polygon-cycle.htm
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler">
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help">
+ <!-- See also: http://http://en.wikipedia.org/wiki/Newell's_algorithm -->
+ <link href="reference/ttwf-css-3d-polygon-cycle-ref.htm" rel="match">
+ <meta content="svg" name="flags">
+ <meta content="The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's." name="assert">
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red {
+ background-color: red;
+ width: 200px;
+ height: 50px;
+ transform: rotateY(20deg);
+ }
+ #green {
+ background-color: green;
+ width: 50px;
+ height: 200px;
+ transform: rotateX(20deg);
+ }
+ #blue {
+ background-color: blue;
+ width: 50px;
+ height: 200px;
+ transform: rotate(45deg) translate(50px, -50px) rotateX(-20deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="red" class="rect"></div>
+ <div id="green" class="rect"></div>
+ <div id="blue" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-reftest-rotate.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-reftest-rotate.htm
new file mode 100644
index 00000000000..df5e3ae51f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-reftest-rotate.htm
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transforms API Test: transform rotate</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help">
+ <link href="reference/ttwf-reftest-rotate-ref.htm" rel="match">
+ <meta content="The transform should rotate 180 degrees" name="assert">
+ <style type="text/css">
+ body {margin:0}
+ #greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ #redSquare {
+ position: absolute;
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ }
+ #rotateSquare {
+ position:absolute;
+ top: 0px;
+ left: -100px;
+ width: 200px;
+ height: 100px;
+ transform:rotate(180deg)
+ }
+ </style>
+
+</head>
+<body>
+
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div id="rotateSquare">
+ <div id="redSquare"></div>
+ <div id="greenSquare"></div>
+ </div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewx-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewx-001.htm
new file mode 100644
index 00000000000..9ebff219b14
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewx-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transform Using skewX() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/ttwf-reftest-transform-skewx-001.htm" rel="match">
+ <meta content="Test that the green shape is skew on X axis by 45 degrees" name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: skewX(45deg);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div>
+ <div class="redSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="100px" width="200px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 200 100">
+ <polygon points="200,100 100,100 0,0 100,0 " fill="red"></polygon>
+ </svg>
+ </div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewy-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewy-001.htm
new file mode 100644
index 00000000000..a1baaa4e3b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-skewy-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transform Using skewY() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/ttwf-reftest-transform-skewy-001.htm" rel="match">
+ <meta content="Test that the green shape is skew on Y axis by 45 degrees" name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: skewY(45deg);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div>
+ <div class="redSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="200px" width="100px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 100 200">
+ <polygon points="100,200 0,99.999 0,0 100,100 " fill="red"></polygon>
+ </svg>
+ </div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatex-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatex-001.htm
new file mode 100644
index 00000000000..4893d2bc837
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatex-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transform Using translateX() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/ttwf-reftest-transform-translatex-001.htm" rel="match">
+ <meta content="CSS Transform" name="flags">
+ <meta content="Test that the green square is moved on X axis 100px" name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: translateX(100px);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatey-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatey-001.htm
new file mode 100644
index 00000000000..c4e455c050c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/ttwf-transform-translatey-001.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Transform Using translateY() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help">
+ <link href="reference/ttwf-reftest-transform-translatey-001.htm" rel="match">
+ <meta content="CSS Transform" name="flags">
+ <meta content="Test that the green square is moved on Y axis 100px" name="assert">
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: translateY(100px);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 200px;
+ left: 100px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/html/video-001.htm b/tests/wpt/css-tests/css-transforms-1_dev/html/video-001.htm
new file mode 100644
index 00000000000..5661ea94b8a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/html/video-001.htm
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Regions: flowing a video in a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help">
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help">
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help">
+ <meta content="Test checks videos flowed in regions render smoothly and without artifacts." name="assert">
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see two identical videos playing smoothly.<br>
+ Test fails if you see a red rectangle or if videos are out of sync.</p>
+
+ <video width="432" muted="" autoplay="" class="flow" controls="" height="240">
+ <source src="support/big-buck-bunny-240p.mp4" type="video/mp4">
+ <source src="support/big-buck-bunny-240p.webm" type="video/webm">
+ <source src="support/big-buck-bunny-240p.ogv" type="video/ogg">
+ </video>
+ <video width="432" height="240" controls="" autoplay="">
+ <source src="support/big-buck-bunny-240p.mp4" type="video/mp4">
+ <source src="support/big-buck-bunny-240p.webm" type="video/webm">
+ <source src="support/big-buck-bunny-240p.ogv" type="video/ogg">
+ </video>
+ <div class="region">
+ <p>&nbsp;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/implementation-report-TEMPLATE.data b/tests/wpt/css-tests/css-transforms-1_dev/implementation-report-TEMPLATE.data
new file mode 100644
index 00000000000..7ec5b1e456d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/implementation-report-TEMPLATE.data
@@ -0,0 +1,2103 @@
+# UA version OS version
+# UA string (if applicable)
+# http://test.csswg.org/suites/css-transforms-1_dev/DATESTAMP/
+# See http://wiki.csswg.org/test/implementation-report for instructions
+testname result comment
+html4/2d-rotate-001.htm ?
+xhtml1/2d-rotate-001.xht ?
+html4/2d-rotate-js.htm ?
+xhtml1/2d-rotate-js.xht ?
+html4/animations-001.htm ?
+xhtml1/animations-001.xht ?
+html4/backface-visibility-hidden-001.htm ?
+xhtml1/backface-visibility-hidden-001.xht ?
+html4/canvas3d-001.htm ?
+xhtml1/canvas3d-001.xht ?
+html4/canvas3d-002.htm ?
+xhtml1/canvas3d-002.xht ?
+html4/css-rotate-2d-3d-001.htm ?
+xhtml1/css-rotate-2d-3d-001.xht ?
+html4/css-scale-nested-001.htm ?
+xhtml1/css-scale-nested-001.xht ?
+html4/css-skew-001.htm ?
+xhtml1/css-skew-001.xht ?
+html4/css-skew-002.htm ?
+xhtml1/css-skew-002.xht ?
+html4/css-transform-3d-rotate3d-x-negative.htm ?
+xhtml1/css-transform-3d-rotate3d-x-negative.xht ?
+html4/css-transform-3d-rotate3d-x-positive.htm ?
+xhtml1/css-transform-3d-rotate3d-x-positive.xht ?
+html4/css-transform-3d-rotate3d-y-negative.htm ?
+xhtml1/css-transform-3d-rotate3d-y-negative.xht ?
+html4/css-transform-3d-rotate3d-y-positive.htm ?
+xhtml1/css-transform-3d-rotate3d-y-positive.xht ?
+html4/css-transform-3d-rotate3d-z-negative.htm ?
+xhtml1/css-transform-3d-rotate3d-z-negative.xht ?
+html4/css-transform-3d-rotate3d-z-positive.htm ?
+xhtml1/css-transform-3d-rotate3d-z-positive.xht ?
+html4/css-transform-3d-rotatex-negative.htm ?
+xhtml1/css-transform-3d-rotatex-negative.xht ?
+html4/css-transform-3d-rotatex-positive.htm ?
+xhtml1/css-transform-3d-rotatex-positive.xht ?
+html4/css-transform-3d-rotatey-negative.htm ?
+xhtml1/css-transform-3d-rotatey-negative.xht ?
+html4/css-transform-3d-rotatey-positive.htm ?
+xhtml1/css-transform-3d-rotatey-positive.xht ?
+html4/css-transform-3d-rotatez-negative.htm ?
+xhtml1/css-transform-3d-rotatez-negative.xht ?
+html4/css-transform-3d-rotatez-positive.htm ?
+xhtml1/css-transform-3d-rotatez-positive.xht ?
+html4/css-transform-3d-transform-style.htm ?
+xhtml1/css-transform-3d-transform-style.xht ?
+html4/css-transform-inherit-rotate.htm ?
+xhtml1/css-transform-inherit-rotate.xht ?
+html4/css-transform-inherit-scale.htm ?
+xhtml1/css-transform-inherit-scale.xht ?
+html4/css-transform-property-existence.htm ?
+xhtml1/css-transform-property-existence.xht ?
+html4/css-transform-scale-001.htm ?
+xhtml1/css-transform-scale-001.xht ?
+html4/css-transform-scale-002.htm ?
+xhtml1/css-transform-scale-002.xht ?
+html4/css-transform-style-evaluation-validation.htm ?
+xhtml1/css-transform-style-evaluation-validation.xht ?
+html4/css-transforms-3d-on-anonymous-block-001.htm ?
+xhtml1/css-transforms-3d-on-anonymous-block-001.xht ?
+html4/css-transforms-transformlist.htm ?
+xhtml1/css-transforms-transformlist.xht ?
+html4/css3-transform-perspective.htm ?
+xhtml1/css3-transform-perspective.xht ?
+html4/css3-transform-rotatey.htm ?
+xhtml1/css3-transform-rotatey.xht ?
+html4/css3-transform-scale-002.htm ?
+xhtml1/css3-transform-scale-002.xht ?
+html4/css3-transform-scale.htm ?
+xhtml1/css3-transform-scale.xht ?
+html4/iframe-001.htm ?
+xhtml1/iframe-001.xht ?
+html4/perspective-origin-001.htm ?
+xhtml1/perspective-origin-001.xht ?
+html4/perspective-origin-002.htm ?
+xhtml1/perspective-origin-002.xht ?
+html4/perspective-origin-003.htm ?
+xhtml1/perspective-origin-003.xht ?
+html4/perspective-origin-004.htm ?
+xhtml1/perspective-origin-004.xht ?
+html4/perspective-origin-005.htm ?
+xhtml1/perspective-origin-005.xht ?
+html4/perspective-origin-006.htm ?
+xhtml1/perspective-origin-006.xht ?
+html4/perspective-origin-x.htm ?
+xhtml1/perspective-origin-x.xht ?
+html4/perspective-origin-xy.htm ?
+xhtml1/perspective-origin-xy.xht ?
+html4/perspective-translatez-0.htm ?
+xhtml1/perspective-translatez-0.xht ?
+html4/perspective-translatez-negative.htm ?
+xhtml1/perspective-translatez-negative.xht ?
+html4/perspective-translatez-positive.htm ?
+xhtml1/perspective-translatez-positive.xht ?
+html4/regions-transforms-001.htm ?
+xhtml1/regions-transforms-001.xht ?
+html4/regions-transforms-002.htm ?
+xhtml1/regions-transforms-002.xht ?
+html4/regions-transforms-003.htm ?
+xhtml1/regions-transforms-003.xht ?
+html4/regions-transforms-004.htm ?
+xhtml1/regions-transforms-004.xht ?
+html4/regions-transforms-005.htm ?
+xhtml1/regions-transforms-005.xht ?
+html4/regions-transforms-006.htm ?
+xhtml1/regions-transforms-006.xht ?
+html4/regions-transforms-007.htm ?
+xhtml1/regions-transforms-007.xht ?
+html4/regions-transforms-008.htm ?
+xhtml1/regions-transforms-008.xht ?
+html4/regions-transforms-009.htm ?
+xhtml1/regions-transforms-009.xht ?
+html4/regions-transforms-010.htm ?
+xhtml1/regions-transforms-010.xht ?
+html4/regions-transforms-011.htm ?
+xhtml1/regions-transforms-011.xht ?
+html4/regions-transforms-012.htm ?
+xhtml1/regions-transforms-012.xht ?
+html4/regions-transforms-013.htm ?
+xhtml1/regions-transforms-013.xht ?
+html4/regions-transforms-014.htm ?
+xhtml1/regions-transforms-014.xht ?
+html4/regions-transforms-015.htm ?
+xhtml1/regions-transforms-015.xht ?
+html4/regions-transforms-016.htm ?
+xhtml1/regions-transforms-016.xht ?
+html4/regions-transforms-017.htm ?
+xhtml1/regions-transforms-017.xht ?
+html4/regions-transforms-018.htm ?
+xhtml1/regions-transforms-018.xht ?
+html4/regions-transforms-019.htm ?
+xhtml1/regions-transforms-019.xht ?
+html4/regions-transforms-020.htm ?
+xhtml1/regions-transforms-020.xht ?
+html4/regions-transforms-021.htm ?
+xhtml1/regions-transforms-021.xht ?
+html4/regions-transforms-022.htm ?
+xhtml1/regions-transforms-022.xht ?
+html4/rotate-180-degrees-001.htm ?
+xhtml1/rotate-180-degrees-001.xht ?
+html4/rotate-270-degrees-001.htm ?
+xhtml1/rotate-270-degrees-001.xht ?
+html4/rotate-90-degrees-001.htm ?
+xhtml1/rotate-90-degrees-001.xht ?
+html4/rotate_45deg.htm ?
+xhtml1/rotate_45deg.xht ?
+html4/rotate_x_45deg.htm ?
+xhtml1/rotate_x_45deg.xht ?
+html4/rotate_y_45deg.htm ?
+xhtml1/rotate_y_45deg.xht ?
+html4/rotatey.htm ?
+xhtml1/rotatey.xht ?
+html4/scale-optional-second-001.htm ?
+xhtml1/scale-optional-second-001.xht ?
+html4/scale-zero-001.htm ?
+xhtml1/scale-zero-001.xht ?
+html4/scalex.htm ?
+xhtml1/scalex.xht ?
+html4/scaley.htm ?
+xhtml1/scaley.xht ?
+html4/skew-test1.htm ?
+xhtml1/skew-test1.xht ?
+html4/svg-document-styles-001.htm ?
+xhtml1/svg-document-styles-001.xht ?
+html4/svg-document-styles-002.htm ?
+xhtml1/svg-document-styles-002.xht ?
+html4/svg-document-styles-003.htm ?
+xhtml1/svg-document-styles-003.xht ?
+html4/svg-document-styles-004.htm ?
+xhtml1/svg-document-styles-004.xht ?
+html4/svg-document-styles-005.htm ?
+xhtml1/svg-document-styles-005.xht ?
+html4/svg-document-styles-006.htm ?
+xhtml1/svg-document-styles-006.xht ?
+html4/svg-document-styles-007.htm ?
+xhtml1/svg-document-styles-007.xht ?
+html4/svg-document-styles-008.htm ?
+xhtml1/svg-document-styles-008.xht ?
+html4/svg-document-styles-009.htm ?
+xhtml1/svg-document-styles-009.xht ?
+html4/svg-document-styles-010.htm ?
+xhtml1/svg-document-styles-010.xht ?
+html4/svg-document-styles-011.htm ?
+xhtml1/svg-document-styles-011.xht ?
+html4/svg-document-styles-012.htm ?
+xhtml1/svg-document-styles-012.xht ?
+html4/svg-document-styles-013.htm ?
+xhtml1/svg-document-styles-013.xht ?
+html4/svg-document-styles-014.htm ?
+xhtml1/svg-document-styles-014.xht ?
+html4/svg-external-styles-001.htm ?
+xhtml1/svg-external-styles-001.xht ?
+html4/svg-external-styles-002.htm ?
+xhtml1/svg-external-styles-002.xht ?
+html4/svg-external-styles-003.htm ?
+xhtml1/svg-external-styles-003.xht ?
+html4/svg-external-styles-004.htm ?
+xhtml1/svg-external-styles-004.xht ?
+html4/svg-external-styles-005.htm ?
+xhtml1/svg-external-styles-005.xht ?
+html4/svg-external-styles-006.htm ?
+xhtml1/svg-external-styles-006.xht ?
+html4/svg-external-styles-007.htm ?
+xhtml1/svg-external-styles-007.xht ?
+html4/svg-external-styles-008.htm ?
+xhtml1/svg-external-styles-008.xht ?
+html4/svg-external-styles-009.htm ?
+xhtml1/svg-external-styles-009.xht ?
+html4/svg-external-styles-010.htm ?
+xhtml1/svg-external-styles-010.xht ?
+html4/svg-external-styles-011.htm ?
+xhtml1/svg-external-styles-011.xht ?
+html4/svg-external-styles-012.htm ?
+xhtml1/svg-external-styles-012.xht ?
+html4/svg-external-styles-013.htm ?
+xhtml1/svg-external-styles-013.xht ?
+html4/svg-external-styles-014.htm ?
+xhtml1/svg-external-styles-014.xht ?
+html4/svg-gradienttransform-001.htm ?
+xhtml1/svg-gradienttransform-001.xht ?
+html4/svg-gradienttransform-002.htm ?
+xhtml1/svg-gradienttransform-002.xht ?
+html4/svg-gradienttransform-003.htm ?
+xhtml1/svg-gradienttransform-003.xht ?
+html4/svg-gradienttransform-004.htm ?
+xhtml1/svg-gradienttransform-004.xht ?
+html4/svg-gradienttransform-005.htm ?
+xhtml1/svg-gradienttransform-005.xht ?
+html4/svg-gradienttransform-006.htm ?
+xhtml1/svg-gradienttransform-006.xht ?
+html4/svg-gradienttransform-007.htm ?
+xhtml1/svg-gradienttransform-007.xht ?
+html4/svg-gradienttransform-008.htm ?
+xhtml1/svg-gradienttransform-008.xht ?
+html4/svg-gradienttransform-009.htm ?
+xhtml1/svg-gradienttransform-009.xht ?
+html4/svg-gradienttransform-010.htm ?
+xhtml1/svg-gradienttransform-010.xht ?
+html4/svg-gradienttransform-011.htm ?
+xhtml1/svg-gradienttransform-011.xht ?
+html4/svg-gradienttransform-012.htm ?
+xhtml1/svg-gradienttransform-012.xht ?
+html4/svg-gradienttransform-013.htm ?
+xhtml1/svg-gradienttransform-013.xht ?
+html4/svg-gradienttransform-014.htm ?
+xhtml1/svg-gradienttransform-014.xht ?
+html4/svg-gradienttransform-015.htm ?
+xhtml1/svg-gradienttransform-015.xht ?
+html4/svg-gradienttransform-016.htm ?
+xhtml1/svg-gradienttransform-016.xht ?
+html4/svg-gradienttransform-017.htm ?
+xhtml1/svg-gradienttransform-017.xht ?
+html4/svg-gradienttransform-018.htm ?
+xhtml1/svg-gradienttransform-018.xht ?
+html4/svg-gradienttransform-019.htm ?
+xhtml1/svg-gradienttransform-019.xht ?
+html4/svg-gradienttransform-020.htm ?
+xhtml1/svg-gradienttransform-020.xht ?
+html4/svg-gradienttransform-021.htm ?
+xhtml1/svg-gradienttransform-021.xht ?
+html4/svg-gradienttransform-022.htm ?
+xhtml1/svg-gradienttransform-022.xht ?
+html4/svg-gradienttransform-023.htm ?
+xhtml1/svg-gradienttransform-023.xht ?
+html4/svg-gradienttransform-024.htm ?
+xhtml1/svg-gradienttransform-024.xht ?
+html4/svg-gradienttransform-025.htm ?
+xhtml1/svg-gradienttransform-025.xht ?
+html4/svg-gradienttransform-026.htm ?
+xhtml1/svg-gradienttransform-026.xht ?
+html4/svg-gradienttransform-027.htm ?
+xhtml1/svg-gradienttransform-027.xht ?
+html4/svg-gradienttransform-028.htm ?
+xhtml1/svg-gradienttransform-028.xht ?
+html4/svg-gradienttransform-029.htm ?
+xhtml1/svg-gradienttransform-029.xht ?
+html4/svg-gradienttransform-030.htm ?
+xhtml1/svg-gradienttransform-030.xht ?
+html4/svg-gradienttransform-031.htm ?
+xhtml1/svg-gradienttransform-031.xht ?
+html4/svg-gradienttransform-032.htm ?
+xhtml1/svg-gradienttransform-032.xht ?
+html4/svg-gradienttransform-033.htm ?
+xhtml1/svg-gradienttransform-033.xht ?
+html4/svg-gradienttransform-034.htm ?
+xhtml1/svg-gradienttransform-034.xht ?
+html4/svg-gradienttransform-035.htm ?
+xhtml1/svg-gradienttransform-035.xht ?
+html4/svg-gradienttransform-036.htm ?
+xhtml1/svg-gradienttransform-036.xht ?
+html4/svg-gradienttransform-037.htm ?
+xhtml1/svg-gradienttransform-037.xht ?
+html4/svg-gradienttransform-038.htm ?
+xhtml1/svg-gradienttransform-038.xht ?
+html4/svg-gradienttransform-039.htm ?
+xhtml1/svg-gradienttransform-039.xht ?
+html4/svg-gradienttransform-040.htm ?
+xhtml1/svg-gradienttransform-040.xht ?
+html4/svg-gradienttransform-041.htm ?
+xhtml1/svg-gradienttransform-041.xht ?
+html4/svg-gradienttransform-042.htm ?
+xhtml1/svg-gradienttransform-042.xht ?
+html4/svg-gradienttransform-043.htm ?
+xhtml1/svg-gradienttransform-043.xht ?
+html4/svg-gradienttransform-044.htm ?
+xhtml1/svg-gradienttransform-044.xht ?
+html4/svg-gradienttransform-045.htm ?
+xhtml1/svg-gradienttransform-045.xht ?
+html4/svg-gradienttransform-046.htm ?
+xhtml1/svg-gradienttransform-046.xht ?
+html4/svg-gradienttransform-047.htm ?
+xhtml1/svg-gradienttransform-047.xht ?
+html4/svg-gradienttransform-048.htm ?
+xhtml1/svg-gradienttransform-048.xht ?
+html4/svg-gradienttransform-049.htm ?
+xhtml1/svg-gradienttransform-049.xht ?
+html4/svg-gradienttransform-combination-001.htm ?
+xhtml1/svg-gradienttransform-combination-001.xht ?
+html4/svg-gradienttransform-combination-002.htm ?
+xhtml1/svg-gradienttransform-combination-002.xht ?
+html4/svg-gradienttransform-combination-003.htm ?
+xhtml1/svg-gradienttransform-combination-003.xht ?
+html4/svg-gradienttransform-ex-unit-001.htm ?
+xhtml1/svg-gradienttransform-ex-unit-001.xht ?
+html4/svg-gradienttransform-ex-unit-002.htm ?
+xhtml1/svg-gradienttransform-ex-unit-002.xht ?
+html4/svg-gradienttransform-ex-unit-003.htm ?
+xhtml1/svg-gradienttransform-ex-unit-003.xht ?
+html4/svg-gradienttransform-ex-unit-004.htm ?
+xhtml1/svg-gradienttransform-ex-unit-004.xht ?
+html4/svg-gradienttransform-ex-unit-005.htm ?
+xhtml1/svg-gradienttransform-ex-unit-005.xht ?
+html4/svg-gradienttransform-ex-unit-006.htm ?
+xhtml1/svg-gradienttransform-ex-unit-006.xht ?
+html4/svg-gradienttransform-relative-001.htm ?
+xhtml1/svg-gradienttransform-relative-001.xht ?
+html4/svg-gradienttransform-relative-002.htm ?
+xhtml1/svg-gradienttransform-relative-002.xht ?
+html4/svg-gradienttransform-relative-003.htm ?
+xhtml1/svg-gradienttransform-relative-003.xht ?
+html4/svg-inline-styles-001.htm ?
+xhtml1/svg-inline-styles-001.xht ?
+html4/svg-inline-styles-002.htm ?
+xhtml1/svg-inline-styles-002.xht ?
+html4/svg-inline-styles-003.htm ?
+xhtml1/svg-inline-styles-003.xht ?
+html4/svg-inline-styles-004.htm ?
+xhtml1/svg-inline-styles-004.xht ?
+html4/svg-inline-styles-005.htm ?
+xhtml1/svg-inline-styles-005.xht ?
+html4/svg-inline-styles-006.htm ?
+xhtml1/svg-inline-styles-006.xht ?
+html4/svg-inline-styles-007.htm ?
+xhtml1/svg-inline-styles-007.xht ?
+html4/svg-inline-styles-008.htm ?
+xhtml1/svg-inline-styles-008.xht ?
+html4/svg-inline-styles-009.htm ?
+xhtml1/svg-inline-styles-009.xht ?
+html4/svg-inline-styles-010.htm ?
+xhtml1/svg-inline-styles-010.xht ?
+html4/svg-inline-styles-011.htm ?
+xhtml1/svg-inline-styles-011.xht ?
+html4/svg-inline-styles-012.htm ?
+xhtml1/svg-inline-styles-012.xht ?
+html4/svg-inline-styles-013.htm ?
+xhtml1/svg-inline-styles-013.xht ?
+html4/svg-inline-styles-014.htm ?
+xhtml1/svg-inline-styles-014.xht ?
+html4/svg-matrix-001.htm ?
+xhtml1/svg-matrix-001.xht ?
+html4/svg-matrix-002.htm ?
+xhtml1/svg-matrix-002.xht ?
+html4/svg-matrix-003.htm ?
+xhtml1/svg-matrix-003.xht ?
+html4/svg-matrix-004.htm ?
+xhtml1/svg-matrix-004.xht ?
+html4/svg-matrix-005.htm ?
+xhtml1/svg-matrix-005.xht ?
+html4/svg-matrix-006.htm ?
+xhtml1/svg-matrix-006.xht ?
+html4/svg-matrix-007.htm ?
+xhtml1/svg-matrix-007.xht ?
+html4/svg-matrix-008.htm ?
+xhtml1/svg-matrix-008.xht ?
+html4/svg-matrix-009.htm ?
+xhtml1/svg-matrix-009.xht ?
+html4/svg-matrix-010.htm ?
+xhtml1/svg-matrix-010.xht ?
+html4/svg-matrix-011.htm ?
+xhtml1/svg-matrix-011.xht ?
+html4/svg-matrix-012.htm ?
+xhtml1/svg-matrix-012.xht ?
+html4/svg-matrix-013.htm ?
+xhtml1/svg-matrix-013.xht ?
+html4/svg-matrix-014.htm ?
+xhtml1/svg-matrix-014.xht ?
+html4/svg-matrix-015.htm ?
+xhtml1/svg-matrix-015.xht ?
+html4/svg-matrix-016.htm ?
+xhtml1/svg-matrix-016.xht ?
+html4/svg-matrix-017.htm ?
+xhtml1/svg-matrix-017.xht ?
+html4/svg-matrix-018.htm ?
+xhtml1/svg-matrix-018.xht ?
+html4/svg-matrix-019.htm ?
+xhtml1/svg-matrix-019.xht ?
+html4/svg-matrix-020.htm ?
+xhtml1/svg-matrix-020.xht ?
+html4/svg-matrix-021.htm ?
+xhtml1/svg-matrix-021.xht ?
+html4/svg-matrix-022.htm ?
+xhtml1/svg-matrix-022.xht ?
+html4/svg-matrix-023.htm ?
+xhtml1/svg-matrix-023.xht ?
+html4/svg-matrix-024.htm ?
+xhtml1/svg-matrix-024.xht ?
+html4/svg-matrix-025.htm ?
+xhtml1/svg-matrix-025.xht ?
+html4/svg-matrix-026.htm ?
+xhtml1/svg-matrix-026.xht ?
+html4/svg-matrix-027.htm ?
+xhtml1/svg-matrix-027.xht ?
+html4/svg-matrix-028.htm ?
+xhtml1/svg-matrix-028.xht ?
+html4/svg-matrix-029.htm ?
+xhtml1/svg-matrix-029.xht ?
+html4/svg-matrix-030.htm ?
+xhtml1/svg-matrix-030.xht ?
+html4/svg-matrix-031.htm ?
+xhtml1/svg-matrix-031.xht ?
+html4/svg-matrix-032.htm ?
+xhtml1/svg-matrix-032.xht ?
+html4/svg-matrix-033.htm ?
+xhtml1/svg-matrix-033.xht ?
+html4/svg-matrix-034.htm ?
+xhtml1/svg-matrix-034.xht ?
+html4/svg-matrix-035.htm ?
+xhtml1/svg-matrix-035.xht ?
+html4/svg-matrix-036.htm ?
+xhtml1/svg-matrix-036.xht ?
+html4/svg-matrix-037.htm ?
+xhtml1/svg-matrix-037.xht ?
+html4/svg-matrix-038.htm ?
+xhtml1/svg-matrix-038.xht ?
+html4/svg-matrix-039.htm ?
+xhtml1/svg-matrix-039.xht ?
+html4/svg-matrix-040.htm ?
+xhtml1/svg-matrix-040.xht ?
+html4/svg-matrix-041.htm ?
+xhtml1/svg-matrix-041.xht ?
+html4/svg-matrix-042.htm ?
+xhtml1/svg-matrix-042.xht ?
+html4/svg-matrix-043.htm ?
+xhtml1/svg-matrix-043.xht ?
+html4/svg-matrix-044.htm ?
+xhtml1/svg-matrix-044.xht ?
+html4/svg-matrix-045.htm ?
+xhtml1/svg-matrix-045.xht ?
+html4/svg-matrix-046.htm ?
+xhtml1/svg-matrix-046.xht ?
+html4/svg-matrix-047.htm ?
+xhtml1/svg-matrix-047.xht ?
+html4/svg-matrix-048.htm ?
+xhtml1/svg-matrix-048.xht ?
+html4/svg-matrix-049.htm ?
+xhtml1/svg-matrix-049.xht ?
+html4/svg-matrix-050.htm ?
+xhtml1/svg-matrix-050.xht ?
+html4/svg-matrix-051.htm ?
+xhtml1/svg-matrix-051.xht ?
+html4/svg-matrix-052.htm ?
+xhtml1/svg-matrix-052.xht ?
+html4/svg-matrix-053.htm ?
+xhtml1/svg-matrix-053.xht ?
+html4/svg-matrix-054.htm ?
+xhtml1/svg-matrix-054.xht ?
+html4/svg-matrix-055.htm ?
+xhtml1/svg-matrix-055.xht ?
+html4/svg-matrix-056.htm ?
+xhtml1/svg-matrix-056.xht ?
+html4/svg-matrix-057.htm ?
+xhtml1/svg-matrix-057.xht ?
+html4/svg-matrix-058.htm ?
+xhtml1/svg-matrix-058.xht ?
+html4/svg-matrix-059.htm ?
+xhtml1/svg-matrix-059.xht ?
+html4/svg-matrix-060.htm ?
+xhtml1/svg-matrix-060.xht ?
+html4/svg-matrix-061.htm ?
+xhtml1/svg-matrix-061.xht ?
+html4/svg-matrix-062.htm ?
+xhtml1/svg-matrix-062.xht ?
+html4/svg-matrix-063.htm ?
+xhtml1/svg-matrix-063.xht ?
+html4/svg-matrix-064.htm ?
+xhtml1/svg-matrix-064.xht ?
+html4/svg-matrix-065.htm ?
+xhtml1/svg-matrix-065.xht ?
+html4/svg-matrix-066.htm ?
+xhtml1/svg-matrix-066.xht ?
+html4/svg-matrix-067.htm ?
+xhtml1/svg-matrix-067.xht ?
+html4/svg-matrix-068.htm ?
+xhtml1/svg-matrix-068.xht ?
+html4/svg-matrix-069.htm ?
+xhtml1/svg-matrix-069.xht ?
+html4/svg-origin-length-001.htm ?
+xhtml1/svg-origin-length-001.xht ?
+html4/svg-origin-length-002.htm ?
+xhtml1/svg-origin-length-002.xht ?
+html4/svg-origin-length-003.htm ?
+xhtml1/svg-origin-length-003.xht ?
+html4/svg-origin-length-004.htm ?
+xhtml1/svg-origin-length-004.xht ?
+html4/svg-origin-length-005.htm ?
+xhtml1/svg-origin-length-005.xht ?
+html4/svg-origin-length-006.htm ?
+xhtml1/svg-origin-length-006.xht ?
+html4/svg-origin-length-007.htm ?
+xhtml1/svg-origin-length-007.xht ?
+html4/svg-origin-length-008.htm ?
+xhtml1/svg-origin-length-008.xht ?
+html4/svg-origin-length-cm-001.htm ?
+xhtml1/svg-origin-length-cm-001.xht ?
+html4/svg-origin-length-cm-002.htm ?
+xhtml1/svg-origin-length-cm-002.xht ?
+html4/svg-origin-length-cm-003.htm ?
+xhtml1/svg-origin-length-cm-003.xht ?
+html4/svg-origin-length-cm-004.htm ?
+xhtml1/svg-origin-length-cm-004.xht ?
+html4/svg-origin-length-cm-005.htm ?
+xhtml1/svg-origin-length-cm-005.xht ?
+html4/svg-origin-length-in-001.htm ?
+xhtml1/svg-origin-length-in-001.xht ?
+html4/svg-origin-length-in-002.htm ?
+xhtml1/svg-origin-length-in-002.xht ?
+html4/svg-origin-length-in-003.htm ?
+xhtml1/svg-origin-length-in-003.xht ?
+html4/svg-origin-length-in-004.htm ?
+xhtml1/svg-origin-length-in-004.xht ?
+html4/svg-origin-length-in-005.htm ?
+xhtml1/svg-origin-length-in-005.xht ?
+html4/svg-origin-length-pt-001.htm ?
+xhtml1/svg-origin-length-pt-001.xht ?
+html4/svg-origin-length-pt-002.htm ?
+xhtml1/svg-origin-length-pt-002.xht ?
+html4/svg-origin-length-pt-003.htm ?
+xhtml1/svg-origin-length-pt-003.xht ?
+html4/svg-origin-length-pt-004.htm ?
+xhtml1/svg-origin-length-pt-004.xht ?
+html4/svg-origin-length-pt-005.htm ?
+xhtml1/svg-origin-length-pt-005.xht ?
+html4/svg-origin-relative-length-001.htm ?
+xhtml1/svg-origin-relative-length-001.xht ?
+html4/svg-origin-relative-length-002.htm ?
+xhtml1/svg-origin-relative-length-002.xht ?
+html4/svg-origin-relative-length-003.htm ?
+xhtml1/svg-origin-relative-length-003.xht ?
+html4/svg-origin-relative-length-004.htm ?
+xhtml1/svg-origin-relative-length-004.xht ?
+html4/svg-origin-relative-length-005.htm ?
+xhtml1/svg-origin-relative-length-005.xht ?
+html4/svg-origin-relative-length-006.htm ?
+xhtml1/svg-origin-relative-length-006.xht ?
+html4/svg-origin-relative-length-007.htm ?
+xhtml1/svg-origin-relative-length-007.xht ?
+html4/svg-origin-relative-length-008.htm ?
+xhtml1/svg-origin-relative-length-008.xht ?
+html4/svg-origin-relative-length-009.htm ?
+xhtml1/svg-origin-relative-length-009.xht ?
+html4/svg-origin-relative-length-010.htm ?
+xhtml1/svg-origin-relative-length-010.xht ?
+html4/svg-origin-relative-length-011.htm ?
+xhtml1/svg-origin-relative-length-011.xht ?
+html4/svg-origin-relative-length-012.htm ?
+xhtml1/svg-origin-relative-length-012.xht ?
+html4/svg-origin-relative-length-013.htm ?
+xhtml1/svg-origin-relative-length-013.xht ?
+html4/svg-origin-relative-length-014.htm ?
+xhtml1/svg-origin-relative-length-014.xht ?
+html4/svg-origin-relative-length-015.htm ?
+xhtml1/svg-origin-relative-length-015.xht ?
+html4/svg-origin-relative-length-016.htm ?
+xhtml1/svg-origin-relative-length-016.xht ?
+html4/svg-origin-relative-length-017.htm ?
+xhtml1/svg-origin-relative-length-017.xht ?
+html4/svg-origin-relative-length-018.htm ?
+xhtml1/svg-origin-relative-length-018.xht ?
+html4/svg-origin-relative-length-019.htm ?
+xhtml1/svg-origin-relative-length-019.xht ?
+html4/svg-origin-relative-length-020.htm ?
+xhtml1/svg-origin-relative-length-020.xht ?
+html4/svg-origin-relative-length-021.htm ?
+xhtml1/svg-origin-relative-length-021.xht ?
+html4/svg-origin-relative-length-022.htm ?
+xhtml1/svg-origin-relative-length-022.xht ?
+html4/svg-origin-relative-length-023.htm ?
+xhtml1/svg-origin-relative-length-023.xht ?
+html4/svg-origin-relative-length-024.htm ?
+xhtml1/svg-origin-relative-length-024.xht ?
+html4/svg-origin-relative-length-025.htm ?
+xhtml1/svg-origin-relative-length-025.xht ?
+html4/svg-origin-relative-length-026.htm ?
+xhtml1/svg-origin-relative-length-026.xht ?
+html4/svg-origin-relative-length-027.htm ?
+xhtml1/svg-origin-relative-length-027.xht ?
+html4/svg-origin-relative-length-028.htm ?
+xhtml1/svg-origin-relative-length-028.xht ?
+html4/svg-origin-relative-length-029.htm ?
+xhtml1/svg-origin-relative-length-029.xht ?
+html4/svg-origin-relative-length-030.htm ?
+xhtml1/svg-origin-relative-length-030.xht ?
+html4/svg-origin-relative-length-031.htm ?
+xhtml1/svg-origin-relative-length-031.xht ?
+html4/svg-origin-relative-length-032.htm ?
+xhtml1/svg-origin-relative-length-032.xht ?
+html4/svg-origin-relative-length-033.htm ?
+xhtml1/svg-origin-relative-length-033.xht ?
+html4/svg-origin-relative-length-034.htm ?
+xhtml1/svg-origin-relative-length-034.xht ?
+html4/svg-origin-relative-length-035.htm ?
+xhtml1/svg-origin-relative-length-035.xht ?
+html4/svg-origin-relative-length-036.htm ?
+xhtml1/svg-origin-relative-length-036.xht ?
+html4/svg-origin-relative-length-037.htm ?
+xhtml1/svg-origin-relative-length-037.xht ?
+html4/svg-origin-relative-length-038.htm ?
+xhtml1/svg-origin-relative-length-038.xht ?
+html4/svg-origin-relative-length-039.htm ?
+xhtml1/svg-origin-relative-length-039.xht ?
+html4/svg-origin-relative-length-040.htm ?
+xhtml1/svg-origin-relative-length-040.xht ?
+html4/svg-origin-relative-length-041.htm ?
+xhtml1/svg-origin-relative-length-041.xht ?
+html4/svg-origin-relative-length-042.htm ?
+xhtml1/svg-origin-relative-length-042.xht ?
+html4/svg-origin-relative-length-043.htm ?
+xhtml1/svg-origin-relative-length-043.xht ?
+html4/svg-origin-relative-length-044.htm ?
+xhtml1/svg-origin-relative-length-044.xht ?
+html4/svg-origin-relative-length-045.htm ?
+xhtml1/svg-origin-relative-length-045.xht ?
+html4/svg-origin-relative-length-046.htm ?
+xhtml1/svg-origin-relative-length-046.xht ?
+html4/svg-origin-relative-length-invalid-001.htm ?
+xhtml1/svg-origin-relative-length-invalid-001.xht ?
+html4/svg-origin-relative-length-invalid-002.htm ?
+xhtml1/svg-origin-relative-length-invalid-002.xht ?
+html4/svg-origin-relative-length-invalid-003.htm ?
+xhtml1/svg-origin-relative-length-invalid-003.xht ?
+html4/svg-origin-relative-length-invalid-004.htm ?
+xhtml1/svg-origin-relative-length-invalid-004.xht ?
+html4/svg-origin-relative-length-invalid-005.htm ?
+xhtml1/svg-origin-relative-length-invalid-005.xht ?
+html4/svg-origin-relative-length-invalid-006.htm ?
+xhtml1/svg-origin-relative-length-invalid-006.xht ?
+html4/svg-origin-relative-length-invalid-007.htm ?
+xhtml1/svg-origin-relative-length-invalid-007.xht ?
+html4/svg-origin-relative-length-invalid-008.htm ?
+xhtml1/svg-origin-relative-length-invalid-008.xht ?
+html4/svg-origin-relative-length-invalid-009.htm ?
+xhtml1/svg-origin-relative-length-invalid-009.xht ?
+html4/svg-origin-relative-length-invalid-010.htm ?
+xhtml1/svg-origin-relative-length-invalid-010.xht ?
+html4/svg-origin-relative-length-invalid-011.htm ?
+xhtml1/svg-origin-relative-length-invalid-011.xht ?
+html4/svg-origin-relative-length-invalid-012.htm ?
+xhtml1/svg-origin-relative-length-invalid-012.xht ?
+html4/svg-patterntransform-001.htm ?
+xhtml1/svg-patterntransform-001.xht ?
+html4/svg-patterntransform-002.htm ?
+xhtml1/svg-patterntransform-002.xht ?
+html4/svg-patterntransform-003.htm ?
+xhtml1/svg-patterntransform-003.xht ?
+html4/svg-patterntransform-004.htm ?
+xhtml1/svg-patterntransform-004.xht ?
+html4/svg-patterntransform-005.htm ?
+xhtml1/svg-patterntransform-005.xht ?
+html4/svg-patterntransform-006.htm ?
+xhtml1/svg-patterntransform-006.xht ?
+html4/svg-patterntransform-007.htm ?
+xhtml1/svg-patterntransform-007.xht ?
+html4/svg-patterntransform-008.htm ?
+xhtml1/svg-patterntransform-008.xht ?
+html4/svg-patterntransform-009.htm ?
+xhtml1/svg-patterntransform-009.xht ?
+html4/svg-patterntransform-010.htm ?
+xhtml1/svg-patterntransform-010.xht ?
+html4/svg-patterntransform-011.htm ?
+xhtml1/svg-patterntransform-011.xht ?
+html4/svg-patterntransform-012.htm ?
+xhtml1/svg-patterntransform-012.xht ?
+html4/svg-patterntransform-013.htm ?
+xhtml1/svg-patterntransform-013.xht ?
+html4/svg-patterntransform-014.htm ?
+xhtml1/svg-patterntransform-014.xht ?
+html4/svg-patterntransform-015.htm ?
+xhtml1/svg-patterntransform-015.xht ?
+html4/svg-patterntransform-016.htm ?
+xhtml1/svg-patterntransform-016.xht ?
+html4/svg-patterntransform-017.htm ?
+xhtml1/svg-patterntransform-017.xht ?
+html4/svg-patterntransform-018.htm ?
+xhtml1/svg-patterntransform-018.xht ?
+html4/svg-patterntransform-019.htm ?
+xhtml1/svg-patterntransform-019.xht ?
+html4/svg-patterntransform-020.htm ?
+xhtml1/svg-patterntransform-020.xht ?
+html4/svg-patterntransform-021.htm ?
+xhtml1/svg-patterntransform-021.xht ?
+html4/svg-patterntransform-022.htm ?
+xhtml1/svg-patterntransform-022.xht ?
+html4/svg-patterntransform-023.htm ?
+xhtml1/svg-patterntransform-023.xht ?
+html4/svg-patterntransform-024.htm ?
+xhtml1/svg-patterntransform-024.xht ?
+html4/svg-patterntransform-025.htm ?
+xhtml1/svg-patterntransform-025.xht ?
+html4/svg-patterntransform-026.htm ?
+xhtml1/svg-patterntransform-026.xht ?
+html4/svg-patterntransform-027.htm ?
+xhtml1/svg-patterntransform-027.xht ?
+html4/svg-patterntransform-028.htm ?
+xhtml1/svg-patterntransform-028.xht ?
+html4/svg-patterntransform-029.htm ?
+xhtml1/svg-patterntransform-029.xht ?
+html4/svg-patterntransform-030.htm ?
+xhtml1/svg-patterntransform-030.xht ?
+html4/svg-patterntransform-031.htm ?
+xhtml1/svg-patterntransform-031.xht ?
+html4/svg-patterntransform-032.htm ?
+xhtml1/svg-patterntransform-032.xht ?
+html4/svg-patterntransform-033.htm ?
+xhtml1/svg-patterntransform-033.xht ?
+html4/svg-patterntransform-034.htm ?
+xhtml1/svg-patterntransform-034.xht ?
+html4/svg-patterntransform-035.htm ?
+xhtml1/svg-patterntransform-035.xht ?
+html4/svg-patterntransform-036.htm ?
+xhtml1/svg-patterntransform-036.xht ?
+html4/svg-patterntransform-037.htm ?
+xhtml1/svg-patterntransform-037.xht ?
+html4/svg-patterntransform-038.htm ?
+xhtml1/svg-patterntransform-038.xht ?
+html4/svg-patterntransform-039.htm ?
+xhtml1/svg-patterntransform-039.xht ?
+html4/svg-patterntransform-040.htm ?
+xhtml1/svg-patterntransform-040.xht ?
+html4/svg-patterntransform-041.htm ?
+xhtml1/svg-patterntransform-041.xht ?
+html4/svg-patterntransform-042.htm ?
+xhtml1/svg-patterntransform-042.xht ?
+html4/svg-patterntransform-043.htm ?
+xhtml1/svg-patterntransform-043.xht ?
+html4/svg-patterntransform-044.htm ?
+xhtml1/svg-patterntransform-044.xht ?
+html4/svg-patterntransform-045.htm ?
+xhtml1/svg-patterntransform-045.xht ?
+html4/svg-patterntransform-046.htm ?
+xhtml1/svg-patterntransform-046.xht ?
+html4/svg-patterntransform-047.htm ?
+xhtml1/svg-patterntransform-047.xht ?
+html4/svg-patterntransform-048.htm ?
+xhtml1/svg-patterntransform-048.xht ?
+html4/svg-patterntransform-049.htm ?
+xhtml1/svg-patterntransform-049.xht ?
+html4/svg-patterntransform-combination-001.htm ?
+xhtml1/svg-patterntransform-combination-001.xht ?
+html4/svg-patterntransform-combination-002.htm ?
+xhtml1/svg-patterntransform-combination-002.xht ?
+html4/svg-patterntransform-combination-003.htm ?
+xhtml1/svg-patterntransform-combination-003.xht ?
+html4/svg-patterntransform-ex-unit-001.htm ?
+xhtml1/svg-patterntransform-ex-unit-001.xht ?
+html4/svg-patterntransform-ex-unit-002.htm ?
+xhtml1/svg-patterntransform-ex-unit-002.xht ?
+html4/svg-patterntransform-ex-unit-003.htm ?
+xhtml1/svg-patterntransform-ex-unit-003.xht ?
+html4/svg-patterntransform-ex-unit-004.htm ?
+xhtml1/svg-patterntransform-ex-unit-004.xht ?
+html4/svg-patterntransform-ex-unit-005.htm ?
+xhtml1/svg-patterntransform-ex-unit-005.xht ?
+html4/svg-patterntransform-ex-unit-006.htm ?
+xhtml1/svg-patterntransform-ex-unit-006.xht ?
+html4/svg-patterntransform-relative-001.htm ?
+xhtml1/svg-patterntransform-relative-001.xht ?
+html4/svg-patterntransform-relative-002.htm ?
+xhtml1/svg-patterntransform-relative-002.xht ?
+html4/svg-patterntransform-relative-003.htm ?
+xhtml1/svg-patterntransform-relative-003.xht ?
+html4/svg-rotate-3args-001.htm ?
+xhtml1/svg-rotate-3args-001.xht ?
+html4/svg-rotate-3args-002.htm ?
+xhtml1/svg-rotate-3args-002.xht ?
+html4/svg-rotate-3args-003.htm ?
+xhtml1/svg-rotate-3args-003.xht ?
+html4/svg-rotate-3args-004.htm ?
+xhtml1/svg-rotate-3args-004.xht ?
+html4/svg-rotate-3args-005.htm ?
+xhtml1/svg-rotate-3args-005.xht ?
+html4/svg-rotate-3args-006.htm ?
+xhtml1/svg-rotate-3args-006.xht ?
+html4/svg-rotate-3args-007.htm ?
+xhtml1/svg-rotate-3args-007.xht ?
+html4/svg-rotate-3args-008.htm ?
+xhtml1/svg-rotate-3args-008.xht ?
+html4/svg-rotate-3args-009.htm ?
+xhtml1/svg-rotate-3args-009.xht ?
+html4/svg-rotate-3args-010.htm ?
+xhtml1/svg-rotate-3args-010.xht ?
+html4/svg-rotate-3args-011.htm ?
+xhtml1/svg-rotate-3args-011.xht ?
+html4/svg-rotate-3args-012.htm ?
+xhtml1/svg-rotate-3args-012.xht ?
+html4/svg-rotate-3args-013.htm ?
+xhtml1/svg-rotate-3args-013.xht ?
+html4/svg-rotate-3args-014.htm ?
+xhtml1/svg-rotate-3args-014.xht ?
+html4/svg-rotate-3args-015.htm ?
+xhtml1/svg-rotate-3args-015.xht ?
+html4/svg-rotate-3args-016.htm ?
+xhtml1/svg-rotate-3args-016.xht ?
+html4/svg-rotate-3args-017.htm ?
+xhtml1/svg-rotate-3args-017.xht ?
+html4/svg-rotate-3args-018.htm ?
+xhtml1/svg-rotate-3args-018.xht ?
+html4/svg-rotate-3args-019.htm ?
+xhtml1/svg-rotate-3args-019.xht ?
+html4/svg-rotate-3args-020.htm ?
+xhtml1/svg-rotate-3args-020.xht ?
+html4/svg-rotate-3args-021.htm ?
+xhtml1/svg-rotate-3args-021.xht ?
+html4/svg-rotate-3args-022.htm ?
+xhtml1/svg-rotate-3args-022.xht ?
+html4/svg-rotate-3args-023.htm ?
+xhtml1/svg-rotate-3args-023.xht ?
+html4/svg-rotate-3args-invalid-001.htm ?
+xhtml1/svg-rotate-3args-invalid-001.xht ?
+html4/svg-rotate-3args-invalid-002.htm ?
+xhtml1/svg-rotate-3args-invalid-002.xht ?
+html4/svg-rotate-3args-invalid-003.htm ?
+xhtml1/svg-rotate-3args-invalid-003.xht ?
+html4/svg-rotate-3args-invalid-004.htm ?
+xhtml1/svg-rotate-3args-invalid-004.xht ?
+html4/svg-rotate-3args-invalid-005.htm ?
+xhtml1/svg-rotate-3args-invalid-005.xht ?
+html4/svg-rotate-angle-45-001.htm ?
+xhtml1/svg-rotate-angle-45-001.xht ?
+html4/svg-rotate-angle-45-002.htm ?
+xhtml1/svg-rotate-angle-45-002.xht ?
+html4/svg-rotate-angle-45-003.htm ?
+xhtml1/svg-rotate-angle-45-003.xht ?
+html4/svg-rotate-angle-45-004.htm ?
+xhtml1/svg-rotate-angle-45-004.xht ?
+html4/svg-rotate-angle-45-005.htm ?
+xhtml1/svg-rotate-angle-45-005.xht ?
+html4/svg-rotate-angle-45-006.htm ?
+xhtml1/svg-rotate-angle-45-006.xht ?
+html4/svg-rotate-angle-45-007.htm ?
+xhtml1/svg-rotate-angle-45-007.xht ?
+html4/svg-rotate-angle-45-008.htm ?
+xhtml1/svg-rotate-angle-45-008.xht ?
+html4/svg-rotate-angle-45-009.htm ?
+xhtml1/svg-rotate-angle-45-009.xht ?
+html4/svg-rotate-angle-45-010.htm ?
+xhtml1/svg-rotate-angle-45-010.xht ?
+html4/svg-rotate-angle-45-011.htm ?
+xhtml1/svg-rotate-angle-45-011.xht ?
+html4/svg-rotate-angle-45-012.htm ?
+xhtml1/svg-rotate-angle-45-012.xht ?
+html4/svg-rotate-angle-45-013.htm ?
+xhtml1/svg-rotate-angle-45-013.xht ?
+html4/svg-rotate-angle-45-014.htm ?
+xhtml1/svg-rotate-angle-45-014.xht ?
+html4/svg-rotate-angle-45-015.htm ?
+xhtml1/svg-rotate-angle-45-015.xht ?
+html4/svg-rotate-angle-45-016.htm ?
+xhtml1/svg-rotate-angle-45-016.xht ?
+html4/svg-rotate-angle-45-017.htm ?
+xhtml1/svg-rotate-angle-45-017.xht ?
+html4/svg-rotate-angle-45-018.htm ?
+xhtml1/svg-rotate-angle-45-018.xht ?
+html4/svg-rotate-angle-45-019.htm ?
+xhtml1/svg-rotate-angle-45-019.xht ?
+html4/svg-rotate-angle-45-020.htm ?
+xhtml1/svg-rotate-angle-45-020.xht ?
+html4/svg-rotate-angle-45-021.htm ?
+xhtml1/svg-rotate-angle-45-021.xht ?
+html4/svg-rotate-angle-45-022.htm ?
+xhtml1/svg-rotate-angle-45-022.xht ?
+html4/svg-rotate-angle-45-023.htm ?
+xhtml1/svg-rotate-angle-45-023.xht ?
+html4/svg-rotate-angle-45-024.htm ?
+xhtml1/svg-rotate-angle-45-024.xht ?
+html4/svg-rotate-angle-45-025.htm ?
+xhtml1/svg-rotate-angle-45-025.xht ?
+html4/svg-rotate-angle-90-001.htm ?
+xhtml1/svg-rotate-angle-90-001.xht ?
+html4/svg-rotate-angle-90-002.htm ?
+xhtml1/svg-rotate-angle-90-002.xht ?
+html4/svg-rotate-angle-90-003.htm ?
+xhtml1/svg-rotate-angle-90-003.xht ?
+html4/svg-rotate-angle-90-004.htm ?
+xhtml1/svg-rotate-angle-90-004.xht ?
+html4/svg-rotate-angle-90-005.htm ?
+xhtml1/svg-rotate-angle-90-005.xht ?
+html4/svg-rotate-angle-90-006.htm ?
+xhtml1/svg-rotate-angle-90-006.xht ?
+html4/svg-rotate-angle-90-007.htm ?
+xhtml1/svg-rotate-angle-90-007.xht ?
+html4/svg-rotate-angle-90-008.htm ?
+xhtml1/svg-rotate-angle-90-008.xht ?
+html4/svg-rotate-angle-90-009.htm ?
+xhtml1/svg-rotate-angle-90-009.xht ?
+html4/svg-rotate-angle-90-010.htm ?
+xhtml1/svg-rotate-angle-90-010.xht ?
+html4/svg-rotate-angle-90-011.htm ?
+xhtml1/svg-rotate-angle-90-011.xht ?
+html4/svg-rotate-angle-90-012.htm ?
+xhtml1/svg-rotate-angle-90-012.xht ?
+html4/svg-rotate-angle-90-013.htm ?
+xhtml1/svg-rotate-angle-90-013.xht ?
+html4/svg-rotate-angle-90-014.htm ?
+xhtml1/svg-rotate-angle-90-014.xht ?
+html4/svg-rotate-angle-90-015.htm ?
+xhtml1/svg-rotate-angle-90-015.xht ?
+html4/svg-rotate-angle-90-016.htm ?
+xhtml1/svg-rotate-angle-90-016.xht ?
+html4/svg-rotate-angle-90-017.htm ?
+xhtml1/svg-rotate-angle-90-017.xht ?
+html4/svg-rotate-angle-90-018.htm ?
+xhtml1/svg-rotate-angle-90-018.xht ?
+html4/svg-rotate-angle-90-019.htm ?
+xhtml1/svg-rotate-angle-90-019.xht ?
+html4/svg-rotate-angle-90-020.htm ?
+xhtml1/svg-rotate-angle-90-020.xht ?
+html4/svg-rotate-angle-90-021.htm ?
+xhtml1/svg-rotate-angle-90-021.xht ?
+html4/svg-rotate-angle-90-022.htm ?
+xhtml1/svg-rotate-angle-90-022.xht ?
+html4/svg-rotate-angle-90-023.htm ?
+xhtml1/svg-rotate-angle-90-023.xht ?
+html4/svg-rotate-angle-90-024.htm ?
+xhtml1/svg-rotate-angle-90-024.xht ?
+html4/svg-rotate-angle-90-025.htm ?
+xhtml1/svg-rotate-angle-90-025.xht ?
+html4/svg-scale-001.htm ?
+xhtml1/svg-scale-001.xht ?
+html4/svg-scale-002.htm ?
+xhtml1/svg-scale-002.xht ?
+html4/svg-scale-003.htm ?
+xhtml1/svg-scale-003.xht ?
+html4/svg-scale-004.htm ?
+xhtml1/svg-scale-004.xht ?
+html4/svg-scale-005.htm ?
+xhtml1/svg-scale-005.xht ?
+html4/svg-scale-006.htm ?
+xhtml1/svg-scale-006.xht ?
+html4/svg-scale-007.htm ?
+xhtml1/svg-scale-007.xht ?
+html4/svg-scale-008.htm ?
+xhtml1/svg-scale-008.xht ?
+html4/svg-scale-009.htm ?
+xhtml1/svg-scale-009.xht ?
+html4/svg-scale-010.htm ?
+xhtml1/svg-scale-010.xht ?
+html4/svg-scale-011.htm ?
+xhtml1/svg-scale-011.xht ?
+html4/svg-scale-012.htm ?
+xhtml1/svg-scale-012.xht ?
+html4/svg-scale-013.htm ?
+xhtml1/svg-scale-013.xht ?
+html4/svg-scale-014.htm ?
+xhtml1/svg-scale-014.xht ?
+html4/svg-scale-015.htm ?
+xhtml1/svg-scale-015.xht ?
+html4/svg-scale-016.htm ?
+xhtml1/svg-scale-016.xht ?
+html4/svg-scale-017.htm ?
+xhtml1/svg-scale-017.xht ?
+html4/svg-scalex-001.htm ?
+xhtml1/svg-scalex-001.xht ?
+html4/svg-scalex-002.htm ?
+xhtml1/svg-scalex-002.xht ?
+html4/svg-scalex-003.htm ?
+xhtml1/svg-scalex-003.xht ?
+html4/svg-scalex-004.htm ?
+xhtml1/svg-scalex-004.xht ?
+html4/svg-scalex-005.htm ?
+xhtml1/svg-scalex-005.xht ?
+html4/svg-scaley-001.htm ?
+xhtml1/svg-scaley-001.xht ?
+html4/svg-scaley-002.htm ?
+xhtml1/svg-scaley-002.xht ?
+html4/svg-scaley-003.htm ?
+xhtml1/svg-scaley-003.xht ?
+html4/svg-scaley-004.htm ?
+xhtml1/svg-scaley-004.xht ?
+html4/svg-scaley-005.htm ?
+xhtml1/svg-scaley-005.xht ?
+html4/svg-skewx-001.htm ?
+xhtml1/svg-skewx-001.xht ?
+html4/svg-skewx-002.htm ?
+xhtml1/svg-skewx-002.xht ?
+html4/svg-skewx-003.htm ?
+xhtml1/svg-skewx-003.xht ?
+html4/svg-skewx-004.htm ?
+xhtml1/svg-skewx-004.xht ?
+html4/svg-skewx-005.htm ?
+xhtml1/svg-skewx-005.xht ?
+html4/svg-skewx-006.htm ?
+xhtml1/svg-skewx-006.xht ?
+html4/svg-skewx-007.htm ?
+xhtml1/svg-skewx-007.xht ?
+html4/svg-skewx-008.htm ?
+xhtml1/svg-skewx-008.xht ?
+html4/svg-skewx-009.htm ?
+xhtml1/svg-skewx-009.xht ?
+html4/svg-skewx-010.htm ?
+xhtml1/svg-skewx-010.xht ?
+html4/svg-skewx-011.htm ?
+xhtml1/svg-skewx-011.xht ?
+html4/svg-skewx-012.htm ?
+xhtml1/svg-skewx-012.xht ?
+html4/svg-skewx-013.htm ?
+xhtml1/svg-skewx-013.xht ?
+html4/svg-skewx-014.htm ?
+xhtml1/svg-skewx-014.xht ?
+html4/svg-skewx-015.htm ?
+xhtml1/svg-skewx-015.xht ?
+html4/svg-skewx-016.htm ?
+xhtml1/svg-skewx-016.xht ?
+html4/svg-skewx-017.htm ?
+xhtml1/svg-skewx-017.xht ?
+html4/svg-skewx-018.htm ?
+xhtml1/svg-skewx-018.xht ?
+html4/svg-skewx-019.htm ?
+xhtml1/svg-skewx-019.xht ?
+html4/svg-skewx-020.htm ?
+xhtml1/svg-skewx-020.xht ?
+html4/svg-skewx-021.htm ?
+xhtml1/svg-skewx-021.xht ?
+html4/svg-skewx-022.htm ?
+xhtml1/svg-skewx-022.xht ?
+html4/svg-skewx-023.htm ?
+xhtml1/svg-skewx-023.xht ?
+html4/svg-skewx-024.htm ?
+xhtml1/svg-skewx-024.xht ?
+html4/svg-skewx-025.htm ?
+xhtml1/svg-skewx-025.xht ?
+html4/svg-skewxy-001.htm ?
+xhtml1/svg-skewxy-001.xht ?
+html4/svg-skewxy-002.htm ?
+xhtml1/svg-skewxy-002.xht ?
+html4/svg-skewy-001.htm ?
+xhtml1/svg-skewy-001.xht ?
+html4/svg-skewy-002.htm ?
+xhtml1/svg-skewy-002.xht ?
+html4/svg-skewy-003.htm ?
+xhtml1/svg-skewy-003.xht ?
+html4/svg-skewy-004.htm ?
+xhtml1/svg-skewy-004.xht ?
+html4/svg-skewy-005.htm ?
+xhtml1/svg-skewy-005.xht ?
+html4/svg-skewy-006.htm ?
+xhtml1/svg-skewy-006.xht ?
+html4/svg-skewy-007.htm ?
+xhtml1/svg-skewy-007.xht ?
+html4/svg-skewy-008.htm ?
+xhtml1/svg-skewy-008.xht ?
+html4/svg-skewy-009.htm ?
+xhtml1/svg-skewy-009.xht ?
+html4/svg-skewy-010.htm ?
+xhtml1/svg-skewy-010.xht ?
+html4/svg-skewy-011.htm ?
+xhtml1/svg-skewy-011.xht ?
+html4/svg-skewy-012.htm ?
+xhtml1/svg-skewy-012.xht ?
+html4/svg-skewy-013.htm ?
+xhtml1/svg-skewy-013.xht ?
+html4/svg-skewy-014.htm ?
+xhtml1/svg-skewy-014.xht ?
+html4/svg-skewy-015.htm ?
+xhtml1/svg-skewy-015.xht ?
+html4/svg-skewy-016.htm ?
+xhtml1/svg-skewy-016.xht ?
+html4/svg-skewy-017.htm ?
+xhtml1/svg-skewy-017.xht ?
+html4/svg-skewy-018.htm ?
+xhtml1/svg-skewy-018.xht ?
+html4/svg-skewy-019.htm ?
+xhtml1/svg-skewy-019.xht ?
+html4/svg-skewy-020.htm ?
+xhtml1/svg-skewy-020.xht ?
+html4/svg-skewy-021.htm ?
+xhtml1/svg-skewy-021.xht ?
+html4/svg-skewy-022.htm ?
+xhtml1/svg-skewy-022.xht ?
+html4/svg-skewy-023.htm ?
+xhtml1/svg-skewy-023.xht ?
+html4/svg-skewy-024.htm ?
+xhtml1/svg-skewy-024.xht ?
+html4/svg-skewy-025.htm ?
+xhtml1/svg-skewy-025.xht ?
+html4/svg-transform-group-001.htm ?
+xhtml1/svg-transform-group-001.xht ?
+html4/svg-transform-group-002.htm ?
+xhtml1/svg-transform-group-002.xht ?
+html4/svg-transform-group-003.htm ?
+xhtml1/svg-transform-group-003.xht ?
+html4/svg-transform-group-004.htm ?
+xhtml1/svg-transform-group-004.xht ?
+html4/svg-transform-group-005.htm ?
+xhtml1/svg-transform-group-005.xht ?
+html4/svg-transform-group-006.htm ?
+xhtml1/svg-transform-group-006.xht ?
+html4/svg-transform-group-007.htm ?
+xhtml1/svg-transform-group-007.xht ?
+html4/svg-transform-group-008.htm ?
+xhtml1/svg-transform-group-008.xht ?
+html4/svg-transform-group-009.htm ?
+xhtml1/svg-transform-group-009.xht ?
+html4/svg-transform-group-010.htm ?
+xhtml1/svg-transform-group-010.xht ?
+html4/svg-transform-group-011.htm ?
+xhtml1/svg-transform-group-011.xht ?
+html4/svg-transform-list-separations-001.htm ?
+xhtml1/svg-transform-list-separations-001.xht ?
+html4/svg-transform-list-separations-002.htm ?
+xhtml1/svg-transform-list-separations-002.xht ?
+html4/svg-transform-list-separations-003.htm ?
+xhtml1/svg-transform-list-separations-003.xht ?
+html4/svg-transform-list-separations-004.htm ?
+xhtml1/svg-transform-list-separations-004.xht ?
+html4/svg-transform-list-separations-005.htm ?
+xhtml1/svg-transform-list-separations-005.xht ?
+html4/svg-transform-list-separations-006.htm ?
+xhtml1/svg-transform-list-separations-006.xht ?
+html4/svg-transform-list-separations-007.htm ?
+xhtml1/svg-transform-list-separations-007.xht ?
+html4/svg-transform-list-separations-008.htm ?
+xhtml1/svg-transform-list-separations-008.xht ?
+html4/svg-transform-list-separations-009.htm ?
+xhtml1/svg-transform-list-separations-009.xht ?
+html4/svg-transform-list-separations-010.htm ?
+xhtml1/svg-transform-list-separations-010.xht ?
+html4/svg-transform-list-separations-011.htm ?
+xhtml1/svg-transform-list-separations-011.xht ?
+html4/svg-transform-nested-001.htm ?
+xhtml1/svg-transform-nested-001.xht ?
+html4/svg-transform-nested-002.htm ?
+xhtml1/svg-transform-nested-002.xht ?
+html4/svg-transform-nested-003.htm ?
+xhtml1/svg-transform-nested-003.xht ?
+html4/svg-transform-nested-004.htm ?
+xhtml1/svg-transform-nested-004.xht ?
+html4/svg-transform-nested-005.htm ?
+xhtml1/svg-transform-nested-005.xht ?
+html4/svg-transform-nested-006.htm ?
+xhtml1/svg-transform-nested-006.xht ?
+html4/svg-transform-nested-007.htm ?
+xhtml1/svg-transform-nested-007.xht ?
+html4/svg-transform-nested-008.htm ?
+xhtml1/svg-transform-nested-008.xht ?
+html4/svg-transform-nested-009.htm ?
+xhtml1/svg-transform-nested-009.xht ?
+html4/svg-transform-nested-010.htm ?
+xhtml1/svg-transform-nested-010.xht ?
+html4/svg-transform-nested-011.htm ?
+xhtml1/svg-transform-nested-011.xht ?
+html4/svg-transform-nested-012.htm ?
+xhtml1/svg-transform-nested-012.xht ?
+html4/svg-transform-nested-013.htm ?
+xhtml1/svg-transform-nested-013.xht ?
+html4/svg-transform-nested-014.htm ?
+xhtml1/svg-transform-nested-014.xht ?
+html4/svg-transform-nested-015.htm ?
+xhtml1/svg-transform-nested-015.xht ?
+html4/svg-transform-nested-016.htm ?
+xhtml1/svg-transform-nested-016.xht ?
+html4/svg-transform-nested-017.htm ?
+xhtml1/svg-transform-nested-017.xht ?
+html4/svg-transform-nested-018.htm ?
+xhtml1/svg-transform-nested-018.xht ?
+html4/svg-transform-nested-019.htm ?
+xhtml1/svg-transform-nested-019.xht ?
+html4/svg-transform-nested-020.htm ?
+xhtml1/svg-transform-nested-020.xht ?
+html4/svg-transform-nested-021.htm ?
+xhtml1/svg-transform-nested-021.xht ?
+html4/svg-transform-nested-022.htm ?
+xhtml1/svg-transform-nested-022.xht ?
+html4/svg-transform-nested-023.htm ?
+xhtml1/svg-transform-nested-023.xht ?
+html4/svg-transform-nested-024.htm ?
+xhtml1/svg-transform-nested-024.xht ?
+html4/svg-transform-nested-025.htm ?
+xhtml1/svg-transform-nested-025.xht ?
+html4/svg-transform-nested-026.htm ?
+xhtml1/svg-transform-nested-026.xht ?
+html4/svg-transform-nested-027.htm ?
+xhtml1/svg-transform-nested-027.xht ?
+html4/svg-transform-nested-028.htm ?
+xhtml1/svg-transform-nested-028.xht ?
+html4/svg-transform-nested-029.htm ?
+xhtml1/svg-transform-nested-029.xht ?
+html4/svg-translate-001.htm ?
+xhtml1/svg-translate-001.xht ?
+html4/svg-translate-002.htm ?
+xhtml1/svg-translate-002.xht ?
+html4/svg-translate-003.htm ?
+xhtml1/svg-translate-003.xht ?
+html4/svg-translate-004.htm ?
+xhtml1/svg-translate-004.xht ?
+html4/svg-translate-005.htm ?
+xhtml1/svg-translate-005.xht ?
+html4/svg-translate-006.htm ?
+xhtml1/svg-translate-006.xht ?
+html4/svg-translate-007.htm ?
+xhtml1/svg-translate-007.xht ?
+html4/svg-translate-008.htm ?
+xhtml1/svg-translate-008.xht ?
+html4/svg-translate-009.htm ?
+xhtml1/svg-translate-009.xht ?
+html4/svg-translate-010.htm ?
+xhtml1/svg-translate-010.xht ?
+html4/svg-translate-011.htm ?
+xhtml1/svg-translate-011.xht ?
+html4/svg-translate-012.htm ?
+xhtml1/svg-translate-012.xht ?
+html4/svg-translate-013.htm ?
+xhtml1/svg-translate-013.xht ?
+html4/svg-translate-014.htm ?
+xhtml1/svg-translate-014.xht ?
+html4/svg-translate-015.htm ?
+xhtml1/svg-translate-015.xht ?
+html4/svg-translate-016.htm ?
+xhtml1/svg-translate-016.xht ?
+html4/svg-translate-017.htm ?
+xhtml1/svg-translate-017.xht ?
+html4/svg-translate-018.htm ?
+xhtml1/svg-translate-018.xht ?
+html4/svg-translate-019.htm ?
+xhtml1/svg-translate-019.xht ?
+html4/svg-translate-020.htm ?
+xhtml1/svg-translate-020.xht ?
+html4/svg-translate-021.htm ?
+xhtml1/svg-translate-021.xht ?
+html4/svg-translate-022.htm ?
+xhtml1/svg-translate-022.xht ?
+html4/svg-translate-023.htm ?
+xhtml1/svg-translate-023.xht ?
+html4/svg-translate-024.htm ?
+xhtml1/svg-translate-024.xht ?
+html4/svg-translate-025.htm ?
+xhtml1/svg-translate-025.xht ?
+html4/svg-translate-026.htm ?
+xhtml1/svg-translate-026.xht ?
+html4/svg-translate-027.htm ?
+xhtml1/svg-translate-027.xht ?
+html4/svg-translate-028.htm ?
+xhtml1/svg-translate-028.xht ?
+html4/svg-translate-029.htm ?
+xhtml1/svg-translate-029.xht ?
+html4/svg-translate-030.htm ?
+xhtml1/svg-translate-030.xht ?
+html4/svg-translate-031.htm ?
+xhtml1/svg-translate-031.xht ?
+html4/svg-translate-032.htm ?
+xhtml1/svg-translate-032.xht ?
+html4/svg-translate-033.htm ?
+xhtml1/svg-translate-033.xht ?
+html4/svg-translate-034.htm ?
+xhtml1/svg-translate-034.xht ?
+html4/svg-translate-035.htm ?
+xhtml1/svg-translate-035.xht ?
+html4/svg-translate-036.htm ?
+xhtml1/svg-translate-036.xht ?
+html4/svg-translate-037.htm ?
+xhtml1/svg-translate-037.xht ?
+html4/svg-translate-038.htm ?
+xhtml1/svg-translate-038.xht ?
+html4/svg-translate-039.htm ?
+xhtml1/svg-translate-039.xht ?
+html4/svg-translate-040.htm ?
+xhtml1/svg-translate-040.xht ?
+html4/svg-translate-041.htm ?
+xhtml1/svg-translate-041.xht ?
+html4/svg-translate-042.htm ?
+xhtml1/svg-translate-042.xht ?
+html4/svg-translate-043.htm ?
+xhtml1/svg-translate-043.xht ?
+html4/svg-translate-044.htm ?
+xhtml1/svg-translate-044.xht ?
+html4/svg-translate-045.htm ?
+xhtml1/svg-translate-045.xht ?
+html4/svg-translate-046.htm ?
+xhtml1/svg-translate-046.xht ?
+html4/svg-translate-047.htm ?
+xhtml1/svg-translate-047.xht ?
+html4/svg-translate-048.htm ?
+xhtml1/svg-translate-048.xht ?
+html4/svg-translate-049.htm ?
+xhtml1/svg-translate-049.xht ?
+html4/svg-translate-050.htm ?
+xhtml1/svg-translate-050.xht ?
+html4/svg-translate-051.htm ?
+xhtml1/svg-translate-051.xht ?
+html4/svg-translate-052.htm ?
+xhtml1/svg-translate-052.xht ?
+html4/svg-translate-053.htm ?
+xhtml1/svg-translate-053.xht ?
+html4/svg-translate-054.htm ?
+xhtml1/svg-translate-054.xht ?
+html4/svg-translate-055.htm ?
+xhtml1/svg-translate-055.xht ?
+html4/svg-translate-abs-unit-combinations-001.htm ?
+xhtml1/svg-translate-abs-unit-combinations-001.xht ?
+html4/svg-translate-abs-unit-combinations-002.htm ?
+xhtml1/svg-translate-abs-unit-combinations-002.xht ?
+html4/svg-translate-abs-unit-combinations-003.htm ?
+xhtml1/svg-translate-abs-unit-combinations-003.xht ?
+html4/svg-translate-abs-unit-combinations-004.htm ?
+xhtml1/svg-translate-abs-unit-combinations-004.xht ?
+html4/svg-translate-abs-unit-combinations-005.htm ?
+xhtml1/svg-translate-abs-unit-combinations-005.xht ?
+html4/svg-translate-abs-unit-combinations-006.htm ?
+xhtml1/svg-translate-abs-unit-combinations-006.xht ?
+html4/svg-translate-ex-unit-001.htm ?
+xhtml1/svg-translate-ex-unit-001.xht ?
+html4/svg-translate-ex-unit-002.htm ?
+xhtml1/svg-translate-ex-unit-002.xht ?
+html4/svg-translate-ex-unit-003.htm ?
+xhtml1/svg-translate-ex-unit-003.xht ?
+html4/svg-translate-ex-unit-004.htm ?
+xhtml1/svg-translate-ex-unit-004.xht ?
+html4/svg-translate-ex-unit-005.htm ?
+xhtml1/svg-translate-ex-unit-005.xht ?
+html4/svg-translate-ex-unit-006.htm ?
+xhtml1/svg-translate-ex-unit-006.xht ?
+html4/svg-translate-multiple-001.htm ?
+xhtml1/svg-translate-multiple-001.xht ?
+html4/svg-translate-multiple-002.htm ?
+xhtml1/svg-translate-multiple-002.xht ?
+html4/svg-translate-multiple-relative-001.htm ?
+xhtml1/svg-translate-multiple-relative-001.xht ?
+html4/svg-translate-multiple-relative-002.htm ?
+xhtml1/svg-translate-multiple-relative-002.xht ?
+html4/svg-translate-relative-001.htm ?
+xhtml1/svg-translate-relative-001.xht ?
+html4/svg-translate-relative-002.htm ?
+xhtml1/svg-translate-relative-002.xht ?
+html4/svg-translate-relative-003.htm ?
+xhtml1/svg-translate-relative-003.xht ?
+html4/svg-translate-relative-004.htm ?
+xhtml1/svg-translate-relative-004.xht ?
+html4/svg-translate-relative-005.htm ?
+xhtml1/svg-translate-relative-005.xht ?
+html4/svg-translate-relative-006.htm ?
+xhtml1/svg-translate-relative-006.xht ?
+html4/svg-translate-relative-007.htm ?
+xhtml1/svg-translate-relative-007.xht ?
+html4/svg-translate-relative-008.htm ?
+xhtml1/svg-translate-relative-008.xht ?
+html4/svg-translatex-001.htm ?
+xhtml1/svg-translatex-001.xht ?
+html4/svg-translatex-002.htm ?
+xhtml1/svg-translatex-002.xht ?
+html4/svg-translatex-003.htm ?
+xhtml1/svg-translatex-003.xht ?
+html4/svg-translatex-004.htm ?
+xhtml1/svg-translatex-004.xht ?
+html4/svg-translatex-005.htm ?
+xhtml1/svg-translatex-005.xht ?
+html4/svg-translatex-006.htm ?
+xhtml1/svg-translatex-006.xht ?
+html4/svg-translatex-007.htm ?
+xhtml1/svg-translatex-007.xht ?
+html4/svg-translatex-008.htm ?
+xhtml1/svg-translatex-008.xht ?
+html4/svg-translatex-009.htm ?
+xhtml1/svg-translatex-009.xht ?
+html4/svg-translatex-010.htm ?
+xhtml1/svg-translatex-010.xht ?
+html4/svg-translatex-011.htm ?
+xhtml1/svg-translatex-011.xht ?
+html4/svg-translatex-012.htm ?
+xhtml1/svg-translatex-012.xht ?
+html4/svg-translatex-013.htm ?
+xhtml1/svg-translatex-013.xht ?
+html4/svg-translatex-014.htm ?
+xhtml1/svg-translatex-014.xht ?
+html4/svg-translatex-015.htm ?
+xhtml1/svg-translatex-015.xht ?
+html4/svg-translatex-016.htm ?
+xhtml1/svg-translatex-016.xht ?
+html4/svg-translatex-017.htm ?
+xhtml1/svg-translatex-017.xht ?
+html4/svg-translatex-018.htm ?
+xhtml1/svg-translatex-018.xht ?
+html4/svg-translatex-019.htm ?
+xhtml1/svg-translatex-019.xht ?
+html4/svg-translatex-020.htm ?
+xhtml1/svg-translatex-020.xht ?
+html4/svg-translatex-021.htm ?
+xhtml1/svg-translatex-021.xht ?
+html4/svg-translatex-022.htm ?
+xhtml1/svg-translatex-022.xht ?
+html4/svg-translatex-023.htm ?
+xhtml1/svg-translatex-023.xht ?
+html4/svg-translatex-024.htm ?
+xhtml1/svg-translatex-024.xht ?
+html4/svg-translatex-025.htm ?
+xhtml1/svg-translatex-025.xht ?
+html4/svg-translatex-026.htm ?
+xhtml1/svg-translatex-026.xht ?
+html4/svg-translatex-027.htm ?
+xhtml1/svg-translatex-027.xht ?
+html4/svg-translatex-028.htm ?
+xhtml1/svg-translatex-028.xht ?
+html4/svg-translatex-029.htm ?
+xhtml1/svg-translatex-029.xht ?
+html4/svg-translatex-030.htm ?
+xhtml1/svg-translatex-030.xht ?
+html4/svg-translatex-031.htm ?
+xhtml1/svg-translatex-031.xht ?
+html4/svg-translatex-032.htm ?
+xhtml1/svg-translatex-032.xht ?
+html4/svg-translatex-033.htm ?
+xhtml1/svg-translatex-033.xht ?
+html4/svg-translatex-034.htm ?
+xhtml1/svg-translatex-034.xht ?
+html4/svg-translatex-035.htm ?
+xhtml1/svg-translatex-035.xht ?
+html4/svg-translatex-036.htm ?
+xhtml1/svg-translatex-036.xht ?
+html4/svg-translatex-037.htm ?
+xhtml1/svg-translatex-037.xht ?
+html4/svg-translatex-038.htm ?
+xhtml1/svg-translatex-038.xht ?
+html4/svg-translatex-039.htm ?
+xhtml1/svg-translatex-039.xht ?
+html4/svg-translatex-040.htm ?
+xhtml1/svg-translatex-040.xht ?
+html4/svg-translatex-041.htm ?
+xhtml1/svg-translatex-041.xht ?
+html4/svg-translatex-042.htm ?
+xhtml1/svg-translatex-042.xht ?
+html4/svg-translatex-043.htm ?
+xhtml1/svg-translatex-043.xht ?
+html4/svg-translatex-044.htm ?
+xhtml1/svg-translatex-044.xht ?
+html4/svg-translatex-045.htm ?
+xhtml1/svg-translatex-045.xht ?
+html4/svg-translatex-046.htm ?
+xhtml1/svg-translatex-046.xht ?
+html4/svg-translatex-047.htm ?
+xhtml1/svg-translatex-047.xht ?
+html4/svg-translatex-048.htm ?
+xhtml1/svg-translatex-048.xht ?
+html4/svg-translatex-combination-001.htm ?
+xhtml1/svg-translatex-combination-001.xht ?
+html4/svg-translatex-combination-002.htm ?
+xhtml1/svg-translatex-combination-002.xht ?
+html4/svg-translatex-combination-003.htm ?
+xhtml1/svg-translatex-combination-003.xht ?
+html4/svg-translatex-combination-004.htm ?
+xhtml1/svg-translatex-combination-004.xht ?
+html4/svg-translatex-ex-unit-001.htm ?
+xhtml1/svg-translatex-ex-unit-001.xht ?
+html4/svg-translatex-ex-unit-002.htm ?
+xhtml1/svg-translatex-ex-unit-002.xht ?
+html4/svg-translatex-ex-unit-003.htm ?
+xhtml1/svg-translatex-ex-unit-003.xht ?
+html4/svg-translatex-ex-unit-004.htm ?
+xhtml1/svg-translatex-ex-unit-004.xht ?
+html4/svg-translatex-ex-unit-005.htm ?
+xhtml1/svg-translatex-ex-unit-005.xht ?
+html4/svg-translatex-ex-unit-006.htm ?
+xhtml1/svg-translatex-ex-unit-006.xht ?
+html4/svg-translatex-relative-001.htm ?
+xhtml1/svg-translatex-relative-001.xht ?
+html4/svg-translatex-relative-002.htm ?
+xhtml1/svg-translatex-relative-002.xht ?
+html4/svg-translatey-001.htm ?
+xhtml1/svg-translatey-001.xht ?
+html4/svg-translatey-002.htm ?
+xhtml1/svg-translatey-002.xht ?
+html4/svg-translatey-003.htm ?
+xhtml1/svg-translatey-003.xht ?
+html4/svg-translatey-004.htm ?
+xhtml1/svg-translatey-004.xht ?
+html4/svg-translatey-005.htm ?
+xhtml1/svg-translatey-005.xht ?
+html4/svg-translatey-006.htm ?
+xhtml1/svg-translatey-006.xht ?
+html4/svg-translatey-007.htm ?
+xhtml1/svg-translatey-007.xht ?
+html4/svg-translatey-008.htm ?
+xhtml1/svg-translatey-008.xht ?
+html4/svg-translatey-009.htm ?
+xhtml1/svg-translatey-009.xht ?
+html4/svg-translatey-010.htm ?
+xhtml1/svg-translatey-010.xht ?
+html4/svg-translatey-011.htm ?
+xhtml1/svg-translatey-011.xht ?
+html4/svg-translatey-012.htm ?
+xhtml1/svg-translatey-012.xht ?
+html4/svg-translatey-013.htm ?
+xhtml1/svg-translatey-013.xht ?
+html4/svg-translatey-014.htm ?
+xhtml1/svg-translatey-014.xht ?
+html4/svg-translatey-015.htm ?
+xhtml1/svg-translatey-015.xht ?
+html4/svg-translatey-016.htm ?
+xhtml1/svg-translatey-016.xht ?
+html4/svg-translatey-017.htm ?
+xhtml1/svg-translatey-017.xht ?
+html4/svg-translatey-018.htm ?
+xhtml1/svg-translatey-018.xht ?
+html4/svg-translatey-019.htm ?
+xhtml1/svg-translatey-019.xht ?
+html4/svg-translatey-020.htm ?
+xhtml1/svg-translatey-020.xht ?
+html4/svg-translatey-021.htm ?
+xhtml1/svg-translatey-021.xht ?
+html4/svg-translatey-022.htm ?
+xhtml1/svg-translatey-022.xht ?
+html4/svg-translatey-023.htm ?
+xhtml1/svg-translatey-023.xht ?
+html4/svg-translatey-024.htm ?
+xhtml1/svg-translatey-024.xht ?
+html4/svg-translatey-025.htm ?
+xhtml1/svg-translatey-025.xht ?
+html4/svg-translatey-026.htm ?
+xhtml1/svg-translatey-026.xht ?
+html4/svg-translatey-027.htm ?
+xhtml1/svg-translatey-027.xht ?
+html4/svg-translatey-028.htm ?
+xhtml1/svg-translatey-028.xht ?
+html4/svg-translatey-029.htm ?
+xhtml1/svg-translatey-029.xht ?
+html4/svg-translatey-030.htm ?
+xhtml1/svg-translatey-030.xht ?
+html4/svg-translatey-031.htm ?
+xhtml1/svg-translatey-031.xht ?
+html4/svg-translatey-032.htm ?
+xhtml1/svg-translatey-032.xht ?
+html4/svg-translatey-033.htm ?
+xhtml1/svg-translatey-033.xht ?
+html4/svg-translatey-034.htm ?
+xhtml1/svg-translatey-034.xht ?
+html4/svg-translatey-035.htm ?
+xhtml1/svg-translatey-035.xht ?
+html4/svg-translatey-036.htm ?
+xhtml1/svg-translatey-036.xht ?
+html4/svg-translatey-037.htm ?
+xhtml1/svg-translatey-037.xht ?
+html4/svg-translatey-038.htm ?
+xhtml1/svg-translatey-038.xht ?
+html4/svg-translatey-039.htm ?
+xhtml1/svg-translatey-039.xht ?
+html4/svg-translatey-040.htm ?
+xhtml1/svg-translatey-040.xht ?
+html4/svg-translatey-041.htm ?
+xhtml1/svg-translatey-041.xht ?
+html4/svg-translatey-042.htm ?
+xhtml1/svg-translatey-042.xht ?
+html4/svg-translatey-043.htm ?
+xhtml1/svg-translatey-043.xht ?
+html4/svg-translatey-044.htm ?
+xhtml1/svg-translatey-044.xht ?
+html4/svg-translatey-045.htm ?
+xhtml1/svg-translatey-045.xht ?
+html4/svg-translatey-046.htm ?
+xhtml1/svg-translatey-046.xht ?
+html4/svg-translatey-047.htm ?
+xhtml1/svg-translatey-047.xht ?
+html4/svg-translatey-048.htm ?
+xhtml1/svg-translatey-048.xht ?
+html4/svg-translatey-combination-001.htm ?
+xhtml1/svg-translatey-combination-001.xht ?
+html4/svg-translatey-combination-002.htm ?
+xhtml1/svg-translatey-combination-002.xht ?
+html4/svg-translatey-combination-003.htm ?
+xhtml1/svg-translatey-combination-003.xht ?
+html4/svg-translatey-combination-004.htm ?
+xhtml1/svg-translatey-combination-004.xht ?
+html4/svg-translatey-ex-unit-001.htm ?
+xhtml1/svg-translatey-ex-unit-001.xht ?
+html4/svg-translatey-ex-unit-002.htm ?
+xhtml1/svg-translatey-ex-unit-002.xht ?
+html4/svg-translatey-ex-unit-003.htm ?
+xhtml1/svg-translatey-ex-unit-003.xht ?
+html4/svg-translatey-ex-unit-004.htm ?
+xhtml1/svg-translatey-ex-unit-004.xht ?
+html4/svg-translatey-ex-unit-005.htm ?
+xhtml1/svg-translatey-ex-unit-005.xht ?
+html4/svg-translatey-ex-unit-006.htm ?
+xhtml1/svg-translatey-ex-unit-006.xht ?
+html4/svg-translatey-relative-001.htm ?
+xhtml1/svg-translatey-relative-001.xht ?
+html4/svg-translatey-relative-002.htm ?
+xhtml1/svg-translatey-relative-002.xht ?
+html4/transform-2d-getcomputedstyle-001.htm ?
+xhtml1/transform-2d-getcomputedstyle-001.xht ?
+html4/transform-3d-rotatey-stair-above-001.htm ?
+xhtml1/transform-3d-rotatey-stair-above-001.xht ?
+html4/transform-3d-rotatey-stair-below-001.htm ?
+xhtml1/transform-3d-rotatey-stair-below-001.xht ?
+html4/transform-abspos-001.htm ?
+xhtml1/transform-abspos-001.xht ?
+html4/transform-abspos-002.htm ?
+xhtml1/transform-abspos-002.xht ?
+html4/transform-abspos-003.htm ?
+xhtml1/transform-abspos-003.xht ?
+html4/transform-abspos-004.htm ?
+xhtml1/transform-abspos-004.xht ?
+html4/transform-abspos-005.htm ?
+xhtml1/transform-abspos-005.xht ?
+html4/transform-abspos-006.htm ?
+xhtml1/transform-abspos-006.xht ?
+html4/transform-abspos-007.htm ?
+xhtml1/transform-abspos-007.xht ?
+html4/transform-applies-to-001.htm ?
+xhtml1/transform-applies-to-001.xht ?
+html4/transform-applies-to-002.htm ?
+xhtml1/transform-applies-to-002.xht ?
+html4/transform-background-001.htm ?
+xhtml1/transform-background-001.xht ?
+html4/transform-background-002.htm ?
+xhtml1/transform-background-002.xht ?
+html4/transform-background-003.htm ?
+xhtml1/transform-background-003.xht ?
+html4/transform-background-004.htm ?
+xhtml1/transform-background-004.xht ?
+html4/transform-background-005.htm ?
+xhtml1/transform-background-005.xht ?
+html4/transform-background-006.htm ?
+xhtml1/transform-background-006.xht ?
+html4/transform-background-007.htm ?
+xhtml1/transform-background-007.xht ?
+html4/transform-background-008.htm ?
+xhtml1/transform-background-008.xht ?
+html4/transform-compound-001.htm ?
+xhtml1/transform-compound-001.xht ?
+html4/transform-descendant-001.htm ?
+xhtml1/transform-descendant-001.xht ?
+html4/transform-display-001.htm ?
+xhtml1/transform-display-001.xht ?
+html4/transform-display-002.htm ?
+xhtml1/transform-display-002.xht ?
+html4/transform-display-003.htm ?
+xhtml1/transform-display-003.xht ?
+html4/transform-display-004.htm ?
+xhtml1/transform-display-004.xht ?
+html4/transform-fixed-bg-001.htm ?
+xhtml1/transform-fixed-bg-001.xht ?
+html4/transform-fixed-bg-002.htm ?
+xhtml1/transform-fixed-bg-002.xht ?
+html4/transform-fixed-bg-003.htm ?
+xhtml1/transform-fixed-bg-003.xht ?
+html4/transform-fixed-bg-004.htm ?
+xhtml1/transform-fixed-bg-004.xht ?
+html4/transform-fixed-bg-005.htm ?
+xhtml1/transform-fixed-bg-005.xht ?
+html4/transform-fixed-bg-006.htm ?
+xhtml1/transform-fixed-bg-006.xht ?
+html4/transform-fixed-bg-007.htm ?
+xhtml1/transform-fixed-bg-007.xht ?
+html4/transform-generated-001.htm ?
+xhtml1/transform-generated-001.xht ?
+html4/transform-generated-002.htm ?
+xhtml1/transform-generated-002.xht ?
+html4/transform-iframe-001.htm ?
+xhtml1/transform-iframe-001.xht ?
+html4/transform-image-001.htm ?
+xhtml1/transform-image-001.xht ?
+html4/transform-inherit-001.htm ?
+xhtml1/transform-inherit-001.xht ?
+html4/transform-inherit-002.htm ?
+xhtml1/transform-inherit-002.xht ?
+html4/transform-inherit-origin-001.htm ?
+xhtml1/transform-inherit-origin-001.xht ?
+html4/transform-inherit-origin-002.htm ?
+xhtml1/transform-inherit-origin-002.xht ?
+html4/transform-inline-001.htm ?
+xhtml1/transform-inline-001.xht ?
+html4/transform-input-001.htm ?
+xhtml1/transform-input-001.xht ?
+html4/transform-input-002.htm ?
+xhtml1/transform-input-002.xht ?
+html4/transform-input-003.htm ?
+xhtml1/transform-input-003.xht ?
+html4/transform-input-004.htm ?
+xhtml1/transform-input-004.xht ?
+html4/transform-input-005.htm ?
+xhtml1/transform-input-005.xht ?
+html4/transform-input-006.htm ?
+xhtml1/transform-input-006.xht ?
+html4/transform-input-007.htm ?
+xhtml1/transform-input-007.xht ?
+html4/transform-input-008.htm ?
+xhtml1/transform-input-008.xht ?
+html4/transform-input-009.htm ?
+xhtml1/transform-input-009.xht ?
+html4/transform-input-010.htm ?
+xhtml1/transform-input-010.xht ?
+html4/transform-input-011.htm ?
+xhtml1/transform-input-011.xht ?
+html4/transform-input-012.htm ?
+xhtml1/transform-input-012.xht ?
+html4/transform-input-013.htm ?
+xhtml1/transform-input-013.xht ?
+html4/transform-input-014.htm ?
+xhtml1/transform-input-014.xht ?
+html4/transform-input-015.htm ?
+xhtml1/transform-input-015.xht ?
+html4/transform-input-016.htm ?
+xhtml1/transform-input-016.xht ?
+html4/transform-input-017.htm ?
+xhtml1/transform-input-017.xht ?
+html4/transform-input-018.htm ?
+xhtml1/transform-input-018.xht ?
+html4/transform-input-019.htm ?
+xhtml1/transform-input-019.xht ?
+html4/transform-matrix-001.htm ?
+xhtml1/transform-matrix-001.xht ?
+html4/transform-matrix-002.htm ?
+xhtml1/transform-matrix-002.xht ?
+html4/transform-matrix-003.htm ?
+xhtml1/transform-matrix-003.xht ?
+html4/transform-matrix-004.htm ?
+xhtml1/transform-matrix-004.xht ?
+html4/transform-matrix-005.htm ?
+xhtml1/transform-matrix-005.xht ?
+html4/transform-matrix-006.htm ?
+xhtml1/transform-matrix-006.xht ?
+html4/transform-matrix-007.htm ?
+xhtml1/transform-matrix-007.xht ?
+html4/transform-matrix-008.htm ?
+xhtml1/transform-matrix-008.xht ?
+html4/transform-origin-001.htm ?
+xhtml1/transform-origin-001.xht ?
+html4/transform-origin-002.htm ?
+xhtml1/transform-origin-002.xht ?
+html4/transform-origin-003.htm ?
+xhtml1/transform-origin-003.xht ?
+html4/transform-origin-004.htm ?
+xhtml1/transform-origin-004.xht ?
+html4/transform-origin-005.htm ?
+xhtml1/transform-origin-005.xht ?
+html4/transform-origin-006.htm ?
+xhtml1/transform-origin-006.xht ?
+html4/transform-origin-007.htm ?
+xhtml1/transform-origin-007.xht ?
+html4/transform-origin-008.htm ?
+xhtml1/transform-origin-008.xht ?
+html4/transform-origin-009.htm ?
+xhtml1/transform-origin-009.xht ?
+html4/transform-origin-01.htm ?
+xhtml1/transform-origin-01.xht ?
+html4/transform-origin-010.htm ?
+xhtml1/transform-origin-010.xht ?
+html4/transform-origin-011.htm ?
+xhtml1/transform-origin-011.xht ?
+html4/transform-origin-012.htm ?
+xhtml1/transform-origin-012.xht ?
+html4/transform-origin-name-001.htm ?
+xhtml1/transform-origin-name-001.xht ?
+html4/transform-origin-name-002.htm ?
+xhtml1/transform-origin-name-002.xht ?
+html4/transform-origin-name-003.htm ?
+xhtml1/transform-origin-name-003.xht ?
+html4/transform-origin-name-004.htm ?
+xhtml1/transform-origin-name-004.xht ?
+html4/transform-origin-name-005.htm ?
+xhtml1/transform-origin-name-005.xht ?
+html4/transform-origin-name-006.htm ?
+xhtml1/transform-origin-name-006.xht ?
+html4/transform-origin-name-007.htm ?
+xhtml1/transform-origin-name-007.xht ?
+html4/transform-origin.htm ?
+xhtml1/transform-origin.xht ?
+html4/transform-overflow-001.htm ?
+xhtml1/transform-overflow-001.xht ?
+html4/transform-overflow-002.htm ?
+xhtml1/transform-overflow-002.xht ?
+html4/transform-percent-001.htm ?
+xhtml1/transform-percent-001.xht ?
+html4/transform-percent-002.htm ?
+xhtml1/transform-percent-002.xht ?
+html4/transform-percent-003.htm ?
+xhtml1/transform-percent-003.xht ?
+html4/transform-percent-004.htm ?
+xhtml1/transform-percent-004.xht ?
+html4/transform-percent-005.htm ?
+xhtml1/transform-percent-005.xht ?
+html4/transform-percent-006.htm ?
+xhtml1/transform-percent-006.xht ?
+html4/transform-percent-007.htm ?
+xhtml1/transform-percent-007.xht ?
+html4/transform-percent-008.htm ?
+xhtml1/transform-percent-008.xht ?
+html4/transform-propagate-inherit-boolean-001.htm ?
+xhtml1/transform-propagate-inherit-boolean-001.xht ?
+html4/transform-root-bg-001.htm ?
+xhtml1/transform-root-bg-001.xht ?
+html4/transform-root-bg-002.htm ?
+xhtml1/transform-root-bg-002.xht ?
+html4/transform-root-bg-003.htm ?
+xhtml1/transform-root-bg-003.xht ?
+html4/transform-root-bg-004.htm ?
+xhtml1/transform-root-bg-004.xht ?
+html4/transform-rotate-001.htm ?
+xhtml1/transform-rotate-001.xht ?
+html4/transform-rotate-002.htm ?
+xhtml1/transform-rotate-002.xht ?
+html4/transform-rotate-003.htm ?
+xhtml1/transform-rotate-003.xht ?
+html4/transform-rotate-004.htm ?
+xhtml1/transform-rotate-004.xht ?
+html4/transform-rotate-005.htm ?
+xhtml1/transform-rotate-005.xht ?
+html4/transform-rotate-006.htm ?
+xhtml1/transform-rotate-006.xht ?
+html4/transform-rotate-007.htm ?
+xhtml1/transform-rotate-007.xht ?
+html4/transform-rounding-001.htm ?
+xhtml1/transform-rounding-001.xht ?
+html4/transform-scale-001.htm ?
+xhtml1/transform-scale-001.xht ?
+html4/transform-scale-002.htm ?
+xhtml1/transform-scale-002.xht ?
+html4/transform-scale-percent-001.htm ?
+xhtml1/transform-scale-percent-001.xht ?
+html4/transform-scale-test.htm ?
+xhtml1/transform-scale-test.xht ?
+html4/transform-scalex-001.htm ?
+xhtml1/transform-scalex-001.xht ?
+html4/transform-scaley-001.htm ?
+xhtml1/transform-scaley-001.xht ?
+html4/transform-singular-001.htm ?
+xhtml1/transform-singular-001.xht ?
+html4/transform-stacking-001.htm ?
+xhtml1/transform-stacking-001.xht ?
+html4/transform-stacking-002.htm ?
+xhtml1/transform-stacking-002.xht ?
+html4/transform-stacking-003.htm ?
+xhtml1/transform-stacking-003.xht ?
+html4/transform-stacking-004.htm ?
+xhtml1/transform-stacking-004.xht ?
+html4/transform-stresstest-001.htm ?
+xhtml1/transform-stresstest-001.xht ?
+html4/transform-table-001.htm ?
+xhtml1/transform-table-001.xht ?
+html4/transform-table-002.htm ?
+xhtml1/transform-table-002.xht ?
+html4/transform-table-003.htm ?
+xhtml1/transform-table-003.xht ?
+html4/transform-table-004.htm ?
+xhtml1/transform-table-004.xht ?
+html4/transform-table-005.htm ?
+xhtml1/transform-table-005.xht ?
+html4/transform-table-006.htm ?
+xhtml1/transform-table-006.xht ?
+html4/transform-table-007.htm ?
+xhtml1/transform-table-007.xht ?
+html4/transform-table-008.htm ?
+xhtml1/transform-table-008.xht ?
+html4/transform-table-009.htm ?
+xhtml1/transform-table-009.xht ?
+html4/transform-table-010.htm ?
+xhtml1/transform-table-010.xht ?
+html4/transform-table-011.htm ?
+xhtml1/transform-table-011.xht ?
+html4/transform-transformable-inline-block.htm ?
+xhtml1/transform-transformable-inline-block.xht ?
+html4/transform-transformable-inline-table.htm ?
+xhtml1/transform-transformable-inline-table.xht ?
+html4/transform-transformable-list-item.htm ?
+xhtml1/transform-transformable-list-item.xht ?
+html4/transform-transformable-table-caption.htm ?
+xhtml1/transform-transformable-table-caption.xht ?
+html4/transform-transformable-table-cell.htm ?
+xhtml1/transform-transformable-table-cell.xht ?
+html4/transform-transformable-table-footer-group.htm ?
+xhtml1/transform-transformable-table-footer-group.xht ?
+html4/transform-transformable-table-header-group.htm ?
+xhtml1/transform-transformable-table-header-group.xht ?
+html4/transform-transformable-table-row-group.htm ?
+xhtml1/transform-transformable-table-row-group.xht ?
+html4/transform-transformable-table-row.htm ?
+xhtml1/transform-transformable-table-row.xht ?
+html4/transform-transformable-table.htm ?
+xhtml1/transform-transformable-table.xht ?
+html4/transform-translate-001.htm ?
+xhtml1/transform-translate-001.xht ?
+html4/transform-translate-002.htm ?
+xhtml1/transform-translate-002.xht ?
+html4/transform-translate-003.htm ?
+xhtml1/transform-translate-003.xht ?
+html4/transform-translate-004.htm ?
+xhtml1/transform-translate-004.xht ?
+html4/transform-translate-005.htm ?
+xhtml1/transform-translate-005.xht ?
+html4/transform-translatex-001.htm ?
+xhtml1/transform-translatex-001.xht ?
+html4/transform-translatex-002.htm ?
+xhtml1/transform-translatex-002.xht ?
+html4/transform-translatex-003.htm ?
+xhtml1/transform-translatex-003.xht ?
+html4/transform-translatex-004.htm ?
+xhtml1/transform-translatex-004.xht ?
+html4/transform-translatex-005.htm ?
+xhtml1/transform-translatex-005.xht ?
+html4/transform-translatex-006.htm ?
+xhtml1/transform-translatex-006.xht ?
+html4/transform-translatey-001.htm ?
+xhtml1/transform-translatey-001.xht ?
+html4/transform-translatey-002.htm ?
+xhtml1/transform-translatey-002.xht ?
+html4/transform-translatey-003.htm ?
+xhtml1/transform-translatey-003.xht ?
+html4/transform-translatey-004.htm ?
+xhtml1/transform-translatey-004.xht ?
+html4/transform-translatey-005.htm ?
+xhtml1/transform-translatey-005.xht ?
+html4/transform3d-backface-visibility-001.htm ?
+xhtml1/transform3d-backface-visibility-001.xht ?
+html4/transform3d-backface-visibility-002.htm ?
+xhtml1/transform3d-backface-visibility-002.xht ?
+html4/transform3d-backface-visibility-003.htm ?
+xhtml1/transform3d-backface-visibility-003.xht ?
+html4/transform3d-backface-visibility-004.htm ?
+xhtml1/transform3d-backface-visibility-004.xht ?
+html4/transform3d-backface-visibility-005.htm ?
+xhtml1/transform3d-backface-visibility-005.xht ?
+html4/transform3d-backface-visibility-006.htm ?
+xhtml1/transform3d-backface-visibility-006.xht ?
+html4/transform3d-backface-visibility-007.htm ?
+xhtml1/transform3d-backface-visibility-007.xht ?
+html4/transform3d-image-scale-001.htm ?
+xhtml1/transform3d-image-scale-001.xht ?
+html4/transform3d-image-scale-002.htm ?
+xhtml1/transform3d-image-scale-002.xht ?
+html4/transform3d-matrix3d-001.htm ?
+xhtml1/transform3d-matrix3d-001.xht ?
+html4/transform3d-matrix3d-002.htm ?
+xhtml1/transform3d-matrix3d-002.xht ?
+html4/transform3d-matrix3d-003.htm ?
+xhtml1/transform3d-matrix3d-003.xht ?
+html4/transform3d-matrix3d-004.htm ?
+xhtml1/transform3d-matrix3d-004.xht ?
+html4/transform3d-matrix3d-005.htm ?
+xhtml1/transform3d-matrix3d-005.xht ?
+html4/transform3d-perspective-001.htm ?
+xhtml1/transform3d-perspective-001.xht ?
+html4/transform3d-perspective-002.htm ?
+xhtml1/transform3d-perspective-002.xht ?
+html4/transform3d-perspective-003.htm ?
+xhtml1/transform3d-perspective-003.xht ?
+html4/transform3d-perspective-004.htm ?
+xhtml1/transform3d-perspective-004.xht ?
+html4/transform3d-perspective-005.htm ?
+xhtml1/transform3d-perspective-005.xht ?
+html4/transform3d-perspective-006.htm ?
+xhtml1/transform3d-perspective-006.xht ?
+html4/transform3d-perspective-007.htm ?
+xhtml1/transform3d-perspective-007.xht ?
+html4/transform3d-perspective-008.htm ?
+xhtml1/transform3d-perspective-008.xht ?
+html4/transform3d-perspective-009.htm ?
+xhtml1/transform3d-perspective-009.xht ?
+html4/transform3d-perspective-origin-001.htm ?
+xhtml1/transform3d-perspective-origin-001.xht ?
+html4/transform3d-preserve3d-001.htm ?
+xhtml1/transform3d-preserve3d-001.xht ?
+html4/transform3d-preserve3d-002.htm ?
+xhtml1/transform3d-preserve3d-002.xht ?
+html4/transform3d-preserve3d-003.htm ?
+xhtml1/transform3d-preserve3d-003.xht ?
+html4/transform3d-preserve3d-004.htm ?
+xhtml1/transform3d-preserve3d-004.xht ?
+html4/transform3d-preserve3d-005.htm ?
+xhtml1/transform3d-preserve3d-005.xht ?
+html4/transform3d-preserve3d-006.htm ?
+xhtml1/transform3d-preserve3d-006.xht ?
+html4/transform3d-preserve3d-007.htm ?
+xhtml1/transform3d-preserve3d-007.xht ?
+html4/transform3d-preserve3d-008.htm ?
+xhtml1/transform3d-preserve3d-008.xht ?
+html4/transform3d-preserve3d-009.htm ?
+xhtml1/transform3d-preserve3d-009.xht ?
+html4/transform3d-preserve3d-010.htm ?
+xhtml1/transform3d-preserve3d-010.xht ?
+html4/transform3d-preserve3d-011.htm ?
+xhtml1/transform3d-preserve3d-011.xht ?
+html4/transform3d-preserve3d-012.htm ?
+xhtml1/transform3d-preserve3d-012.xht ?
+html4/transform3d-preserve3d-013.htm ?
+xhtml1/transform3d-preserve3d-013.xht ?
+html4/transform3d-rotate3d-001.htm ?
+xhtml1/transform3d-rotate3d-001.xht ?
+html4/transform3d-rotate3d-002.htm ?
+xhtml1/transform3d-rotate3d-002.xht ?
+html4/transform3d-rotatex-001.htm ?
+xhtml1/transform3d-rotatex-001.xht ?
+html4/transform3d-rotatex-perspective-001.htm ?
+xhtml1/transform3d-rotatex-perspective-001.xht ?
+html4/transform3d-rotatex-perspective-002.htm ?
+xhtml1/transform3d-rotatex-perspective-002.xht ?
+html4/transform3d-rotatex-perspective-003.htm ?
+xhtml1/transform3d-rotatex-perspective-003.xht ?
+html4/transform3d-rotatex-transformorigin-001.htm ?
+xhtml1/transform3d-rotatex-transformorigin-001.xht ?
+html4/transform3d-rotatey-001.htm ?
+xhtml1/transform3d-rotatey-001.xht ?
+html4/transform3d-scale-001.htm ?
+xhtml1/transform3d-scale-001.xht ?
+html4/transform3d-scale-002.htm ?
+xhtml1/transform3d-scale-002.xht ?
+html4/transform3d-scale-003.htm ?
+xhtml1/transform3d-scale-003.xht ?
+html4/transform3d-scale-004.htm ?
+xhtml1/transform3d-scale-004.xht ?
+html4/transform3d-scale-005.htm ?
+xhtml1/transform3d-scale-005.xht ?
+html4/transform3d-scale-006.htm ?
+xhtml1/transform3d-scale-006.xht ?
+html4/transform3d-scale-007.htm ?
+xhtml1/transform3d-scale-007.xht ?
+html4/transform3d-sorting-001.htm ?
+xhtml1/transform3d-sorting-001.xht ?
+html4/transform3d-sorting-002.htm ?
+xhtml1/transform3d-sorting-002.xht ?
+html4/transform3d-sorting-003.htm ?
+xhtml1/transform3d-sorting-003.xht ?
+html4/transform3d-sorting-004.htm ?
+xhtml1/transform3d-sorting-004.xht ?
+html4/transform3d-sorting-005.htm ?
+xhtml1/transform3d-sorting-005.xht ?
+html4/transform3d-sorting-006.htm ?
+xhtml1/transform3d-sorting-006.xht ?
+html4/transform3d-translate3d-001.htm ?
+xhtml1/transform3d-translate3d-001.xht ?
+html4/transform3d-translatez-001.htm ?
+xhtml1/transform3d-translatez-001.xht ?
+html4/transform_translate_invalid_prefixed.htm ?
+xhtml1/transform_translate_invalid_prefixed.xht ?
+html4/transform_translate_max_prefixed.htm ?
+xhtml1/transform_translate_max_prefixed.xht ?
+html4/transform_translate_min_prefixed.htm ?
+xhtml1/transform_translate_min_prefixed.xht ?
+html4/transform_translate_neg_prefixed.htm ?
+xhtml1/transform_translate_neg_prefixed.xht ?
+html4/transform_translate_prefixed.htm ?
+xhtml1/transform_translate_prefixed.xht ?
+html4/transform_translate_second_omited_prefixed.htm ?
+xhtml1/transform_translate_second_omited_prefixed.xht ?
+html4/transform_translate_zero_prefixed.htm ?
+xhtml1/transform_translate_zero_prefixed.xht ?
+html4/transforms-rotate-degree-90.htm ?
+xhtml1/transforms-rotate-degree-90.xht ?
+html4/transforms-rotate-translate-scale.htm ?
+xhtml1/transforms-rotate-translate-scale.xht ?
+html4/transforms-rotatey-degree-60.htm ?
+xhtml1/transforms-rotatey-degree-60.xht ?
+html4/transforms-skewx.htm ?
+xhtml1/transforms-skewx.xht ?
+html4/transforms-skewy.htm ?
+xhtml1/transforms-skewy.xht ?
+html4/translate-optional-second-001.htm ?
+xhtml1/translate-optional-second-001.xht ?
+html4/translate.htm ?
+xhtml1/translate.xht ?
+html4/transofrmed-preserve-3d-1.htm ?
+xhtml1/transofrmed-preserve-3d-1.xht ?
+html4/transofrmed-rotatex-3.htm ?
+xhtml1/transofrmed-rotatex-3.xht ?
+html4/transofrmed-rotatey-1.htm ?
+xhtml1/transofrmed-rotatey-1.xht ?
+html4/ttwf-css-3d-polygon-cycle-mismatch.htm ?
+xhtml1/ttwf-css-3d-polygon-cycle-mismatch.xht ?
+html4/ttwf-css-3d-polygon-cycle.htm ?
+xhtml1/ttwf-css-3d-polygon-cycle.xht ?
+html4/ttwf-reftest-rotate.htm ?
+xhtml1/ttwf-reftest-rotate.xht ?
+html4/ttwf-transform-skewx-001.htm ?
+xhtml1/ttwf-transform-skewx-001.xht ?
+html4/ttwf-transform-skewy-001.htm ?
+xhtml1/ttwf-transform-skewy-001.xht ?
+html4/ttwf-transform-translatex-001.htm ?
+xhtml1/ttwf-transform-translatex-001.xht ?
+html4/ttwf-transform-translatey-001.htm ?
+xhtml1/ttwf-transform-translatey-001.xht ?
+html4/video-001.htm ?
+xhtml1/video-001.xht ?
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/index.htm b/tests/wpt/css-tests/css-transforms-1_dev/index.htm
new file mode 100644
index 00000000000..d81de38be2e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/index.htm
@@ -0,0 +1,177 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en">
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "indices.css";
+ </style>
+ </head>
+ <body>
+
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <dt>Test Coordinator:</dt>
+ <dd>None Yet</dd>
+
+ <p>This is a <strong>Development</strong>
+ version of the CSS Transforms Module Level 1 CR Test Suite.</p>
+
+ <p>You can provide test data or review the testing results for this test suite:</p>
+ <dt><a href="http://test.csswg.org/harness/suite/css-transforms-1_dev">Enter Data</a></dt>
+ <dt><a href="http://test.csswg.org/harness/review/css-transforms-1_dev">Review Results</a></dt>
+
+
+ <p>Some tests in the test suite may contain errors.
+ Please check the latest version of the
+ <a href="http://www.w3.org/TR/css-transforms-1/">CSS Transforms 1 specification</a>
+ <strong>and its errata</strong>
+ before assuming a failure is due to an implementation bug and
+ not a test suite bug.</p>
+
+
+ <p>
+ In time we hope to correct all errors and extend this test suite to
+ cover all of CSS Transforms 1. Your help is welcome in this effort.
+ The appropriate mailing list for submitting tests and bug reports is
+ <a href="http://lists.w3.org/Archives/Public/public-css-testsuite/">public-css-testsuite@w3.org</a>.
+ More information on the contribution process and test guidelines is
+ available on the <a href="http://wiki.csswg.org/test">wiki
+ page</a>.</p>
+
+ <p>Tests are currently available in these formats:</p>
+
+ <dl>
+ <dt><a href="html/toc.htm">HTML 5</a></dt>
+ <dd>HTML 5 tests sent as <code>text/html</code></dd>
+ <dt><a href="xhtml1/toc.xht">XHTML 1.1</a></dt>
+ <dd>XHTML 1.1 tests sent as <code>application/xhtml+xml</code></dd>
+ <dt><a href="xhtml1print/toc.xht">XHTML 1.1 for Printers</a></dt>
+ <dd>XHTML 1.1 tests with all images converted from PNG to JPEG
+ and formatted with headers and footers to ease testing of
+ embedded printer software. This is not a canonical format,
+ and some tests may fail due to the format conversion that
+ would otherwise pass in the above XHTML 1.1 format.</dd>
+ </dl>
+
+
+ <p>Unless the test instructions explicitly indicate otherwise,
+ any occurrence of red in a test indicates test failure.</p>
+
+<h2 id="implement">Implementation Reports</h2>
+ <p>An <a href="implementation-report-TEMPLATE.data">implementation report template</a>
+ is available to help with creating implementation reports. See also the
+ <a href="http://lists.w3.org/Archives/Public/public-css-testsuite/2010Aug/0020.html">explanation</a>
+ of its format.</p>
+
+<h2 id="common">Common Assumptions</h2>
+
+ <p>Most of the test suite makes the following assumptions:</p>
+ <ul>
+ <li>The X/HTML <code>div</code> element is assigned <code>display: block;</code>
+ and no other property declaration.</li>
+ <li>The X/HTML <code>span</code> element is assigned <code>display: inline;</code>
+ and no other property declaration.</li>
+ <li>The X/HTML <code>p</code> element is assigned <code>display: block;</code></li>
+ <li>The X/HTML <code>li</code> element is assigned <code>display: list-item;</code></li>
+ <li>The X/HTML table elements <code>table</code>, <code>tbody</code>,
+ <code>tr</code>, and <code>td</code> are assigned the <code>display</code>
+ values <code>table</code>, <code>table-row-group</code>,
+ <code>table-row</code>, and <code>table-cell</code>, respectively.</li>
+ <li>The device can display the sixteen color values associated with the color
+ keywords <code>black</code>, <code>white</code>, <code>gray</code>,
+ <code>silver</code>, <code>red</code>, <code>green</code>, <code>blue</code>,
+ <code>purple</code>, <code>yellow</code>, <code>orange</code>, <code>teal</code>,
+ <code>fuchsia</code>, <code>maroon</code>, <code>navy</code>, <code>aqua</code>,
+ and <code>lime</code> as distinct colors.</li>
+ <li>The UA is set to print background colors and, if it supports graphics,
+ background images.</li>
+ <li>The UA implements reasonable page-breaking behavior; e.g., it is assumed
+ that UAs will not break at every opportunity, but only near the end of
+ a page unless a page break is forced.</li>
+ <li>The UA implements reasonable line-breaking behavior; e.g., it is assumed
+ that spaces between alphanumeric characters provide line breaking
+ opportunities and that UAs will not break at every opportunity, but only
+ near the end of a line unless a line break is forced.</li>
+ </ul>
+
+<h2 id="uncommon">Uncommon Assumptions</h2>
+
+ <p>In addition, some of the tests make one or more of the following
+ assumptions:</p>
+
+ <ul>
+ <li>The device is a full-color device.</li>
+ <li>The device has a viewport width of at least 640px (approx).</li>
+ <li>The resolution of the device is 96 CSS pixels per inch.</li>
+ <li>The UA imposes no minimum font size.</li>
+ <li>The 'medium' font-size computes to 16px.</li>
+ <li>The initial value of 'color' is black.</li>
+ <li>The canvas background is white.</li>
+ <li>The user stylesheet is empty (except where indicated by the tests).</li>
+ <li>The device is interactive and uses scroll bars.</li>
+ </ul>
+
+ <p>The tests that need these assumptions to be true have not yet been
+ marked, but it is likely that we will add a way to identify these
+ tests in due course. Tests should avoid relying on these assumptions
+ unless necessary.</p>
+
+<h2>License</h2>
+
+ <p>This test suite is licensed under both the
+ <a href="http://www.w3.org/Consortium/Legal/2008/04-testsuite-license">W3C
+ Test Suite License</a> and the <a href="http://www.w3.org/Consortium/Legal/2008/03-bsd-license">W3C
+ 3-clause BSD License</a>. See W3C Legal's <a href="http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright">explanation
+ of the licenses</a>.</p>
+
+<h2>Acknowledgements</h2>
+
+ <p>Many thanks to the following for their contributions:</p>
+ <ul>
+ <li>Adrien Pachkoff</li>
+ <li>Amol Shanbhag</li>
+ <li>Andres Ugarte</li>
+ <li>Apple Inc.</li>
+ <li>Aryeh Gregor</li>
+ <li>Boris Zbarsky</li>
+ <li>caoqixing</li>
+ <li>Chris Sanborn</li>
+ <li>CJ Gammon</li>
+ <li>Clint Talbert</li>
+ <li>David Alcala</li>
+ <li>Delong Gao</li>
+ <li>Dirk Schulze</li>
+ <li>Ebay Inc.</li>
+ <li>Francisca Gil</li>
+ <li>Intel</li>
+ <li>Jacy-Bai</li>
+ <li>Ji Kai</li>
+ <li>Jian Zhang</li>
+ <li>Jieqiong Cui</li>
+ <li>Keith Schwarz</li>
+ <li>L. David Baron</li>
+ <li>Larry McLister</li>
+ <li>Leo Ziegler</li>
+ <li>loveky</li>
+ <li>Matt Woodrow</li>
+ <li>Michael Downey</li>
+ <li>Mihai Balan</li>
+ <li>Mihai Corlan</li>
+ <li>Myriam Goude</li>
+ <li>Noah Lu</li>
+ <li>Oleg Janeiko</li>
+ <li>Philip Rogers</li>
+ <li>Rebecca Hauck</li>
+ <li>Rick Hurst</li>
+ <li>Rik Cabanier</li>
+ <li>Robert O'Callahan</li>
+ <li>Serena Wales</li>
+ <li>Your Name</li>
+ <li>Zou Rui</li>
+ </ul>
+
+</body>
+</html>
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/index.xht b/tests/wpt/css-tests/css-transforms-1_dev/index.xht
new file mode 100644
index 00000000000..af945ff2798
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/index.xht
@@ -0,0 +1,177 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "indices.css";
+ </style>
+ </head>
+ <body>
+
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <dt>Test Coordinator:</dt>
+ <dd>None Yet</dd>
+
+ <p>This is a <strong>Development</strong>
+ version of the CSS Transforms Module Level 1 CR Test Suite.</p>
+
+ <p>You can provide test data or review the testing results for this test suite:</p>
+ <dt><a href="http://test.csswg.org/harness/suite/css-transforms-1_dev">Enter Data</a></dt>
+ <dt><a href="http://test.csswg.org/harness/review/css-transforms-1_dev">Review Results</a></dt>
+
+
+ <p>Some tests in the test suite may contain errors.
+ Please check the latest version of the
+ <a href="http://www.w3.org/TR/css-transforms-1/">CSS Transforms 1 specification</a>
+ <strong>and its errata</strong>
+ before assuming a failure is due to an implementation bug and
+ not a test suite bug.</p>
+
+
+ <p>
+ In time we hope to correct all errors and extend this test suite to
+ cover all of CSS Transforms 1. Your help is welcome in this effort.
+ The appropriate mailing list for submitting tests and bug reports is
+ <a href="http://lists.w3.org/Archives/Public/public-css-testsuite/">public-css-testsuite@w3.org</a>.
+ More information on the contribution process and test guidelines is
+ available on the <a href="http://wiki.csswg.org/test">wiki
+ page</a>.</p>
+
+ <p>Tests are currently available in these formats:</p>
+
+ <dl>
+ <dt><a href="html/toc.htm">HTML 5</a></dt>
+ <dd>HTML 5 tests sent as <code>text/html</code></dd>
+ <dt><a href="xhtml1/toc.xht">XHTML 1.1</a></dt>
+ <dd>XHTML 1.1 tests sent as <code>application/xhtml+xml</code></dd>
+ <dt><a href="xhtml1print/toc.xht">XHTML 1.1 for Printers</a></dt>
+ <dd>XHTML 1.1 tests with all images converted from PNG to JPEG
+ and formatted with headers and footers to ease testing of
+ embedded printer software. This is not a canonical format,
+ and some tests may fail due to the format conversion that
+ would otherwise pass in the above XHTML 1.1 format.</dd>
+ </dl>
+
+
+ <p>Unless the test instructions explicitly indicate otherwise,
+ any occurrence of red in a test indicates test failure.</p>
+
+<h2 id="implement">Implementation Reports</h2>
+ <p>An <a href="implementation-report-TEMPLATE.data">implementation report template</a>
+ is available to help with creating implementation reports. See also the
+ <a href="http://lists.w3.org/Archives/Public/public-css-testsuite/2010Aug/0020.html">explanation</a>
+ of its format.</p>
+
+<h2 id="common">Common Assumptions</h2>
+
+ <p>Most of the test suite makes the following assumptions:</p>
+ <ul>
+ <li>The X/HTML <code>div</code> element is assigned <code>display: block;</code>
+ and no other property declaration.</li>
+ <li>The X/HTML <code>span</code> element is assigned <code>display: inline;</code>
+ and no other property declaration.</li>
+ <li>The X/HTML <code>p</code> element is assigned <code>display: block;</code></li>
+ <li>The X/HTML <code>li</code> element is assigned <code>display: list-item;</code></li>
+ <li>The X/HTML table elements <code>table</code>, <code>tbody</code>,
+ <code>tr</code>, and <code>td</code> are assigned the <code>display</code>
+ values <code>table</code>, <code>table-row-group</code>,
+ <code>table-row</code>, and <code>table-cell</code>, respectively.</li>
+ <li>The device can display the sixteen color values associated with the color
+ keywords <code>black</code>, <code>white</code>, <code>gray</code>,
+ <code>silver</code>, <code>red</code>, <code>green</code>, <code>blue</code>,
+ <code>purple</code>, <code>yellow</code>, <code>orange</code>, <code>teal</code>,
+ <code>fuchsia</code>, <code>maroon</code>, <code>navy</code>, <code>aqua</code>,
+ and <code>lime</code> as distinct colors.</li>
+ <li>The UA is set to print background colors and, if it supports graphics,
+ background images.</li>
+ <li>The UA implements reasonable page-breaking behavior; e.g., it is assumed
+ that UAs will not break at every opportunity, but only near the end of
+ a page unless a page break is forced.</li>
+ <li>The UA implements reasonable line-breaking behavior; e.g., it is assumed
+ that spaces between alphanumeric characters provide line breaking
+ opportunities and that UAs will not break at every opportunity, but only
+ near the end of a line unless a line break is forced.</li>
+ </ul>
+
+<h2 id="uncommon">Uncommon Assumptions</h2>
+
+ <p>In addition, some of the tests make one or more of the following
+ assumptions:</p>
+
+ <ul>
+ <li>The device is a full-color device.</li>
+ <li>The device has a viewport width of at least 640px (approx).</li>
+ <li>The resolution of the device is 96 CSS pixels per inch.</li>
+ <li>The UA imposes no minimum font size.</li>
+ <li>The 'medium' font-size computes to 16px.</li>
+ <li>The initial value of 'color' is black.</li>
+ <li>The canvas background is white.</li>
+ <li>The user stylesheet is empty (except where indicated by the tests).</li>
+ <li>The device is interactive and uses scroll bars.</li>
+ </ul>
+
+ <p>The tests that need these assumptions to be true have not yet been
+ marked, but it is likely that we will add a way to identify these
+ tests in due course. Tests should avoid relying on these assumptions
+ unless necessary.</p>
+
+<h2>License</h2>
+
+ <p>This test suite is licensed under both the
+ <a href="http://www.w3.org/Consortium/Legal/2008/04-testsuite-license">W3C
+ Test Suite License</a> and the <a href="http://www.w3.org/Consortium/Legal/2008/03-bsd-license">W3C
+ 3-clause BSD License</a>. See W3C Legal's <a href="http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright">explanation
+ of the licenses</a>.</p>
+
+<h2>Acknowledgements</h2>
+
+ <p>Many thanks to the following for their contributions:</p>
+ <ul>
+ <li>Adrien Pachkoff</li>
+ <li>Amol Shanbhag</li>
+ <li>Andres Ugarte</li>
+ <li>Apple Inc.</li>
+ <li>Aryeh Gregor</li>
+ <li>Boris Zbarsky</li>
+ <li>caoqixing</li>
+ <li>Chris Sanborn</li>
+ <li>CJ Gammon</li>
+ <li>Clint Talbert</li>
+ <li>David Alcala</li>
+ <li>Delong Gao</li>
+ <li>Dirk Schulze</li>
+ <li>Ebay Inc.</li>
+ <li>Francisca Gil</li>
+ <li>Intel</li>
+ <li>Jacy-Bai</li>
+ <li>Ji Kai</li>
+ <li>Jian Zhang</li>
+ <li>Jieqiong Cui</li>
+ <li>Keith Schwarz</li>
+ <li>L. David Baron</li>
+ <li>Larry McLister</li>
+ <li>Leo Ziegler</li>
+ <li>loveky</li>
+ <li>Matt Woodrow</li>
+ <li>Michael Downey</li>
+ <li>Mihai Balan</li>
+ <li>Mihai Corlan</li>
+ <li>Myriam Goude</li>
+ <li>Noah Lu</li>
+ <li>Oleg Janeiko</li>
+ <li>Philip Rogers</li>
+ <li>Rebecca Hauck</li>
+ <li>Rick Hurst</li>
+ <li>Rik Cabanier</li>
+ <li>Robert O'Callahan</li>
+ <li>Serena Wales</li>
+ <li>Your Name</li>
+ <li>Zou Rui</li>
+ </ul>
+
+</body>
+</html>
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/indices.css b/tests/wpt/css-tests/css-transforms-1_dev/indices.css
new file mode 100644
index 00000000000..7bc70eeef94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/indices.css
@@ -0,0 +1,96 @@
+/* CSS for CSS Conformance Test Indices */
+/* Written by fantasai */
+
+/* Test Tables */
+
+ table {
+ border-collapse: collapse;
+ }
+
+ thead {
+ border-bottom: 0.2em solid;
+ }
+
+ tbody {
+ border: thin solid;
+ border-style: solid none;
+ }
+
+ tbody.ch {
+ border-top: 0.2em solid;
+ }
+ tbody.ch th {
+ font-weight: bold;
+ }
+
+ tbody th {
+ border-bottom: silver dotted thin;
+ background: #EEE;
+ color: black;
+ font-weight: normal;
+ font-style: italic;
+ }
+ tbody th :link {
+ color: gray;
+ background: transparent;
+ }
+ tbody th :visited {
+ color: #333;
+ background: transparent;
+ }
+
+ th, td {
+ padding: 0.2em;
+ text-align: left;
+ vertical-align: baseline;
+ }
+
+ td {
+ font-size: 0.9em;
+ }
+
+ /* flags */
+ td abbr {
+ border: solid thin gray;
+ padding: 0 0.1em;
+ cursor: help;
+ }
+ td abbr:hover {
+ background: #ffa;
+ color: black;
+ }
+
+
+ tr:hover {
+ background: #F9F9F9;
+ color: navy;
+ }
+
+ th a,
+ td a {
+ text-decoration: none;
+ }
+ th a:hover,
+ td a:hover,
+ th a:focus,
+ td a:focus {
+ text-decoration: underline;
+ }
+
+ td a {
+ display: block;
+ padding-left: 2em;
+ text-indent: -1em;
+ }
+ .refs {
+ font-weight: bold;
+ font-size: larger;
+ }
+ .assert, .assert > li {
+ list-style-type: none;
+ font-style: italic;
+ color: gray;
+ margin: 0;
+ padding: 0;
+ text-indent: 0;
+ }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/testinfo.data b/tests/wpt/css-tests/css-transforms-1_dev/testinfo.data
new file mode 100644
index 00000000000..ea386a5b320
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/testinfo.data
@@ -0,0 +1,1050 @@
+id references title flags links revision credits assertion
+2d-rotate-001 reference/2d-rotate-ref,!reference/2d-rotate-notref CSS Transform using 2d rotate() css3,,rotate,,svg http://www.w3.org/TR/css-transforms-1/#transform-property 0cf4093b8a9a16b78de97230d53260c34b05f9fe `Rick Hurst`<http://mrkn.co/axegs> asserting that you can rotate an element with CSS
+2d-rotate-js Rotate via javascript must show the correct computed rotation css3,,rotate,,svg http://www.w3.org/TR/css-transforms-1/#transform-property cda33f93d2f58e3e38b2a406149ad8b690638975 `Rick Hurst`<http://mrkn.co/axegs> Asserting that you can rotate an element with JS and it show up in CSS computed values not as a matrix but as the rotation
+animations-001 reference/animations-001-ref CSS Regions: animating content flowed into a region ahem,animated http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#transform-functions,http://www.w3.org/TR/css3-animations/#animations 58200be49397d3ebd75335737334fadb5f72043a `Mihai Balan`<mailto:mibalan@adobe.com> Test checks that content that has an animated 3D transform renders and animates when flowed in a region.
+backface-visibility-hidden-001 reference/backface-visibility-hidden-ref transform property with backface visibility = hidden http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility b4607716790b1493ef762e8ca5c7d0afe14cd375 `Jian Zhang`<mailto:jian.andy.zhang@gmail.com> When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer.
+canvas3d-001 reference/canvas3d-001-ref CSS Regions: rendering 3D canvas elements inside regions dom http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#transform-functions 2f6baccb8e8e33017d8e1100142074a0ec735244 `Mihai Balan`<mailto:mibalan@adobe.com> Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region.
+canvas3d-002 reference/canvas3d-002-ref CSS Regions: rendering text flowed in a region on top of 3D content dom http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#transform-functions d5431124350557a48fb42d3e6bfc421d6f6ccd6f `Mihai Balan`<mailto:mibalan@adobe.com> Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly.
+css-rotate-2d-3d-001 reference/css-rotate-2d-3d-001-ref 2D rotation with 3D rotation http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions a390e6a1517ef28910ffc89f94c94cd1794676a8 `Philip Rogers`<mailto:pdr@google.com> This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis.
+css-scale-nested-001 reference/css-scale-nested-ref scale 0 on a parent with a child http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 9cf7f6237e87d603845495bb15345831b7843cee `Amol Shanbhag`<mailto:amolvshanbhag@yahoo.com> Child square element is transformed (scaled to zero) along with the parent element
+css-skew-001 reference/css-skew-001-ref skew function part 1 http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 9a9304aa06034b72a795191af5da08a7294cfe1e `Adrien Pachkoff`<mailto:adrien@pachkoff.com>
+css-skew-002 reference/css-skew-002-ref skew function part 2 http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 58eec567495beede7f0b4e50946f4a619470f2aa `Adrien Pachkoff`<mailto:adrien@pachkoff.com>
+css-transform-3d-rotate3d-X-negative reference/css-transform-3d-rotateX-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 2d42016b2d035842e12d182b95deaf713db692d4 `Intel`<http://www.intel.com> Test checks that rotate the 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotate3d-X-positive reference/css-transform-3d-rotateX-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions fb451dd60e8b62393fdf08407f326914bc24b0c1 `Intel`<http://www.intel.com> Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotate3d-Y-negative reference/css-transform-3d-rotateY-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions c4164a2fc40aa6b016c2015ee52f43e51d34a4cc `Intel`<http://www.intel.com> Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotate3d-Y-positive reference/css-transform-3d-rotateY-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 68ef5801c0a6bb9d1a1e1624d6bc8e8483c9a10e `Intel`<http://www.intel.com> Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotate3d-Z-negative reference/css-transform-3d-rotateZ-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 8d643d54fdf3e86b4b0291842a8d761bf3fd9229 `Intel`<http://www.intel.com> Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.
+css-transform-3d-rotate3d-Z-positive reference/css-transform-3d-rotateZ-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 03be87f77118119c672bc4b964a6f57dc896ed08 `Intel`<http://www.intel.com> Test checks that rotate a vertical rectangle for 90 degree on Z-axis would cover the horizontal red rectangle.
+css-transform-3d-rotateX-negative reference/css-transform-3d-rotateX-ref rotateX on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions b151fbc9a8d213b971812d5f58cb11b424e07cc6 `Intel`<http://www.intel.com> Test checks that rotate a 2:1 rectangle on X-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotateX-positive reference/css-transform-3d-rotateX-ref rotateX on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 5e9b3c8725db2d10211dfe49d32df18b9185bcfc `Intel`<http://www.intel.com> Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotateY-negative reference/css-transform-3d-rotateY-ref rotateY on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 699c351f03f72bbfe5befb2d94e29b5663106b61 `Intel`<http://www.intel.com> Test checks that rotate a 2:1 rectangle on Y-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotateY-positive reference/css-transform-3d-rotateY-ref rotateY on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions d4c698ea6b465be4cb76f8a1e987cccfc00ec12b `Intel`<http://www.intel.com> Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.
+css-transform-3d-rotateZ-negative reference/css-transform-3d-rotateZ-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 93ad930b4bc0e723dee4597f5d9656cee77eb998 `Intel`<http://www.intel.com> Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.
+css-transform-3d-rotateZ-positive reference/css-transform-3d-rotateZ-ref rotate3d on div element http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 564f242d8fbd1f4fb5c9c6ab5571ac0a4f5e53f1 `Intel`<http://www.intel.com> Test checks that rotate a vertical rectangle for 90 degree on Z-axis will cover the horizontal red rectangle.
+css-transform-3d-transform-style reference/css-transform-3d-transform-style-ref rotateY with transform-style on nested elements http://www.w3.org/TR/css-transforms-1/#transform-style-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 763e6cd53d770c3654f01011d87a2aa94d9200b7 `Intel`<http://www.intel.com> Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box.
+css-transform-inherit-rotate CSS transforms rotate inheritance on div element http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions d5728ed357c652d068fdcba412306f15e3ed0b2c `Delong Gao`<mailto:gaodl@uw.edu> Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree.
+css-transform-inherit-scale CSS transforms scale 2 inheritance on div elements http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 697e2bc8354a9373871c6e5eaee3da61bab5bcbd `Delong Gao`<mailto:gaodl@uw.edu> While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red.
+css-transform-property-existence property existence dom,script http://www.w3.org/TR/css-transforms-1/#propdef-transform e2e29b7a421004f2d2de28cd9c00865a8326dcc8 `Intel`<http://www.intel.com>
+css-transform-scale-001 reference/css-transform-scale-ref-001 transform property with scale function on hover state http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#transform-functions fd8fb29f9ca68d9624ddee5fe2b44fe12aed446b `Chris Sanborn`<mailto:granimalcracker@gmail.com> When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.
+css-transform-scale-002 reference/css-transform-scale-ref-002 transform property with scale function and move its origin http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#transform-functions 9792f1bc7c1fa591e681d2f1773de035009e948a `Chris Sanborn`<mailto:granimalcracker@gmail.com> The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.
+css-transform-style-evaluation-validation property dom,script http://www.w3.org/TR/css-transforms-1/#transform-property 37a8b97e35690234100fba2ce84f6ce49f9c451c `Intel`<http://www.intel.com>
+css-transforms-3d-on-anonymous-block-001 reference/css-transforms-3d-anonymous-block-ref No 3D transforms on anonymous block boxes http://www.w3.org/TR/css-transforms-1/#transform-rendering,http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering b6336b0f9700ab406855b37209b33e9b5d6959eb `Dirk Schulze`<mailto:dschulze@adobe.com> 3D transforms can not be applied to anonymous block boxes.
+css-transforms-transformlist reference/css-transforms-transformlist-ref SVG transform in baseVal list http://www.w3.org/TR/css-transforms-1/#transform-attribute-dom 9aa16f87302fce56962b190dd82915528c961aa9 `Rik Cabanier`<mailto:cabanier@adobe.com> This test verifies that the CSS transform ends up in the list of SVG transforms
+css3-transform-perspective reference/css3-transform-perspective-ref rotateX 90 degrees with perspective make it invisible http://www.w3.org/TR/css-transforms-1/#propdef-perspective afb573840318c4c2b4022eb6a7b22d224f0c3b00 `caoqixing`<mailto:robin.webkit@gmail.com> Test passes if rotateX 90 degrees with perspective make it invisible
+css3-transform-rotateY reference/css3-transform-rotateY-ref transform property with rotateY function http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate a6a3ef1c37c465ab87f3462112f12644bf98dc61 `Noah Lu`<mailto:codedancerhua@gmail.com> box width should be equal to projection width if transform rotateY applied
+css3-transform-scale reference/css3-transform-scale-ref transform property with scale function http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#funcdef-scale d0123070f9c1a2c5c76909db503799b4b8fba9ab `Noah Lu`<mailto:codedancerhua@gmail.com> box width and height will be twice larger if transform scale(2) applied
+css3-transform-scale-002 reference/css3-transform-scale-ref-002 transform property with scale function http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 68e29f2bb12052b13a608f2c27360f48e7da3026 `Noah Lu`<mailto:codedancerhua@gmail.com> box width and height will be twice larger if transform scale(2) applied
+iframe-001 reference/iframe-001-ref CSS Regions: flowing an iframe that loads content with 3D transform ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#transform-functions f9692ce6022962ff987762295548095720317b13 `Mihai Balan`<mailto:mibalan@adobe.com> Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts.
+perspective-origin-001 reference/ref-filled-green-100px-square perspective-origin - 0px center('center' computes to '50%' in vertical position) http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin 27fac0a305b07a36ae04ff616aa6da455f6620e6 `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'perspective-origin' property set 'center' computes to 50% for the vertical position.
+perspective-origin-002 reference/ref-filled-green-100px-square perspective-origin - center 0px('center' computes to '50%' in horizontal position) http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin b232c7117664f3457f2ed95cd5126ba5dcaa9ab5 `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'perspective-origin' property set 'center' computes to 50% for the horizontal position.
+perspective-origin-003 reference/ref-filled-green-100px-square perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position) http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin 32d21455e12035e415bdacef7848074aa624c4f2 `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position.
+perspective-origin-004 reference/ref-filled-green-100px-square perspective-origin - 50% top('top' computes to '0%' in vertical position) http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin bbbd59f11ac3fc207162ac98fa7ece47f9ae1d0a `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'perspective-origin' property set 'top' computes to 0% for the vertical position.
+perspective-origin-005 reference/ref-filled-green-100px-square perspective-origin - left 50%('left' computes to '0%' in horizontal position) http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin 214178004f37bc2d40dc940728f7647588fa3fa0 `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'perspective-origin' property set 'left' computes to 0% for the horizontal position.
+perspective-origin-006 reference/ref-filled-green-100px-square perspective-origin - right 50%('right' computes to '100%' in horizontal position) http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin 83baf146b198d27cb3f881b81df97f72170a3aee `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'perspective-origin' property set 'right' computes to 100% for the horizontal position.
+perspective-origin-x reference/perspective-origin-reftest perspective property http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin,http://www.w3.org/TR/css-transforms-1/#perspective-property,http://www.w3.org/TR/css-transforms-1/#transform-property a514169deb95e436dffd165421439d0077bf8dec `Francisca Gil`<mailto:pancha0.0@gmail.com> Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'
+perspective-origin-xy reference/perspective-reftest perspective property http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin,http://www.w3.org/TR/css-transforms-1/#transform-property 28e8b6088ef1d05ab83bcd0b76d83db9f2a6542e `Francisca Gil`<mailto:pancha0.0@gmail.com> Asserts that origin '<x,y>' visually moves the objects '<-x,-y>*d/(d-1)'
+perspective-translateZ-0 reference/perspective-reftest perspective property http://www.w3.org/TR/css-transforms-1/#perspective-property,http://www.w3.org/TR/css-transforms-1/#transform-property d0003a38d7a9db5be25088682100d0a246b7fed4 `Andres Ugarte`<mailto:anduga@gmail.com> Asserts that points on the z=0 plane are unchanged
+perspective-translateZ-negative reference/perspective-reftest perspective property http://www.w3.org/TR/css-transforms-1/#perspective-property,http://www.w3.org/TR/css-transforms-1/#transform-property 4247257f27c177efd03ccd8d0b0d743d0cd88f92 `Andres Ugarte`<mailto:anduga@gmail.com> Asserts that the scaling is proportional to d/(d &acirc;&#710;&#8217; Z) for a negative Z
+perspective-translateZ-positive reference/perspective-reftest perspective property http://www.w3.org/TR/css-transforms-1/#perspective-property,http://www.w3.org/TR/css-transforms-1/#transform-property 882e012be02ab42a15e56763d604eb9b29f79685 `Andres Ugarte`<mailto:anduga@gmail.com> Asserts that the scaling is proportional to d/(d &acirc;&#710;&#8217; Z) for a positive Z
+regions-transforms-001 reference/regions-transforms-001-ref CSS Regions: Transformed named flow (non-text) content http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions df8f65049018b0ba4622a006ac2c510d33a9ed54 `David Alcala`<mailto:dalcala@adobe.com> This test checks that the transform is applied to the named flow non-text content.
+regions-transforms-002 reference/regions-transforms-001-ref CSS Regions: Transformed named flow content element that has a child http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 5446ebdbeb1dfb6e48bde6195f12fe1bc66734e1 `David Alcala`<mailto:dalcala@adobe.com> This test checks that the child is transformed along with the parent when the transform is applied to a named flow content node
+regions-transforms-003 reference/regions-transforms-001-ref CSS Regions: Named flow content that has a transformed parent outside of the named flow http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions e3b43fb18ab66dfdcfb326afb819d19bd3bf79ce `David Alcala`<mailto:dalcala@adobe.com> This tests checks that when a transform is applied to a parent outside of the named flow but has child in the named flow, the child is not transformed along with the parent.
+regions-transforms-004 reference/regions-transforms-001-ref CSS Regions: Transformed region using a 3D transform http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 74d1a2dbee481879e40d68ef593345807e854642 `David Alcala`<mailto:dalcala@adobe.com> This test checks that a 3D transform can be applied to a region
+regions-transforms-005 reference/regions-transforms-001-ref CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#perspective-property 913e605f79c0bd7fa7a503f4ca5ac508fb83ba7d `Mihai Balan`<mailto:mibalan@adobe.com>,`Rebecca Hauck`<mailto:rhauck@adobe.com> Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.
+regions-transforms-006 reference/regions-transforms-001-ref CSS Regions: 3D transform on region with named flow (text) content that overflows ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 84d78e1b9b1e97afeb6b483a242c53f1ff2253ee `Mihai Balan`<mailto:mibalan@adobe.com>,`Rebecca Hauck`<mailto:rhauck@adobe.com> Test checks that content flowed in a region and overflowing it is still rendered if the region has a 3D transform applied.
+regions-transforms-007 reference/regions-transforms-001-ref CSS Regions: Transforms on both the named flow content and the region ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 4cdf36e0c5c21021a0e7d724e40ef9f7e5cf00fc `Rebecca Hauck`<mailto:rhauck@adobe.com>,`Mihai Balan`<mailto:mibalan@adobe.com> Test checks that if both the content flowed in a region and the region have a transform applied, they are properly composed. More specifically, in this test the content should appear as rotated 180 degrees.
+regions-transforms-008 reference/regions-transforms-008-ref CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css3-break/#transforms 58d78346144d7c008e64511acbf572838a2a269b `Rebecca Hauck`<mailto:rhauck@adobe.com>,`David Alcala`<mailto:dalcala@adobe.com>,`Mihai Balan`<mailto:mibalan@adobe.com> This test checks that named flow text content is transformed when it breaks across multiple regions and that the overflow remains visible.
+regions-transforms-009 reference/regions-transforms-008-ref CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css3-break/#transforms 32378d5da8a2c8d3aabf46cfbeaa935025b9d9a6 `Rebecca Hauck`<mailto:rhauck@adobe.com>,`David Alcala`<mailto:dalcala@adobe.com> This test checks that the regions are transformed when named flow text content breaks across multiple regions and that the overflow remains visible.
+regions-transforms-010 reference/regions-transforms-010-ref CSS Regions: Transformed region with position: relative http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 410ae95b3811f31ce90968e4de2d53ff42aa861e `Rebecca Hauck`<mailto:rhauck@adobe.com>,`David Alcala`<mailto:dalcala@adobe.com> This test checks that the transform can be applied on relative positioned region.
+regions-transforms-011 reference/regions-transforms-010-ref CSS Regions: Transformed region where parent and child are separate named flow content nodes http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 82c7988143629889c2ce3be9631b84e7610771f8 `David Alcala`<mailto:dalcala@adobe.com> This test checks that the region is transformed when a parent and its child are separate named flow content nodes flowing into it.
+regions-transforms-012 reference/regions-transforms-010-ref CSS Regions: Transformed named flow content flowing into transformed region http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 286dc7367be44dd51c782d349d510d57318580af `David Alcala`<mailto:dalcala@adobe.com> This test checks that named flow text content is transformed when it flows into a region that is also transformed.
+regions-transforms-013 reference/regions-transforms-013-alt-ref;reference/regions-transforms-013-ref CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css3-break/#transforms,http://www.w3.org/TR/css3-break/#breaking-rules,http://www.w3.org/TR/css3-break/#monolithic 0ae809ed1ce15a7fbfcb3dd582d9060f2d53ae8d `Rebecca Hauck`<mailto:rhauck@adobe.com>,`David Alcala`<mailto:dalcala@adobe.com> This test checks that the named flow content that is monolithic is transformed when it breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge.
+regions-transforms-014 reference/regions-transforms-014-ref CSS Regions: Transform region with position:absolute and transform-origin http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property 162eeff712756893589f7f2c8dece2fcbb9aaf26 `David Alcala`<mailto:dalcala@adobe.com> This test checks that the transform and transform-origin are applied to a region with absolute positioning.
+regions-transforms-015 reference/regions-transforms-014-ref CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions f305b81a5b47c0a51480579f5624f81ac4fd803e `David Alcala`<mailto:dalcala@adobe.com> This test checks that the transform and transform-origin are applied to named flow content that flows into a region with absolute positioning.
+regions-transforms-016 reference/regions-transforms-016-ref CSS Regions: 3D transform on named flow content with perspective() http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions d4f879754bc6591e95075fa01846b740d7cc5615 `David Alcala`<mailto:dalcala@adobe.com> This test checks that a 3D transform is applied with perspective to named flow content.
+regions-transforms-017 reference/regions-transforms-017-ref CSS Regions: Multiple transformed named flow content nodes that overflow a region http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 19be2df0fec774323f9657f8f3a4f239fc5e5c60 `David Alcala`<mailto:dalcala@adobe.com> This test checks that multiple named flow content nodes are transformed into a region and that the overflow remains visible.
+regions-transforms-018 reference/regions-transforms-018-ref CSS Regions: 3D transform on named flow (text) content that overflows a region ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions 37f5de6aae25dd7cef06f1aee9d21432e3034d0f `Mihai Balan`<mailto:mibalan@adobe.com>,`Rebecca Hauck`<mailto:rhauck@adobe.com> Test checks that content that is transformed does not clip when flowed in a region.
+regions-transforms-019 reference/regions-transforms-019-ref CSS Regions: 3D transform on named flow (text) content with perspective property set on region ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#perspective-property,http://www.w3.org/TR/css-transforms-1/#perspective-origin-property a47a0531097e5be07dbb25a4b3146ba5e9f2bfd1 `Mihai Balan`<mailto:mibalan@adobe.com> Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted
+regions-transforms-020 reference/regions-transforms-020-ref CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css3-break/#transforms,http://www.w3.org/TR/css3-break/#breaking-rules 8c0ae042b61a7bf518608af69c63134156a08fde `David Alcala`<mailto:dalcala@adobe.com>,`Rebecca Hauck`<mailto:rhauck@adobe.com> This test checks that the named flow content that is fragmentable (has a break point) is transformed when it breaks across multiple regions.
+regions-transforms-021 reference/regions-transforms-020-ref CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css3-break/#transforms f0ae7ad886e17d887f432e628bbfba95b31ef6e7 `David Alcala`<mailto:dalcala@adobe.com>,`Rebecca Hauck`<mailto:rhauck@adobe.com> This test checks that separate transforms can be applied to each named flow content node that breaks across multiple regions and that each fragment has its own transform origin.
+regions-transforms-022 reference/regions-transforms-020-ref CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions ahem http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css3-break/#transforms b80d65f89251dfe278eb59a5f16ed68c73f73328 `David Alcala`<mailto:dalcala@adobe.com>,`Rebecca Hauck`<mailto:rhauck@adobe.com> This test checks that separate transforms can be applied to each named flow content text node that breaks across multiple regions
+rotate-180-degrees-001 transform - rotate 180 deg http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 7e7e2cbee0f65bbefb6ce7e74ff7a70968a25a79 `Larry McLister`<mailto:lmcliste@adobe.com>
+rotate-270-degrees-001 transform - rotate 270 deg http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 7814b1f339a4d049adb1be6f798a36179ce03db3 `Larry McLister`<mailto:lmcliste@adobe.com>
+rotate-90-degrees-001 transform - rotate 90 deg http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 4c37b50fe36a932f5b7ac050e8dc68167132b0d8 `Larry McLister`<mailto:lmcliste@adobe.com>
+rotate_45deg reference/rotate_45deg-ref rotateY with perspective produces a trapezoid http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 997a299f95c4af319a495e8669dd6e366e0cbe14 `Ebay Inc.`<xiatian@ebay.com> Rotate 45 degree in y axis
+rotate_x_45deg reference/rotate_x_45deg-ref rotateX with perspective produces a trapezoid http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 235f53c4cee4aced8564ee1e2ecb82454516fd58 `Ebay Inc.`<xiatian@ebay.com> Rotate 45 degree in y axis
+rotate_y_45deg reference/rotate_y_45deg-ref rotateY with perspective produces a trapezoid http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 3d6a6a6f2826c1b33fef7e907991e5d7313a62a0 `Ebay Inc.`<xiatian@ebay.com> Rotate 45 degree in y axis
+rotateY reference/rotateY-ref transform property with rotateY http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey f4e3440dfbc15922fb037d7340c9eb4218c4254e `Zou Rui`<mailto:zrxldl@gmail.com> When the value of transform is 'rotateY(90deg)', the foward side of a transformed element disappears.
+scale-optional-second-001 reference/scale-optional-second-ref transform property with scale function and one parameter http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 98c8393e60b87675e850812e29e1aae19b746a03 `Jian Zhang`<mailto:jian.andy.zhang@gmail.com> If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes.
+scale-zero-001 reference/scale-zero-ref transform property with scale function and zero values http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 2caa488dc20a00d72db606b2da9dfb6eae4ee03f `Jian Zhang`<mailto:jian.andy.zhang@gmail.com> If zero value is passed to scale function, it causes the element to disappear.
+scalex reference/scalex-ref test scale x http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering d96405b06883053b7bf069984a4dbdbc7ba45642 `Ebay Inc.`<xiatian@ebay.com> scale x 2
+scaley reference/scaley-ref test scale y http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 773ad81d895a732a8309e631a30ca2b62272c9ff `Ebay Inc.`<xiatian@ebay.com> scale y 2
+skew-test1 reference/skew-test1-ref Testing 1 - skew() svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 3f10aa2b642cf5ad92d70ff682ab9efd15ea998b `Myriam Goude`<mailto:mymygo@gmail.com> The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0
+svg-document-styles-001 reference/svg-document-styles-ref Document transform style on SVG element with presentation attribute style on the same element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity e2c4fc089927fe0410c4db4522e637cd118b4a65 `Rebecca Hauck`<mailto:rhauck@adobe.com> Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.
+svg-document-styles-002 reference/svg-document-styles-ref Document transform style on SVG child element with presentation attribute styles on the parent and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity c87b61f0992f8e8c3f1e6a09f0e5e1c5d9f9462a `Rebecca Hauck`<mailto:rhauck@adobe.com> Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.
+svg-document-styles-003 reference/svg-document-styles-ref Document transform style on SVG group element and presentation attribute style on child element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 2c456edcb0718edb3170eda07fffacb1f756b0e0 `Rebecca Hauck`<mailto:rhauck@adobe.com> Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.
+svg-document-styles-004 reference/svg-document-styles-ref Document transform style on SVG group element and presentation attribute style on group and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 9ca3c3e8e4fe1e1a11701b76e7f7a2a6c963b553 `Rebecca Hauck`<mailto:rhauck@adobe.com> Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.
+svg-document-styles-005 reference/svg-document-styles-ref Fall back to presentation attribute style of SVG element with invalid document transform style svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 11df454a6165d6bc7bb5b51478e6dbfc405863db `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.
+svg-document-styles-006 reference/svg-document-styles-ref Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 646b2190e06e55e4896c5a25288276e6f862a2d9 `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.
+svg-document-styles-007 reference/svg-document-styles-ref Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 6760bca68c117af52461b8e650cd1ad38403382c `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.
+svg-document-styles-008 reference/svg-document-styles-ref Invalid document and presentation attribute styles on an SVG element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 799780f55b9089c4a7d325dd43c1a5a6fa34a15e `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.
+svg-document-styles-009 reference/svg-document-styles-ref Invalid document transform style on SVG group with valid presentation attribute style on child element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 248d46e10b5e4265bceae192d12f5844e5d6a357 `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.
+svg-document-styles-010 reference/svg-document-styles-ref Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 8569afec7837b9a7e40a274936c4875c9575f7ca `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.
+svg-document-styles-011 reference/svg-document-styles-ref Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 262f579e301e1408d3ca2e1361bbc952227df1ca `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.
+svg-document-styles-012 reference/svg-document-styles-ref Document style of rotate with three arguments on SVG element with presentation attribute style on the same element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions ebbe2bdc47dfa24b4f900a71538c54a67c174983 `David Alcala`<mailto:dalcala@adobe.com> Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.
+svg-document-styles-013 reference/svg-document-styles-ref Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 4a4168e017a4e859a2c72d063c46d262f8141680 `David Alcala`<mailto:dalcala@adobe.com> Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.
+svg-document-styles-014 reference/svg-document-styles-ref Invalid document and presentation attribute styles on an SVG element using rotate with three arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 556d89cfbf2d6027e363fc022bdd28ae0e338fb1 `David Alcala`<mailto:dalcala@adobe.com> When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.
+svg-external-styles-001 reference/svg-external-styles-ref External transform style on SVG element with presentation attribute style on the same element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity ff4efd853f1bc0909aa132fd5d41b57290c9a1bd `Rebecca Hauck`<mailto:rhauck@adobe.com> External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.
+svg-external-styles-002 reference/svg-external-styles-ref External transform style on SVG child element with presentation attribute styles on the parent and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity e162638b3f7726806d5fda7e0f161d20f3a80417 `Rebecca Hauck`<mailto:rhauck@adobe.com> External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.
+svg-external-styles-003 reference/svg-external-styles-ref External transform style on SVG group element and presentation attribute style on child element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity bd73c5af302d154c2f3f878692ca9af76aab5f1e `Rebecca Hauck`<mailto:rhauck@adobe.com> External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.
+svg-external-styles-004 reference/svg-external-styles-ref External transform style on SVG group element and presentation attribute style on group and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity a74d07ac1a9c9cd1a5cc222c28132987ac93f5f5 `Rebecca Hauck`<mailto:rhauck@adobe.com> External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.
+svg-external-styles-005 reference/svg-external-styles-ref Fall back to presentation attribute style of SVG element with invalid external transform style svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 353ffe01661392d61d0dba8d7734ae3cee1c364c `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.
+svg-external-styles-006 reference/svg-external-styles-ref Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity afe9aa21ee8612c350c3fe16db766ac261871f9c `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.
+svg-external-styles-007 reference/svg-external-styles-ref Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 8ff47cd946b15c3bc0a841940584e4dda1432f16 `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.
+svg-external-styles-008 reference/svg-external-styles-ref Invalid external and presentation attribute styles on an SVG element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity c5d9f9447f8f7eb9b349e21b912f28aa97490c6d `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.
+svg-external-styles-009 reference/svg-external-styles-ref Invalid external transform style on SVG group with valid presentation attribute style on child element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 298fce986cb37c25d2da15c93d5673d9675f990e `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.
+svg-external-styles-010 reference/svg-external-styles-ref Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity db4aae9427227ae43fed143737acea2c1efe49e9 `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.
+svg-external-styles-011 reference/svg-external-styles-ref Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 9a571a1a94fe9efa7683a09de3b98f39b09be7c9 `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.
+svg-external-styles-012 reference/svg-external-styles-ref External style of rotate with three arguments on SVG element with presentation attribute style on the same element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 6c93dbdf51ef78945afca2f6c0d26c97690fdbba `David Alcala`<mailto:dalcala@adobe.com> Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.
+svg-external-styles-013 reference/svg-external-styles-ref Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 5665302294d9712bece6d879b22ca09141ef4665 `David Alcala`<mailto:dalcala@adobe.com> Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.
+svg-external-styles-014 reference/svg-external-styles-ref Invalid external and presentation attribute styles on an SVG element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions f3380b97674fcf08022c92708b0e391b1b048601 `David Alcala`<mailto:dalcala@adobe.com> When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.
+svg-gradientTransform-001 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translateX with translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 50503c5d1459db6ee15fa33afc7a9c1cd01f06cc `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-002 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 1beed3b495a88286bbc7fb63197b874acf91a412 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-003 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 1a6b7e211cf1fdacc14d9c433da42b0fcdde7bcf `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-004 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform eaf1a6510a45907934b31aef86c7aafbae425595 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-005 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform b836726542460975d18283fcf19cc495937a8e63 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-006 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a76f345ccbdb3f31e1f544e2efa13fe7f47dd148 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-007 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 953bd61906421a5169f37aea2a206e7c8c335615 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-008 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform d28b613e25de7e58b257afdc76058413bf11fac1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-009 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 50e32b989e06e7bb4652f1da5c945bea8cbedee5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-010 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform ae27e3d74411e2b5c300e078401f427b783a1ed8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-011 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform f78ab6626eb7d29da58df3e61a5f4d53a7403b44 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-012 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 129b11c5e54fd997c4b2cca8f96c98822af65d0f `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-013 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 66c8d8faa9ea33a4d6921fc431d0c00756f85c71 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-014 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform e2301d7249c04624f27d9524da188f4558ace41f `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-015 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 057e867c850f3d42cc2003bb7248e2e20df6099d `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-016 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 14e476d8b99275cb912088c8df32ec165d187853 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-017 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 3ac2ce7beb42d533437c87c82850bd15a26b61e7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-018 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 1bf66b40be02bcc9eed588169d8a467afcbf525f `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-019 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 397bbd59ebbd6754a99cb6012ff3c7445b31f91e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-020 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform fc074f0c0907bf07a815fcbc6a8b17234e8d5b8e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-021 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 4c9395c2937a1c3bca2b23c0278ac8a8c92f7bf0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-022 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 6c76ea88fa31db8c9b1bedbb47601d279fec3240 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-023 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a6c1f697a3509d3bed7d92e2db628d017dbc3b81 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-024 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform fc439672a5c64d079ddb4df40c740d0baf031684 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-025 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform baa610190fa246f71153a2bf7240bd1909b6f61e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-026 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform efd202798de4a168788586388280b7fa4ba606dc `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-027 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a703354fe356d4b03aef222345d40c92e2e01b15 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-028 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform dea0ad4ea3861788bc3e7e8f3343fe19fa5b638b `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-029 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 908f2fb7319ce7c52fe9ff0e0e172bf15529a30c `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-030 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 491838913162ecf386abd17e4ef3b77635f13b0e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-031 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform b4bff88febeb4274894361e046ad8986b518e127 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-032 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform dd5cbac0c1005e963c923bec43cc768dafcb0170 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-033 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 992b8ce52bb94e54b3ec9084ab9620dade449a8b `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-034 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 89c5a2b4c47e3a0b67629e0e9d747848098ceb6e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-035 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform f74ff5fb9272dc70bbda5fe21ba14118ad344902 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-036 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform f86a9e7832adaf291da0bf5b6c7139b79c573f61 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-037 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 68f3c9e2026756613b895b5a54e05e0e1bd82154 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-038 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform ead98bf0bbf210bf28d94f858e6605fa59f8dd23 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-039 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform efa5d53da2ee95f30f10358832832ed7ace91fae `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-040 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 7d1d8fec8d55f17d805eaf14027c4307eb45526e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-041 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform b901f528c8d854482d57c462a9d808cf431f6c9e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-042 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 223b38e1622b3b83aa96dd7e5cbedf01db70811e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-043 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform fd95fc60969ff0b41b3b4707b79607bdaaef931e `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-044 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 35b75d31630c0ce5c86522bc68654bb6f8d8181c `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-045 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 73ebbf94acfb56c2b316cbb9177871f8d485b9c0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-046 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 621dde94980b2338508ddc31b557cfce79f41391 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-047 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 8b3675e73ff4bae6e6134be9eca634ff688cffe8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-048 reference/svg-gradientTransform-ref SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform bba2719edc76b5642baa5d5fbdc01a43b8a3a2bb `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-049 reference/svg-gradientTransform-transform-ref SVG transform presentation attribute on the gradient element - has no effect svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 3327d1681fdbf4cc88933b2da5e615bd00b7e9f5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.
+svg-gradientTransform-combination-001 reference/svg-gradientTransform-combination-ref SVG gradientTransform presentation attribute with translateX applied twice svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform b3094cd4a36d48012be3912aac159e1bc7f97c42 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-combination-002 reference/svg-gradientTransform-combination-ref SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 855002bee4ec4ac13f4ade5d9e1929cc6b76d562 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-combination-003 reference/svg-gradientTransform-combination-ref SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 1b81028a0ecb62154fe39f3e686ccbb1dd5eec1b `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-ex-unit-001 reference/svg-gradientTransform-ex-unit-ref SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 299d45c52dfd004375f7e983a999d3f3ae49a8dd `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-ex-unit-002 reference/svg-gradientTransform-ex-unit-ref SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 88a1e4f2d65ecd3f117a7f14b6896362a083ae17 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-ex-unit-003 reference/svg-gradientTransform-ex-unit-ref SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 3a248a967386f0b2d9ac5168bf22a279a31e2805 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-ex-unit-004 reference/svg-gradientTransform-ex-unit-ref SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a3767e4ef96aef2ea7a4de0819a073d79e504fe6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-ex-unit-005 reference/svg-gradientTransform-ex-unit-ref SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 54fa1d2560e4b26b66db59a9c8bcf3820c5c9fee `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-ex-unit-006 reference/svg-gradientTransform-ex-unit-ref SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 2245c96c3ddcfef0419262b0c36aaf35bec20892 `Rebecca Hauck`<mailto:rhauck@adobe.com> The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-gradientTransform-relative-001 reference/svg-gradientTransform-relative-ref SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a8761c9457185d6cf27234929d7afc84d993205e `Rebecca Hauck`<mailto:rhauck@adobe.com> Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.
+svg-gradientTransform-relative-002 reference/svg-gradientTransform-relative-ref SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 5b5d28cee3866b5f80919e1826db2c3fc40c8dd5 `Rebecca Hauck`<mailto:rhauck@adobe.com> Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.
+svg-gradientTransform-relative-003 reference/svg-gradientTransform-relative-ref SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform d6f4609c833b3ce50a524c0d89ddf007e18f9dac `Rebecca Hauck`<mailto:rhauck@adobe.com> Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.
+svg-inline-styles-001 reference/svg-inline-styles-ref Inline transform style on SVG element with presentation attribute style on the same element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 33122bbe677b57cc9cf3ee7602cdd84b093e9d0c `Rebecca Hauck`<mailto:rhauck@adobe.com> Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.
+svg-inline-styles-002 reference/svg-inline-styles-ref Inline transform style on SVG child element with presentation attribute styles on the parent and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 5347186fb2edc03b50d3a68a25e7f0537b88bfcc `Rebecca Hauck`<mailto:rhauck@adobe.com> Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.
+svg-inline-styles-003 reference/svg-inline-styles-ref Inline transform style on SVG group element and presentation attribute style on child element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity cda85df59d47401b0e1b00c82b26b2d19c87b5df `Rebecca Hauck`<mailto:rhauck@adobe.com> Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.
+svg-inline-styles-004 reference/svg-inline-styles-ref Inline transform style on SVG group element and presentation attribute style on group and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 0d9ef70c3fe7cb54aa08ec29b0be4567176132d1 `Rebecca Hauck`<mailto:rhauck@adobe.com> Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.
+svg-inline-styles-005 reference/svg-inline-styles-ref Fall back to presentation attribute style of SVG element with invalid inline transform style svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity ae7422115dbf21669d8c2bd0d4ce2cffb07953fc `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.
+svg-inline-styles-006 reference/svg-inline-styles-ref Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity c6207ad936f034d83c87c3cf8819f6c38cc21f65 `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.
+svg-inline-styles-007 reference/svg-inline-styles-ref Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 6fcfb15b09f0d727aabc0a4fc28af7ee5b7a1b64 `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.
+svg-inline-styles-008 reference/svg-inline-styles-ref Invalid inline and presentation attribute styles on an SVG element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 9105c373edc75abf19418828dc60eef8298657f3 `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped
+svg-inline-styles-009 reference/svg-inline-styles-ref Invalid inline transform style on SVG group with valid presentation attribute style on child element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity 2a784bdc7081b45bba53040d6e1ab4beaf17ec9b `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.
+svg-inline-styles-010 reference/svg-inline-styles-ref Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity b29bb2749a282495e3900c1033cb7597633adc06 `Rebecca Hauck`<mailto:rhauck@adobe.com> Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.
+svg-inline-styles-011 reference/svg-inline-styles-ref Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity c9bd1dd1a3198b85fdd3f276e3523ebe39b6db38 `Rebecca Hauck`<mailto:rhauck@adobe.com> When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.
+svg-inline-styles-012 reference/svg-inline-styles-ref Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 55f0c9f4a54f47633389f495d1fd0d9846a21350 `David Alcala`<mailto:dalcala@adobe.com> Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.
+svg-inline-styles-013 reference/svg-inline-styles-ref Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 41fb3a8c73d9659df22615ceb80089f6eb89d813 `David Alcala`<mailto:dalcala@adobe.com> Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.
+svg-inline-styles-014 reference/svg-inline-styles-ref Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 08869814beaa0c4bf899a5a691dac68355226f44 `David Alcala`<mailto:dalcala@adobe.com> When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated
+svg-matrix-001 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 618c6046fe1040597e763717eb66a94a1c9d6ec4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled up horizontally.
+svg-matrix-002 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 7c7d7274863d740bcba590ceb9e52aab1a390b20 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled down horizontally.
+svg-matrix-003 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 1fdf4b75beea6856adbf1ca61b7c7901cdde17aa `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled up vertically.
+svg-matrix-004 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 7ca09835731ee4837c813a06cac372f739c69b25 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled down vertically.
+svg-matrix-005 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 6c482481c8cf1ea7327a3e199c6ca9b1ba4c5306 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and scaled up horizontally.
+svg-matrix-006 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 634be5fbc55b2157190b74497e7f0a03cad3c120 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and scaled up horizontally.
+svg-matrix-007 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 2b63bf595210d5d3897129b73ddb29f6d85743c1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and scaled up vertically.
+svg-matrix-008 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix cf2812f791648a9c073bc591b6a8ae96b9f55eab `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and scaled down vertically.
+svg-matrix-009 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 306032215af3f7b86ea94d73fd325d89d6e725f6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.
+svg-matrix-010 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 3891172f398be8d9a5577dce9976b918d618ea2a `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.
+svg-matrix-011 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 911da48fe149116b6a2fd7e2c010c884d554d564 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.
+svg-matrix-012 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 7c5e2bf1831d7260d44b4c048d92eae1634cc544 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-013 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 7c7864e7f406186a4f9b8e0b02409d0b5085347f `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled up horizontally and down vertically.
+svg-matrix-014 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 162e70d8b0d83fd5cea1a983f1feff7ed5d5172b `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled down horizontally and up vertically.
+svg-matrix-015 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix c21fa7af6911073584a97a3e6c21c2bd9f54bc96 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and left and scaled up horizontally and down vertically.
+svg-matrix-016 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 9bd44b1b48d38b70b5c163f582b4ebacda082b47 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and left and scaled down horizontally and up vertically.
+svg-matrix-017 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 10a0a9b36612151385cea39dbbae14c8d1091634 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up scaled up horizontally and vertically.
+svg-matrix-018 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 75577b1271fee0ac8b0cde16e0f6485ba9f20886 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up scaled down horizontally and vertically.
+svg-matrix-019 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 3dcdb5d33b66624477dd32ebcc642c87132bf10c `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and scaled down horizontally and vertically.
+svg-matrix-020 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 99e52f1ba02d9b5642babeed7acff6aa05356908 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and scaled up horizontally and down vertically.
+svg-matrix-021 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 9e44db61336de99f3413326907e2655aad2189f5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and scaled up horizontally and down vertically.
+svg-matrix-022 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 85d13cd8b2833f2761a9eee48f319eea637ec6cf `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and scaled down horizontally and up vertically.
+svg-matrix-023 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix ea34917b6ae2fe220728322ec127f1cf4b424556 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and scaled down horizontally and up vertically.
+svg-matrix-024 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix fdfd736ced94fcfd46bb023b58c9d922b21d43ee `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and scaled up horizontally and vertically.
+svg-matrix-025 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 99a6a4bd91c67e8ee36262d1aa2e68a8b9ee62d9 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left.
+svg-matrix-026 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix f37caa7d828711a2973057710e548dc8620e88b9 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up.
+svg-matrix-027 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 9ba67a4a46c85d7e2886456cc59c0127b660ae92 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and up.
+svg-matrix-028 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 475f4c738517d72be1f320d831512691b3331913 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and scaled up horizontally.
+svg-matrix-029 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 2c929f0b8a998f0fb826fa54dd77e537c788da31 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.
+svg-matrix-030 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 9155e482c7d96de08b7b5fc013207f324bcb7514 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and scaled down horizontally.
+svg-matrix-031 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix dfb07a69cb8664dc77316d6df2b159c2d8b98efb `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and left and scaled down horizontally.
+svg-matrix-032 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 39d6b1cebb9b875f2ec8342a881f773d7ea5f74b `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left scaled up vertically.
+svg-matrix-033 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 2e345258a9ef78b8755f79f442b9008cff3733a9 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.
+svg-matrix-034 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix b8ce71928049ccf4e16f9ac8be9b649d8ef456cf `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left scaled down vertically.
+svg-matrix-035 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 63dfb5a50978622c957fbe3ca4dfcf33a80502ce `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped left and up scaled down vertically.
+svg-matrix-036 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 1eb35a514473313ee50f75b8bb6ff4b6c9d172de `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should skewed right horizontally.
+svg-matrix-037 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 94ee212059b29f81faf68f4fdb25be572c692466 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should skewed down horizontally.
+svg-matrix-038 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix bc8427a146eeb488b20f503dbd48c65cedb5fb0a `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be skewed left horinzontally.
+svg-matrix-039 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix c5577242aaa1e0cc72372292e681e2e50d44cfed `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be skewed up vertically.
+svg-matrix-040 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 5e64bbdbca6cd01f41b6d7988b36e70f793168e8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.
+svg-matrix-041 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 8ab0beca2baad9f720086d31cfd6c470485a92ea `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.
+svg-matrix-042 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 95e83d538a4faf48f9ebbc046d8290f900acd29e `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be skewed down vertically and left horizontally.
+svg-matrix-043 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 590b94d165805ea4fb187e7cac36b3c939f1e9b0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be skewed up vertically and right horizontally.
+svg-matrix-044 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 6754436069d98e8844f419f2d226b01e01319e5f `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.
+svg-matrix-045 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 73f03d73c8d94860296477c1ee8660b2cd1e3c0e `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.
+svg-matrix-046 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 303c2fe0c91b18dff444ef07060b751658871499 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.
+svg-matrix-047 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 972f79c4f4489ce7348529de59fb20b9f0d3d390 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.
+svg-matrix-048 reference/svg-matrix-clipped-rect-ref SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 9f822035f29e2f825eab81a5260e6649c9916bcc `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.
+svg-matrix-049 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by commas and no spaces svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix fdf1987292c9f6f6223b5a47f92cad61bbdf9dbf `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-050 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 395d78f54dc98e61c5ec596b5d229f6706c6a8fe `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-051 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 9d6963445e1e154e83b32445c8104044de2b4ec3 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-052 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix d9fc31c4be5253d3c0be1f5b8725e7519930485e `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-053 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 36a3ab369d6e7035bd7c1d0839c1633e45da257e `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-054 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix c71b5edcb661be13abe41f89c7c1f1c0e3f29c48 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-055 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 2ad71d9642fe997745ab6ce798c1b5bc79ea2086 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-056 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by multiple spaces svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 89bf4ad2a1b6f9d831a5629e182caaa8730b9b59 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-057 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 89c7f7f6864573687f1556273fdb4538d09dfef8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.
+svg-matrix-058 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'a' value svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 0ecca0ca7725f8457cae75720f824365a867b6ee `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.
+svg-matrix-059 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'b' value svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 580267cb7c3c72fd9c7ba5539b882f2dae2447c3 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.
+svg-matrix-060 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'c' value svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 33b856602ba84329b540ccec51c149c2cabe5bca `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.
+svg-matrix-061 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'd' value svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix c23742a2b224da891490acfa8300811cf8a9674a `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.
+svg-matrix-062 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'e' value svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix fac0ec366b3a7012f5a03bcde0e52b90e8ecb478 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.
+svg-matrix-063 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'f' value svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix fb5edaa4160026366dd5abc4d4c5833c4abe5927 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.
+svg-matrix-064 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'a' value with another transform function svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 763a300eac47d5c2a9f0090b0930ee4f1e3813db `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.
+svg-matrix-065 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'b' value with another transform function svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 62e626654f8e4da6d9f33fd60e1f86274907c3b9 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.
+svg-matrix-066 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'c' value with another transform function svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 312a8832c597f35d7b01158f21631395e0ca976a `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.
+svg-matrix-067 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'd' value with another transform function svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix affffdca874644ac4aeeb8b47b1aabe4ef6f9486 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.
+svg-matrix-068 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'e' value with another transform function svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 80aad00995910b5e89777716c91b00f7afe605d5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.
+svg-matrix-069 reference/svg-matrix-four-color-ref SVG presentation attribute and matrix function with invalid 'f' value with another transform function svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 365a97818fafafce288038f624381694c2fa8102 `Rebecca Hauck`<mailto:rhauck@adobe.com> The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.
+svg-origin-length-001 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - default value svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property babe577b569149430578e76e258050d622bd8108 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.
+svg-origin-length-002 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - 0 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property edabfae22e3923b523859c31468f8b82a8630e36 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.
+svg-origin-length-003 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - 100px 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property c983b106a93d8dcec237a71bf648dbd3212ed4f3 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (100,0) temporarily.
+svg-origin-length-004 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - 0 100px svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 5a4b8a2bda2ba52130e25c1d9b7380456de3b57c `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (0,100px) temporarily.
+svg-origin-length-005 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - 50px 50px svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property b45adafc19379b598fbd5a0ac3819e8ee88209cb `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (50px,50px) temporarily.
+svg-origin-length-006 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - 100px 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 6e5c08c68f15b959f21376fde762e4fb6dd14fe4 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes.
+svg-origin-length-007 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - 0 100 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://www.w3.org/TR/css-transforms-1/#svg-transform-value fd120e136647569f4862597efab32a614916500b `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes.
+svg-origin-length-008 reference/svg-origin-length-ref SVG presentation attribute transform-origin with length values - 50 50 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://www.w3.org/TR/css-transforms-1/#svg-transform-value a1f760e8509490b9fd6ac354c1366c894348e002 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes.
+svg-origin-length-cm-001 reference/svg-origin-length-cm-ref SVG presentation attribute transform-origin with length values in cm - default value svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property dd51a12485d1006d1a6b7ae926eb40ecd9cc4f49 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.
+svg-origin-length-cm-002 reference/svg-origin-length-cm-ref SVG presentation attribute transform-origin with length values in cm - 0 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 9c2dda058378483f0e365e06b6fd7b009cf5aa9e `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.
+svg-origin-length-cm-003 reference/svg-origin-length-cm-ref SVG presentation attribute transform-origin with length values - 2cm 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 6f7bf254342ac32295793961d2cbd137fdfd1f76 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (2cm,0) temporarily.
+svg-origin-length-cm-004 reference/svg-origin-length-cm-ref SVG presentation attribute transform-origin with length values - 0 2cm svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 0f9113715ab5e6e03e7cca61ae34282959d6e695 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (0,2cm) temporarily.
+svg-origin-length-cm-005 reference/svg-origin-length-cm-ref SVG presentation attribute transform-origin with length values - 1cm 1cm svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 5a74332e78a8867576f63362bc2dbeee4b2dfc84 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (1cm,1cm) temporarily.
+svg-origin-length-in-001 reference/svg-origin-length-in-ref SVG presentation attribute transform-origin with length values in inch - default value svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 0ba67b00b6f761962b60de98825269ff6756a3c0 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.
+svg-origin-length-in-002 reference/svg-origin-length-in-ref SVG presentation attribute transform-origin with length values in inch - 0 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property f83fedb883ea6578669f7005b7358f3006284c53 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.
+svg-origin-length-in-003 reference/svg-origin-length-in-ref SVG presentation attribute transform-origin with length values - 1.5in 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property c35640dbc351b92f39c9325d6b5c47f6898a78c6 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (1.5in,0) temporarily.
+svg-origin-length-in-004 reference/svg-origin-length-in-ref SVG presentation attribute transform-origin with length values - 0 1.5in svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property c7c01180a886b8f992ba1469fb2fac908664e533 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (0,1.5in) temporarily.
+svg-origin-length-in-005 reference/svg-origin-length-in-ref SVG presentation attribute transform-origin with length values - 0.75in 0.75in svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property d7c561724798656bdb117eb99fb0a559459bb52e `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (0.75in, 0.75in) temporarily.
+svg-origin-length-pt-001 reference/svg-origin-length-pt-ref SVG presentation attribute transform-origin with length values in pt - default value svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 4a39bc362b7cb340d83f7e0a0be8c0fa4a402a6d `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.
+svg-origin-length-pt-002 reference/svg-origin-length-pt-ref SVG presentation attribute transform-origin with length values in pt - 0 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 8f26208284560c99d9429e07a6d957229919b70c `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.
+svg-origin-length-pt-003 reference/svg-origin-length-pt-ref SVG presentation attribute transform-origin with length values - 80pt 0 svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property e7f94434584284d21560d4a37c20bbbc6a282837 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (80pt,0) temporarily.
+svg-origin-length-pt-004 reference/svg-origin-length-pt-ref SVG presentation attribute transform-origin with length values - 0 80pt svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property fa27fec03620ac6c05ad0755419e6fe03ed65588 `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (0,80pt) temporarily.
+svg-origin-length-pt-005 reference/svg-origin-length-pt-ref SVG presentation attribute transform-origin with length values - 40pt 40pt svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property 21ca9387f0305fac1e4a43efbb3bf6f5eb3ebf1e `Dirk Schulze`<mailto:dschulze@adobe.com> The transform-origin should translate the origin by (40pt,40pt) temporarily.
+svg-origin-relative-length-001 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, first value absolute value and missing second argument svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 71aa208f62dd544c8e9e9e9dcf808390fdedb7ce `Dirk Schulze`<mailto:dschulze@adobe.com> If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-002 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, first value 'center' value and missing second argument svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 1954a680f30eada11d55366b7a468f819f713698 `Dirk Schulze`<mailto:dschulze@adobe.com> If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-003 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, first value '50%' value and missing second argument svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space c6f5de2e3c0094f719e65aa7dd9010fddb58b6f9 `Dirk Schulze`<mailto:dschulze@adobe.com> If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-004 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '50% 50%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 474a673f03c0a96c9cbd9e7950bf3a62ce1ae685 `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-005 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '50% center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space bf3e5b8e3890a31ba777172290467cbe95393022 `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-006 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center 50%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 3590907f2efcfd53429e2f33356d3e0bd47cb594 `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-007 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space a4d56616424d77fb5b5334596136504980b4a81f `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-008 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '75 center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space f7e11e331b85dc6724a8d2f7e02ed94e4540d9ca `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-009 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '75 50%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 42bc81cc735ee452181c072b0603f6a7f7c75d05 `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-010 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center 75' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 6a7f12d653a1045abaa9ebefe242ef9e07adf024 `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-011 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '50% 75' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space a7c29770d62a0ab0f9d3a3e54441da3095830928 `Dirk Schulze`<mailto:dschulze@adobe.com> The rect should be rotated around its center point at 75,75
+svg-origin-relative-length-012 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '0' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space b5846214e556bccfb420907b0237ec14a91aaef5 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.
+svg-origin-relative-length-013 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '150' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 2d02f0589c65440f8fb07e1b1d62ac2cbe6a62d4 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.
+svg-origin-relative-length-014 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '100%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 5b12d4314aeae806e4e7581392351c292c992e9d `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.
+svg-origin-relative-length-015 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'right' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 5d16d2c0d95725ae4e5a3d3b17ee71e8fa41938a `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.
+svg-origin-relative-length-016 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'left' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 884f1465ebce48dee44f5068c46c094727aa2643 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.
+svg-origin-relative-length-017 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '25%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 6721e7f22fafcb2db20492afe16f65f4013f5044 `Dirk Schulze`<mailto:dschulze@adobe.com> If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.
+svg-origin-relative-length-018 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'top' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 4cf398bf35815f2700102c66cd6587e36010eb69 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.
+svg-origin-relative-length-019 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'bottom' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space b077f1e3356897672a033a6ce02985a67581ebd3 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.
+svg-origin-relative-length-020 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '0% 0%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 1bcef68e4d593711a285f2466496e336eabdb0d6 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.
+svg-origin-relative-length-021 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'top right' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 9437444cb3384856af5b8a70e89f377b745428f7 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.
+svg-origin-relative-length-022 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'top left' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 5a1659d32b816fca5a88cac80b59dfd81e02521b `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.
+svg-origin-relative-length-023 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'top center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 34e3e0c746bf2117ca4858466942702dd59e86ac `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.
+svg-origin-relative-length-024 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'bottom left' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space daa73baa9f8584b7bb8cb43b493f06ad82bb4af9 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.
+svg-origin-relative-length-025 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'bottom center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 1979d4d7bb5791b2651f1cd2baee1ada438a5545 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.
+svg-origin-relative-length-026 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'bottom right' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 1aa1d3f7dd7d6d768bfd52b5c7276d07b0cb1a48 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.
+svg-origin-relative-length-027 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'right top' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 94d61e277b4cd3b2d9b2ad1da85d85680b2b507c `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.
+svg-origin-relative-length-028 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'right center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 8188519b4a2e5d1366ed510c82314245e2c63da2 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.
+svg-origin-relative-length-029 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'right bottom' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 984353255707d4d07168419a7830c6be329cbbd4 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.
+svg-origin-relative-length-030 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'right 75' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 9a773b65524aad1a095fd7857312c013a689b4d4 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.
+svg-origin-relative-length-031 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'right 0%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space c93dbbac24a4aa9496b7f170baaf58d17c37bb8c `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.
+svg-origin-relative-length-032 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'right 100%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 1912572b3c62548301b1752db475d609ed6f719b `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.
+svg-origin-relative-length-033 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'left top' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 61d8d19f7756757f56c1786447d713ed172bd97a `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.
+svg-origin-relative-length-034 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'left center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space e0699f50d6c7b5f72e60a172b8ce018335e33025 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.
+svg-origin-relative-length-035 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'left bottom' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 031daa4b9b159218930ea08f3ddebce2574d6946 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.
+svg-origin-relative-length-036 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'left 75' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space b35279e63effd8175e0f363af678b0ff86382e01 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.
+svg-origin-relative-length-037 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'left 0%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 1b8efa56e78960a62ec99d8a646fa283180fea19 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.
+svg-origin-relative-length-038 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'left 100%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 3faeb9ff0743c8ced986172bde1eda9ebc731999 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.
+svg-origin-relative-length-039 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center top' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 6e385297ce2683de4d70ca79553c048d7eebe28a `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.
+svg-origin-relative-length-040 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center bottom' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 0bbc73760dcc3adef678981a091df49aea7c85e5 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.
+svg-origin-relative-length-041 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center left' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 7ed78761bcfc0634df6afc5e47f1746991d557f3 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.
+svg-origin-relative-length-042 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center right' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 7b83bf7f5d9b5d150d3f39d945923fe01a670a3b `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.
+svg-origin-relative-length-043 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center 100%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 72817e7db0c2c977069303b6ce49ca41df5a00a6 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.
+svg-origin-relative-length-044 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, '0 center' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 0cedd16e8b8d83cbb5b5b64a584a8c320a078464 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.
+svg-origin-relative-length-045 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center 0%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 7cb309464eb023babfbfa5f623e0770361d3e576 `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.
+svg-origin-relative-length-046 reference/svg-origin-relative-length-ref SVG presentation attribute transform-origin, 'center 0' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space f2d9c08b118b89083e61123f1a93d14d0aa1b57a `Dirk Schulze`<mailto:dschulze@adobe.com> The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.
+svg-origin-relative-length-invalid-001 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'top 100%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space f9ba3041decf6da2745b84c5b0c7e898a53941b7 `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0
+svg-origin-relative-length-invalid-002 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'bottom 100%' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 8b9be1d6b09b7a14836dd8bdc5eadb002c54d3a7 `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0
+svg-origin-relative-length-invalid-003 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'top 150' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space ced25c929d72767108c7e2813862df1149bbb7ad `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0
+svg-origin-relative-length-invalid-004 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'bottom 150' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space fb754d235f9fa4c1f288588070ac968c6f2b2118 `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0
+svg-origin-relative-length-invalid-005 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'top top' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 1dbeccbbc0a2fc88b23950f7b566e4744eb34f4a `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two vertical values. Fallback to 0,0
+svg-origin-relative-length-invalid-006 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'bottom bottom' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 490c3fcaedc063f0aa6aceaccf7816f40b1fdc6e `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two vertical values. Fallback to 0,0
+svg-origin-relative-length-invalid-007 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'top bottom' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space aa24c1557dd5543990b5887120eba6774e436f08 `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two vertical values. Fallback to 0,0
+svg-origin-relative-length-invalid-008 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'bottom top' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 2e77695697b0e7864917e2964f46d3d177b806fa `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two vertical values. Fallback to 0,0
+svg-origin-relative-length-invalid-009 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'left left' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space dd877f31473b3f103262a4ab4d55798b5c60b698 `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two horizontal values. Fallback to 0,0
+svg-origin-relative-length-invalid-010 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'left right' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space a1f57c7cf63b6a989b1b2eedfac9bb85b9ff651f `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two horizontal values. Fallback to 0,0
+svg-origin-relative-length-invalid-011 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'right right' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 96be8f3eab8931000d2701e390c75fb7861482e1 `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two horizontal values. Fallback to 0,0
+svg-origin-relative-length-invalid-012 reference/svg-origin-relative-length-invalid-ref SVG presentation attribute transform-origin, invalid arguments 'right left' svg http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://dev.w3.org/csswg/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space 60666782fb5b43b0a3b71e27fd1e86afb6ce69c2 `Dirk Schulze`<mailto:dschulze@adobe.com> Spec does not allow two horizontal values. Fallback to 0,0
+svg-patternTransform-001 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translateX with translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 9491ddc35c5f40c879539bda84821731f68a89a1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-002 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform ad12d9081e2f5088e4a20c1d5880f84416370dca `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-003 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with point unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a1b492df8fa7a02806f3a5042be585f3fffdd2b8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-004 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 49c4c59a5e9dd8cb742ea14102ac342b4aea4db0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-005 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform d8bc23b351cf21a23e698bac77a18b7caafc0c47 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-006 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 17f714b7026de686621d413d6aa937636413462d `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-007 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 9a4dfed28977df3c9296828c58eba0ca097c9e2a `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-008 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with em unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform c038ccd6daa5798b43ee6c339d676b7a8a0d7421 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-009 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 463ee7ef2b5c6ff3500fd121b09cdd32cc230c9e `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-010 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform de7a842eda2650b5f2bed8660a8290406e24292f `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-011 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 51fa5def6b90be86519dee2777c594032785dc7c `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-012 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 9a86f82d23339a5960504d9ee7ed44f63a0b428a `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-013 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 36783834d1ce6eea6d13d37f2e6442e548f19019 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-014 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 93a3bde6ed273d853a483f1ce0b22524aa764978 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-015 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 309c24e23f2ed99cedc1ca32949ff4026a1d560e `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-016 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 99e59b3e2fc439fd761f3131318ba071bf63125b `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-017 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform caedced6dab5936e14b3a4ceb98c75c766f5b2af `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-018 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 862f1c414e9186eebedc57b1ceb61bfea2ffd00d `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-019 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 6c0480c792bc783e6af5d2458dc50fef25a5969e `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-020 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform,http://www.w3.org/TR/css-transforms-1/#svg-number 4be1e543e9d641f41c4d925551cd96a64e80f535 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-021 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 41d732d9a706c8d9fa4d303f49a134e52d97e0d2 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-022 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 963c41b4d6871f5b6d817b88378a4cfde9604c88 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-023 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 091238ea4237462089092e7e1a9be6cbcf71d717 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-024 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 86ee201181e06d668172808032002f02379e99cc `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-025 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 7c172aafa0b424f70ba6fdd6b61381ae2e1727d9 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-026 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 0a65945483093c11fae52506898560fa3c363c49 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-027 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a81726027278308d6a384c4e4ad8755dfbbd2009 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-028 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform dfa0578d5baeb0be352eb851a80d6ffce7b23f63 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-029 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform de0c2a927fed63d9924313200bbf158a98705934 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-030 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform b9d6510d0db11e712eb887811abba4a318303d75 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-031 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform ef03937d6c4a4ca4ed29edb28d5cf885768b14d1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-032 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform a5c5db7d2ad77a88c729198ebd22430674df8e79 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-033 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 1148d09e0941fbd8abd9a21cb63682ea67741863 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-034 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform c62c7194f18f8a635a3cd04a658f03912831842b `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-035 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 08a23e47fb4c6f87ba30486142ea76f20af93b0c `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-036 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 19cc79e2b3baa681e219d597f5c97500cc21f8c1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-037 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 113b49d97e7597140df3105e2b12f6cb1b8715fe `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-038 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 522019e741cc0dde74ae5bd1bf27614e5f868d83 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-039 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 2e9ba45d9e2f04ac2bd75946c94457bf6b5754f6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-040 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 4a473d5c04ebc2400235717aa81e9b8f2fd99c9f `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-041 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform b84a4565dcca8a07329b69ad979ba1fbbd3b452f `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-042 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 3cdc0386947c2d5df60a6aecdc83278b5bfe9172 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-043 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 59db22b370bf773e75710e2f67d9de109c2b1734 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-044 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform cfe2f7e3404578aed35be31b965861d4cec637a0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-045 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 984fd89576af51bf27de04eb23290d0175663302 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-046 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 164554b2a2b82f452d4c5b80ef138fee621ee7e6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-047 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 13affd69b0632e93850c945e064c02838b3c8153 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-048 reference/svg-patternTransform-ref SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 490165794244ecb25c4a7c9e2ee6aad14b5f9f32 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-049 reference/svg-patternTransform-ref SVG transform presentation attribute on the pattern element - not supported svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 1176af6037b8b067558dde5f86669251c015f4d1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.
+svg-patternTransform-combination-001 reference/svg-patternTransform-combination-ref SVG patternTransform presentation attribute and translation-value argument with translateX applied twice svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform c209de30eb89eab20a097b9e0f492d0a941be8e0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-combination-002 reference/svg-patternTransform-combination-ref SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 599972134f7f0d6d4757f7233a2ca30c631c645f `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-combination-003 reference/svg-patternTransform-combination-ref SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 9855dd15777333d8692b6791ba86c666f3edaab6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-ex-unit-001 reference/svg-patternTransform-ex-unit-ref SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 19dea7b2252d98d1855aab0093f1cb30c5e35b36 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-ex-unit-002 reference/svg-patternTransform-ex-unit-ref SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 30852b1514377e9cc93f9ccfd7a8ec3a687248a9 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-ex-unit-003 reference/svg-patternTransform-ex-unit-ref SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 6b860c7fd900e5e6d56eaf7b815d4443f2df41ec `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-ex-unit-004 reference/svg-patternTransform-ex-unit-ref SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform f50c7fbafbb309d2c0a7ce7ffde2cc05e54b7118 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-ex-unit-005 reference/svg-patternTransform-ex-unit-ref SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform b0beda072044325037695641b4a3868c163bffeb `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-ex-unit-006 reference/svg-patternTransform-ex-unit-ref SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform,http://www.w3.org/TR/css-transforms-1/#svg-number 6a3cf9e2992549861d09e124e17a83d44577fff9 `Rebecca Hauck`<mailto:rhauck@adobe.com> The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.
+svg-patternTransform-relative-001 reference/svg-patternTransform-relative-ref SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 3d350d4af1db3ab1aaba3335dd56fd60d8a0f25a `Rebecca Hauck`<mailto:rhauck@adobe.com> Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.
+svg-patternTransform-relative-002 reference/svg-patternTransform-relative-ref SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 082439cb038ffb8cd080996b25895a196e9d187f `Rebecca Hauck`<mailto:rhauck@adobe.com> Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.
+svg-patternTransform-relative-003 reference/svg-patternTransform-relative-ref SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space,http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform 9cebd5c697911e2eafba9b33dce248fccba4a2f2 `Rebecca Hauck`<mailto:rhauck@adobe.com> Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.
+svg-rotate-3args-001 reference/svg-rotate-3args-ref SVG rotate with three arguments with deg on rotate and pixel on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 17d3ad82349456bbc277fd28fa920395d4eca5ee `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-002 reference/svg-rotate-3args-ref SVG rotate with three arguments without units on rotate or translate values svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 1e357bf9041fa35467bc822e5f929c254029072f `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect.
+svg-rotate-3args-003 reference/svg-rotate-3args-ref SVG rotate with three arguments with grad on rotate and pt on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions d2191c20ba3ad47f93ac3ab56038349e7967e718 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-004 reference/svg-rotate-3args-ref SVG rotate with three arguments with turn on rotate and pc on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 7d0033b7cb14256fb5dc6b6aafa7c2da4d519959 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-005 reference/svg-rotate-3args-ref SVG rotate with three arguments with rad on rotate and mm on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions fd55542b88cc2cafc7645ba30085473552020fe0 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-006 reference/svg-rotate-3args-ref SVG rotate with three arguments with negative rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions c2fc54a17fc2103eea784a1c07a2aa56982dd5d7 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-007 reference/svg-rotate-3args-ref SVG rotate with three arguments with negative translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 5997c894896920e0873a2f9503413be2db43082a `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect.
+svg-rotate-3args-008 reference/svg-rotate-3args-ref SVG rotate with three arguments with negative translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 655459f1a9350ea9ea2a63383a951157e8b191ba `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect.
+svg-rotate-3args-009 reference/svg-rotate-3args-ref SVG rotate with three arguments with scientific numbers on degree angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 6127abe1050d0816aaae1f26e58b8db2de9d7d5d `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-010 reference/svg-rotate-3args-ref SVG rotate with three arguments with pixel units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 2322a724f967dbe01502d26a7017d5ecaacfb5c8 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-011 reference/svg-rotate-3args-ref SVG rotate with three arguments with deg on rotate and percentage units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 21f86e5820df40d53c247f6ad61305477d98be52 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-012 reference/svg-rotate-3args-ref SVG rotate with three arguments with deg on rotate and negative percentage units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions cb17221028f2a63e8e7618535b4fa45bccb68d40 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-013 reference/svg-rotate-3args-ref SVG rotate with three arguments with space delimited arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation 9aefce80682d7ad6a1ffcba2dc5279297fdee860 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-014 reference/svg-rotate-3args-ref SVG rotate with three arguments with comma delimited arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation 29917fdfc3c00b81dd3c80aae04269524d841bb9 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-015 reference/svg-rotate-3args-ref SVG rotate with three arguments with comma delimited arguments with a space after the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation 004bb5f51ae4e5bbacf4728518634eeb230b39bd `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-016 reference/svg-rotate-3args-ref SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation 06fda892b52d945175d03a525d58b879adcddebd `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-rotate-3args-017 reference/svg-rotate-3args-ref SVG rotate with three arguments with transform-origin with length values - 40px 40px svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property b8c20150b5d5dff3eac6bb9549dbb7375ffbf130 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.
+svg-rotate-3args-018 reference/svg-rotate-3args-ref SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property ad3ac424b0593699c16caaf5cddc2d8ccb622d06 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.
+svg-rotate-3args-019 reference/svg-rotate-3args-ref SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property 6a836b17815ab42f49b7b52b6b56b87fbfeaeb56 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.
+svg-rotate-3args-020 reference/svg-rotate-3args-ref SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top' svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property 428285ba03e88a4d960996b55e86ad9b79078373 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.
+svg-rotate-3args-021 reference/svg-rotate-3args-ref SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property ded7a8630b2d7411977fa3f89be4bec2575d9cef `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.
+svg-rotate-3args-022 reference/svg-rotate-3args-ref SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property 3d4cfcf7be4beaa2de6f2740bfe24d2a4b569328 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.
+svg-rotate-3args-023 reference/svg-rotate-3args-ref SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions,http://www.w3.org/TR/css-transforms-1/#transform-origin-property 4df22c8f77c676d8630ae6957d67d35b03c17e0e `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.
+svg-rotate-3args-invalid-001 reference/svg-rotate-3args-ref SVG rotate with three arguments with one absolute translation-value argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions ed3f1e2cf7ea778c5780164d2edea454fffdb4cc `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.
+svg-rotate-3args-invalid-002 reference/svg-rotate-3args-ref SVG rotate with three arguments with no translation-value arguments and a comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions a2614dd96178af9a980c553fc9db586df5ff7658 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect.
+svg-rotate-3args-invalid-003 reference/svg-rotate-3args-ref SVG rotate with three arguments, with a third absolute translation-value argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions eabf67de7fd8e369dc6f54f2143816930c8e94b3 `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.
+svg-rotate-3args-invalid-004 reference/svg-rotate-3args-ref SVG rotate with three arguments with one relative translation-value argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions b8dd510725dca85a5698c0fb898a037bf7dde0be `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.
+svg-rotate-3args-invalid-005 reference/svg-rotate-3args-ref SVG rotate with three arguments, with a third relative translation-value argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 488379f0b9c6b0caf2335e5a841c0a472439bd8f `David Alcala`<mailto:dalcala@adobe.com> The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.
+svg-rotate-angle-45-001 reference/svg-rotate-angle-45-ref SVG presentation attribute and angle argument without unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 9929a7c0b3e6e05774b9bd2406c0774a215b8948 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-002 reference/svg-rotate-angle-45-ref SVG presentation attribute and angle argument with degree unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 8e7d23346492cd16b57176acbbae0859aa29e6d4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-003 reference/svg-rotate-angle-45-ref SVG presentation attribute and angle argument with grad unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate a88b47fbb168d180e47ca2dd199ddb9be2e6a83f `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-004 reference/svg-rotate-angle-45-ref SVG presentation attribute and angle argument with turn unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 39bac979b9ef163c9316e1e0c3a912d6fec08093 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-005 reference/svg-rotate-angle-45-ref SVG presentation attribute and angle argument with radian unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate cf37eadf46dee47e03bc36654121bf4c32c96c41 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-006 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with negative, unit less turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value ca3ee2f7e8234df30788f565160b5346ac8f55c0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-007 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with negative degrees svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 47c7c9bf427d9043b03cf040e9e1e2fbf4b8462c `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-008 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with negative gradians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 3588b6ba85b05ddd78c906a43f6b21a822d0a509 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-009 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with negative radians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 30cc6d85e9e1f9f814007556f051f3df510ce40b `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-010 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with negative turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 5c25a03960ab3a45fccada4a3289aa1422232b26 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-011 reference/svg-rotate-angle-45-ref SVG presentation attribute and more than full circle rotate with unit less angle svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value f9dc69200f899b6ef836d475a8a36b71f0e4cd80 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-012 reference/svg-rotate-angle-45-ref SVG presentation attribute and more than full circle rotate with angle in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate d7c6ffa0eae20d66f6b621f860af3b2d2ea1100f `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-013 reference/svg-rotate-angle-45-ref SVG presentation attribute and more than full circle rotate with angle in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 34f3747e7e5b505086ae2c41cadb98a08e780c33 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-014 reference/svg-rotate-angle-45-ref SVG presentation attribute and more than full circle rotate with angle in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 9d360eb51d427b348269c9190a3aeafed7e4499d `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-015 reference/svg-rotate-angle-45-ref SVG presentation attribute and more than full circle rotate with angle in turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 6b422feecc0d7b382ee74bc118ec7d9bdec94ebd `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-016 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with scientific numbers on unit less angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 4212084bef3c0be0a60f6de2e1e7949199de1a2f `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-017 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with scientific numbers on degree angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 09c3e8a09b90b7c4f5e640d2b40300efe8e6404e `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-018 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with scientific numbers on gradian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 622ca12241f7c059420c00326084605d3a3e5132 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-019 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with scientific numbers on radian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 283f80ad4ab4f9bf16f7c90e625d380612abbb4b `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-020 reference/svg-rotate-angle-45-ref SVG presentation attribute and with scientific numbers on turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 6bc246d4b90848bbd90e4a0548312898fc1de8d8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-021 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate bda90808341c2390dd3d95aca543e527301b10ec `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-022 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate ff0d1645b59cfaf6e8db4c524480bf7deda878fd `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-023 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate b393cd7f224ed155964501c01f597cf198e4402f `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-024 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 989dff0dd6512b38e42d7fdb5d8eec35e77f8bd7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-45-025 reference/svg-rotate-angle-45-ref SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 5307a208897a2c083a4c8203465210a66ea218de `Rebecca Hauck`<mailto:rhauck@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.
+svg-rotate-angle-90-001 reference/svg-rotate-angle-90-ref SVG presentation attribute and angle argument without unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 9c629206830381a016c84a3eacf855bb5b1bbe50 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-002 reference/svg-rotate-angle-90-ref SVG presentation attribute and angle argument with degree unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 305d49cf0ed53982fc363d20835ab4824c3e6d50 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-003 reference/svg-rotate-angle-90-ref SVG presentation attribute and angle argument with grad unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 5bd8cf5271665b0882d3797338edd5beab12aa26 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-004 reference/svg-rotate-angle-90-ref SVG presentation attribute and angle argument with turn unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate db27ff7c31afdc815b493dba5cece44c606df314 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-005 reference/svg-rotate-angle-90-ref SVG presentation attribute and angle argument with radian unit on rotate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate a669caf1846372aabb4d561145b350785e454b46 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-006 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with negative, unit less turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value abe16fc383ba4fe54367e12502a31b1f496530bc `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-007 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with negative degrees svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 5a0dcaed4f0463d7a4fe5fd0cf10d17935539b59 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-008 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with negative gradians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate afed93f8fea62928e57544ed01150221faf66bb1 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-009 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with negative radians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 750e197a56684b29fb89d265493bd2c9acf70e84 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-010 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with negative turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate cd7ba02cfa9c5a01f0177751415b61319cd85058 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-011 reference/svg-rotate-angle-90-ref SVG presentation attribute and more than full circle rotate with unit less angle svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 22f367ad337e42afedb973fa4675b022709b65ae `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-012 reference/svg-rotate-angle-90-ref SVG presentation attribute and more than full circle rotate with angle in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate e0ef98d16b7ffad655e9795ea86ea4846bbdb4e9 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-013 reference/svg-rotate-angle-90-ref SVG presentation attribute and more than full circle rotate with angle in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate ac75ab3b4afe3339b37f49001ae8160e7e23b686 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-014 reference/svg-rotate-angle-90-ref SVG presentation attribute and more than full circle rotate with angle in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 6d9db0ac5b8d40efb46d6f93c003f7fe7c949f92 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-015 reference/svg-rotate-angle-90-ref SVG presentation attribute and more than full circle rotate with angle in turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 6508f12aec89d19ce6be49b4b15053a53db4fc9a `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-016 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers on unit less angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate a90304ba84a09edf087b4a80a60e15cfef79fb13 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-017 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers on degree angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 1fed9afbb0f429e17ad5facf2e9bd54cae278d4c `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-018 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers on gradian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate bbc985296e2553133ecd359f5ea6f6de70a2c5ac `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-019 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers on radian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 2edf915213a0ed3595abe6aa2c2caaaf2b2f15e4 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-020 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers on turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate ccd03b6798292bcffcd1c72076e374bea526b640 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-021 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 396ba7c93d346c6b597a2e94e1c837601bd8597f `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-022 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 4dd85ff364f9f03f26ac9d107c40f43e598f2260 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-023 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 0d788bfae88254bf4d06ad42bd36b44bf0ceb6ce `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-024 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate a8d6543f4aa5ac5985134aab87a7bc3e687ac6e7 `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-rotate-angle-90-025 reference/svg-rotate-angle-90-ref SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-angle,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate de84db6caac69d0710f003fc7c16b95160e7950a `Dirk Schulze`<mailto:dschulze@adobe.com> The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-scale-001 reference/svg-scale-ref SVG presentation attribute and scale 0.5 with only one parameter specified svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 741ea719b1642a3d31005a10e09e742adb883acf `Rebecca Hauck`<mailto:rhauck@adobe.com> If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.
+svg-scale-002 reference/svg-scale-ref SVG presentation attribute and scale 1.5 with only one parameter specified svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale efb394e4ef70add54cc4579d3f3b5ec576932d63 `Rebecca Hauck`<mailto:rhauck@adobe.com> If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.
+svg-scale-003 reference/svg-scale-ref SVG presentation attribute and scale 2 with only one parameter specified svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 36cf6de8a544592ac155f31349dbb4d943303469 `Rebecca Hauck`<mailto:rhauck@adobe.com> If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.
+svg-scale-004 reference/svg-scale-ref SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 791c774e5400c422365c24e526448864fa5f41ef `Rebecca Hauck`<mailto:rhauck@adobe.com> Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.
+svg-scale-005 reference/svg-scale-ref SVG presentation attribute and scale with percent values - not supported svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 3216cb7c0fd234ed796c59229749c3fdb5182472 `Rebecca Hauck`<mailto:rhauck@adobe.com> Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.
+svg-scale-006 reference/svg-scale-ref SVG presentation attribute and scale horizontally 0.5 and vertically 1.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 278671eb326ccac27d9d47596a7d5ad369141e8d `Rebecca Hauck`<mailto:rhauck@adobe.com> The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.
+svg-scale-007 reference/svg-scale-ref SVG presentation attribute and scale horizontally 1.5 and vertically 0.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale ccd988c7500ac5c45e96e3c657b232f71fd081ec `Rebecca Hauck`<mailto:rhauck@adobe.com> The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.
+svg-scale-008 reference/svg-scale-ref SVG presentation attribute and scale 0.5 on the g element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale ef58d8b8954feca3cd1ba2297dfe526be5d007b5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.
+svg-scale-009 reference/svg-scale-ref SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale ab7cd1b85a2a01c90adb2146180e01adecdd206b `Rebecca Hauck`<mailto:rhauck@adobe.com> The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.
+svg-scale-010 reference/svg-scale-ref SVG presentation attribute and scale -0.5 with only one parameter specified svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 9b4f10675e23b4f492ad71b59d1482dfdb7e7caa `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.
+svg-scale-011 reference/svg-scale-ref SVG presentation attribute and scale -2 with only one parameter specified svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale a9be83caa4f7f401998742dbe0f90fb011f73490 `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.
+svg-scale-012 reference/svg-scale-ref SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 6d938cf3ef78a560346043a2c1c9faa6b01bcd0c `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.
+svg-scale-013 reference/svg-scale-ref SVG presentation attribute and scale horizontally -0.5 and vertically -1.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 6eb18767c96561f618a0c48e373cb8adfb8f5423 `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.
+svg-scale-014 reference/svg-scale-ref SVG presentation attribute and scale horizontally -1.5 and vertically -0.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale b77e217c0aa58b94b539e7e70eb7fda5a16f866c `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.
+svg-scale-015 reference/svg-scale-ref SVG presentation attribute and scale horizontally -0.5 and vertically 1.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 4fbf24d114cd3000376b33137354e68aae79f95c `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.
+svg-scale-016 reference/svg-scale-ref SVG presentation attribute and scale horizontally 1.5 and vertically -0.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 8d9d889b8db4ecfa630b851043c8eb7975ef52ad `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.
+svg-scale-017 reference/svg-scale-ref SVG presentation attribute and scale -0.5 on the g element svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 1447495b94d21ebea15eb381bab074776a385220 `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.
+svg-scalex-001 reference/svg-scale-ref SVG presentation attribute and scaleX 0.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scalex 4a7c5b44eb653834e25c995b2f6682c3df1e28ff `Rebecca Hauck`<mailto:rhauck@adobe.com> The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.
+svg-scalex-002 reference/svg-scale-ref SVG presentation attribute and scaleX 1.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scalex aad806a4ff1cfd2f5a1cfeda12f0660fbc9235ea `Rebecca Hauck`<mailto:rhauck@adobe.com> The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.
+svg-scalex-003 reference/svg-scale-ref SVG presentation attribute and scaleX with percent argument - not supported svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scalex 8c078d8362380486d56f8c81dbee97f4fcc82245 `Rebecca Hauck`<mailto:rhauck@adobe.com> The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.
+svg-scalex-004 reference/svg-scale-ref SVG presentation attribute and scaleX -0.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scalex 971670dc601e6d5668dcc26440902953a96b0e42 `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.
+svg-scalex-005 reference/svg-scale-ref SVG presentation attribute and scaleX -1.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scalex 8ca174d92ef1a3ee3d68a37ac9a3db2a525fccf7 `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.
+svg-scaley-001 reference/svg-scale-ref SVG presentation attribute and scaleY 0.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scaley add3ba7236df10b4a80eb3aecc93c8a887b4e93a `Rebecca Hauck`<mailto:rhauck@adobe.com> The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.
+svg-scaley-002 reference/svg-scale-ref SVG presentation attribute and scaleY 1.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scaley ebf00ff60350bb631e68d7e4c98e3667805ea1a4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should be vertically scaled up 1.5 to 150x150
+svg-scaley-003 reference/svg-scale-ref SVG presentation attribute and scaleY with percent argument - not supported svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scaley caba01783fa322095d90fa8da2ea3911078fa8b6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.
+svg-scaley-004 reference/svg-scale-ref SVG presentation attribute and and scaleY -0.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scaley a996639bcf13abc20b7215132be5c99fe9ff7d19 `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.
+svg-scaley-005 reference/svg-scale-ref SVG presentation attribute and scaleY -1.5 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scaley a845a5551f984fefccc7d443857b191a24297f28 `Rebecca Hauck`<mailto:rhauck@adobe.com> Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.
+svg-skewx-001 reference/svg-skewx-ref SVG presentation attribute and angle argument without unit on skewX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 705ccd00a7d8351dea2389ea6fe13d171e16ca5e `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-002 reference/svg-skewx-ref SVG presentation attribute and angle argument with degree unit on skewX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 6dc1965fcf77faa502f0b2f1495091d633db04eb `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-003 reference/svg-skewx-ref SVG presentation attribute and angle argument with grad unit on skewX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 20977d6f58d740ef0773d1dea3dd6210c409f577 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-004 reference/svg-skewx-ref SVG presentation attribute and angle argument with turn unit on skewX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 7063313b42acdd138942ce335f171b4226424f60 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-005 reference/svg-skewx-ref SVG presentation attribute and angle argument with radian unit on skewX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 555f54e4c0ae0373ed6fd433988b05d99bb82448 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-006 reference/svg-skewx-ref SVG presentation attribute and skewX with negative, unit less turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 5e8e8ab3e1626d17d71744ae2a1980ba0484c2d5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-007 reference/svg-skewx-ref SVG presentation attribute and skewX with negative degrees svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 4408aa5d474e43e37f79a493a051728c794836a6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-008 reference/svg-skewx-ref SVG presentation attribute and skewX with negative gradians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 1a488f01bfe5203ff15c5aab9b45d51a1404a588 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-009 reference/svg-skewx-ref SVG presentation attribute and skewX with negative radians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 268f74c70a7976f8bc63b170cc77b9d05cff8f69 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-010 reference/svg-skewx-ref SVG presentation attribute and skewX with negative turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 420a15607cd45731b300bbf1aafb18d74772c12e `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-011 reference/svg-skewx-ref SVG presentation attribute and more than full circle skewX with unit less angle svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx,http://www.w3.org/TR/css-transforms-1/#svg-transform-value a8148029d6aafa5c709a5226725159fd7d145939 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-012 reference/svg-skewx-ref SVG presentation attribute and more than full circle skewX with angle in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 5314afe26889d72bd49beffe6ee9cc1b6f93883e `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-013 reference/svg-skewx-ref SVG presentation attribute and more than full circle skewX with angle in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 84103b4bb4de61d23a7ae4df4bf81b801dde415b `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-014 reference/svg-skewx-ref SVG presentation attribute and more than full circle skewX with angle in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx c455b86c0983fdee6c3faf6e4a6e3657c5489f01 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-015 reference/svg-skewx-ref SVG presentation attribute and more than full circle skewX with angle in turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 31561280f7b9d0ca6d89fbc7e37f1d357b86c1f0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-016 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers on unit less angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 92aaacb6ef2e4a5b1c02c394c19a387edcea712f `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-017 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers on unit less angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx f41ae44f1966dd88820869d5e9f74d4d212afc7d `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-018 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers on gradian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx b2bdc3a4c34851b2fcb527d19abcb8c991ac3ebd `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-019 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers on radian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 88dfd5c4418424dd16a55cd13639214d5ff34479 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-020 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers on turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx e1dc323d04912986f9ececa491e225b90de3dd4c `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-021 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 98843b05b358689ad43896f82b1299b82ae2321a `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-022 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx d42bdbfe85948b6078c372fee8ef5f15cdc80385 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-023 reference/svg-skewx-ref SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 7637ffa4d09bb35a31bcf924b1ffc3c3bbffde53 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-024 reference/svg-skewx-ref SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 893c34b9d9185b6930d1ab727a33ab90f028315e `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewx-025 reference/svg-skewx-ref SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx dce2a1a74648ae1fc99d7ab4151ff859bec5a529 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.
+svg-skewxy-001 reference/svg-skewxy-ref SVG presentation attribute with skewX and skewY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 1cb4b1f58587034c9ff8850e91fbde648b879a20 `Rebecca Hauck`<mailto:rhauck@adobe.com> The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.
+svg-skewxy-002 reference/svg-skewxy-ref SVG presentation attribute with skewX and skewY with different units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewx 1f07a1468a2eb45ea597362bd0aef69cae80ee7b `Rebecca Hauck`<mailto:rhauck@adobe.com> The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function
+svg-skewy-001 reference/svg-skewy-ref SVG presentation attribute and angle argument without unit on skewY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy,http://www.w3.org/TR/css-transforms-1/#svg-transform-value e09a8f740b5f1dcd297c6a09e8cc7cd42f9a26f8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-002 reference/svg-skewy-ref SVG presentation attribute and angle argument with degree unit on skewY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy ad00663f0d9b43c1a9d3e10eccd4447b005508fa `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-003 reference/svg-skewy-ref SVG presentation attribute and angle argument with grad unit on skewY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy a785570363103fabcc8fe3d65a21f3b45b11aefe `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-004 reference/svg-skewy-ref SVG presentation attribute and angle argument with turn unit on skewY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy c5e63ee1e3249f8910c18ea2f5e0ddac96c73c9f `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-005 reference/svg-skewy-ref SVG presentation attribute and angle argument with radian unit on skewY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 66e5d873c2f6b9fe1fe525fbde522f0da3ed7cbe `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-006 reference/svg-skewy-ref SVG presentation attribute and skewY with negative, unit less turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 375b5fb45ac7153df35e0031f2ec9a7a0ffb25ef `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-007 reference/svg-skewy-ref SVG presentation attribute and skewY with negative degrees svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 9bad4cf55b3919a1d8b81b8e0bece5982ec2d5bc `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-008 reference/svg-skewy-ref SVG presentation attribute and skewY with negative gradians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy e62b6bb2ad95355145261925f138bd0e4e0fff3d `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-009 reference/svg-skewy-ref SVG presentation attribute and skewY with negative radians svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 4dbdd137d5ebbe070588ce9a8e0bb9ec0ffa70f8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-010 reference/svg-skewy-ref SVG presentation attribute and skewY with negative turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy fd0b595a9a1404a38e1a6acb9efa320ace8e683e `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-011 reference/svg-skewy-ref SVG presentation attribute and more than full circle skewY with unit less angle svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 14639ed66522943d08fe2d1e0a834e3721c309fe `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-012 reference/svg-skewy-ref SVG presentation attribute and more than full circle skewY with angle in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 5c8d75e1cc0e53e5e72345be8efab7118f2a9b49 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-013 reference/svg-skewy-ref SVG presentation attribute and more than full circle skewY with angle in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy cb8e78ba34f6089e5998ae3b64accbc0c4f16a27 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-014 reference/svg-skewy-ref SVG presentation attribute and more than full circle skewY with angle in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 588f12e71127eb59bd8a4e0159dd1a79addc9c4a `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-015 reference/svg-skewy-ref SVG presentation attribute and more than full circle skewY with angle in turn svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 47ec5d55a4c168274f47b386a761f15a9a8a4e70 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-016 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers on unit less angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy b01f2d74672f9d438b8d95cdffb2ed2fc75f362a `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-017 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers on unit less angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy b2800cedec000a2cb4c8fa010131268c8cf25762 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-018 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers on gradian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy bfb916423b570aa1895709c3bde0c8760168c6e6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-019 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers on radian angles svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy d29507158a26b63ba5c3ddefc1836dbb94f9b32e `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-020 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers on turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 585f766951069532c641c498dc0ad21e0f8d2748 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-021 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 89396ae85add2f59d5dcccab9dc772761afde2b1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-022 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy f53389cda5bd05cb774ab9d8eecde7446e8310a1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-023 reference/svg-skewy-ref SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 71863f571d410d99823963971bf126bd41edfbde `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-024 reference/svg-skewy-ref SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy eb99c4412c29df40597d075b30a38992e9a42202 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-skewy-025 reference/svg-skewy-ref SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-skewy 6cc8452f2e6a18888a10d10a69b59f6c5ad90b71 `Rebecca Hauck`<mailto:rhauck@adobe.com> The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.
+svg-transform-group-001 reference/svg-green-square-ref SVG presentation attribute and translate on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions b7a6c5b0f9e7666fbabfc538ba108cd20edaf930 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.
+svg-transform-group-002 reference/svg-green-square-ref SVG presentation attribute and translateX on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 0a1699c80cd8cd4f8fe5d68b0c834876446a5ce3 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect.
+svg-transform-group-003 reference/svg-green-square-ref SVG presentation attribute and translateY on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions df87d3000ff8e0809ff56364e8320a645685b1d1 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect.
+svg-transform-group-004 reference/svg-green-square-ref SVG presentation attribute and scale on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions e1253bd7cbe7363654c098979c19eae80038a8d4 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.
+svg-transform-group-005 reference/svg-green-square-ref SVG presentation attribute and scaleX on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions dd471bf1ee2c4f7f2fd07ae90e09fe1af6fc66ed `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect.
+svg-transform-group-006 reference/svg-green-square-ref SVG presentation attribute and scaleY on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions f36dd0e5e9fe2eca8083a6d7e97ee06f7ea86c5d `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect.
+svg-transform-group-007 reference/svg-green-square-ref SVG presentation attribute and rotate on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions a409fb1c2f6ef7a2728ee0310a8de842ef429766 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.
+svg-transform-group-008 reference/svg-green-square-250x250-ref SVG presentation attribute and skewX on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions da13d176fc5cbecdc6145b1199c0e7fc16f2a137 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect.
+svg-transform-group-009 reference/svg-green-square-250x250-ref SVG presentation attribute and skewY on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 404cda2e9a7cbd6049c5ee65d2bd805186fee05a `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.
+svg-transform-group-010 reference/svg-green-square-ref SVG presentation attribute and matrix on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 152369b424862891fdae54e2c433e298e2758a5f `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect.
+svg-transform-group-011 reference/svg-green-square-ref SVG presentation attribute and rotate with three arguments on group svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions 9bdf3ac70fb6fe5084aab5a06ba7765670de227b `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.
+svg-transform-list-separations-001 reference/svg-transform-list-separations-ref No separations between transform functions on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists 1a3b7e1d00b8f4635e051e7b4bddf1bef841fc3c `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list
+svg-transform-list-separations-002 reference/svg-transform-list-separations-ref Comma + no whitespace separations between transform functions on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists 13c58e82b52186b2e218ddfc2873bf0bfad2d1ab `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.
+svg-transform-list-separations-003 reference/svg-transform-list-separations-ref Comma + whitespace separations between transform functions on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists 807d67fa56bf0728f85b11b628bb5c5ca2237691 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.
+svg-transform-list-separations-004 reference/svg-transform-list-separations-ref Whitespace separations between transform functions on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists 8a53325fe944469d8a6f1bb3feb52952a459137c `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.
+svg-transform-list-separations-005 reference/svg-transform-list-separations-ref Comma, whitespace, and no separations between transform functions on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists 51b3fced8bf7e7fb3389322f7f4fd4611a173d35 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.
+svg-transform-list-separations-006 reference/svg-transform-list-separations-ref Multiple spaces between transform functions on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists bb06a49bf8c81bf558913766230c315cde948510 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them
+svg-transform-list-separations-007 reference/svg-transform-list-separations-ref Multiple spaces before and after transform functions on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists df5343a2ab7aef3e8ca08f5ca65d2172dce82ae8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list
+svg-transform-list-separations-008 reference/svg-transform-list-separations-ref Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists e9e957303415022892733e6c32bd0a11539b2dc6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.
+svg-transform-list-separations-009 reference/svg-transform-list-separations-ref Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists a5244eefa3421734f0398796a3d53aec904f4e8c `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.
+svg-transform-list-separations-010 reference/svg-transform-list-separations-ref Transform functions separated by newlines on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists e52ea065d87948f68cd18574c3c3649f91833e2f `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines
+svg-transform-list-separations-011 reference/svg-transform-list-separations-ref Transform functions separated by commas and newlines on SVG presentation attribute svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-list,http://www.w3.org/TR/css-transforms-1/#svg-functional-notation,http://www.w3.org/TR/css-transforms-1/#transform-function-lists 02581b4a5aafb1e96d35dc8ddff53b3ec89624a7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines
+svg-transform-nested-001 reference/svg-green-square-ref SVG presentation attribute and translate on group, translate on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 997b618831b9fa1f2fd174fb748016c4ffbfed8c `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.
+svg-transform-nested-002 reference/svg-green-square-ref SVG presentation attribute, translateX on group, translateX on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 27de914b48b2cd2276c30f13fc9715dc35420806 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.
+svg-transform-nested-003 reference/svg-green-square-ref SVG presentation attribute, translateY on group, translateY on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 75b1b8105f7fe359307c00082e1e697bdf6e9b24 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.
+svg-transform-nested-004 reference/svg-green-square-ref SVG presentation attribute, scale on group, scale on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 4fd22d9b13ad5ccb70d646883c13f53160c2e46c `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.
+svg-transform-nested-005 reference/svg-green-square-ref SVG presentation attribute, scaleX on group, scaleX on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 20e099690b53fef901d76e4d366bb38d0d7c3952 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.
+svg-transform-nested-006 reference/svg-green-square-ref SVG presentation attribute, scaleY on group, scaleY on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 184c68fe4ddf3a56e0287d04220ed3bd9addd0ce `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.
+svg-transform-nested-007 reference/svg-green-square-ref SVG presentation attribute, rotate on group, rotate on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 594ba4d30b8f64cb4b3d5509696998cce9ec22cd `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.
+svg-transform-nested-008 reference/svg-green-square-250x250-ref SVG presentation attribute, skewX on group, skewX on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 05fd65c7e61d75b5c1b831c195081c16a7e38110 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.
+svg-transform-nested-009 reference/svg-green-square-250x250-ref SVG presentation attribute, skewY on group, skewY on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions d0bfe80d0cdbebe83381e5349d48d79355712e4a `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.
+svg-transform-nested-010 reference/svg-green-square-ref SVG presentation attribute, matrix on group, matrix on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 8208ccde8c12054412771524228bcd22e343a943 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.
+svg-transform-nested-011 reference/svg-green-square-ref SVG presentation attribute, translate on group, scale on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions eedc58d2d756e49f93ff1d0566e8bf6af9bb61ef `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.
+svg-transform-nested-012 reference/svg-green-square-ref SVG presentation attribute, translateX on group, scaleY on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 25f1a35c08dc0ae699bddc8d04146c63d3c2661b `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.
+svg-transform-nested-013 reference/svg-green-square-250x250-ref SVG presentation attribute, translateY on group, skewX on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions cf6d54beabf3cc7a6c5e8b66ae0ff3a733fff10b `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.
+svg-transform-nested-014 reference/svg-green-square-250x250-ref SVG presentation attribute, scale on group, skewY on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 4909a3d2589df2e9418cf496ca7607fbdd19ee69 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.
+svg-transform-nested-015 reference/svg-green-square-ref SVG presentation attribute, scaleX on group, rotate on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions b88d74a364ec4f7d0eb2fb8583cf9530a645701d `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.
+svg-transform-nested-016 reference/svg-green-square-ref SVG presentation attribute, scaleY on group, translateX on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions dd38a3215ced71c407e9ffba738c33ffecd21d62 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.
+svg-transform-nested-017 reference/svg-green-square-ref SVG presentation attribute, rotate on group, translateY on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 56ccc5879750ce2343cf27e8664185f957603994 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.
+svg-transform-nested-018 reference/svg-green-square-250x250-ref SVG presentation attribute, skewX on group, scaleX on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 09bc31a78bf7fa41802eb6df565139ef0ff17524 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.
+svg-transform-nested-019 reference/svg-green-square-250x250-ref SVG presentation attribute, skewY on group, translate on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions b501105225b03eec91580eaaecfeb84a2c318a39 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.
+svg-transform-nested-020 reference/svg-green-square-ref SVG presentation attribute, matrix on group, scaleX on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions c732513ad7dce23cb7f327fe77dc7d7140f4f491 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.
+svg-transform-nested-021 reference/svg-green-square-ref SVG presentation attribute, translate on group, scaleY on child1, rotate on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 14f9938cd1f547ac932cab14395fc11bdd6a2eea `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated.
+svg-transform-nested-022 reference/svg-green-square-ref SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 99f86bd080228973043bfe573d0d28f05f53d8b1 `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied.
+svg-transform-nested-023 reference/svg-green-square-ref SVG presentation attribute, translateY on group, translate on child1, scale on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions f9a75db45450b91bb138d120c5f30cd8d204f468 `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled.
+svg-transform-nested-024 reference/svg-green-square-ref SVG presentation attribute, scale on group, translateX on child1, scaleX on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 75d662a36b03e554877c13b1cd634fba074d21ef `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally.
+svg-transform-nested-025 reference/svg-green-square-ref SVG presentation attribute, scaleX on group, translateY on child1, scale on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 41d390fc32534ef0578c2b1730b7f559bca39d95 `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled.
+svg-transform-nested-026 reference/svg-green-square-ref SVG presentation attribute, scaleY on group, translate on child1, rotate on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions df5bed7195a41a97e3d84cf898c4a2a60f461816 `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated.
+svg-transform-nested-027 reference/svg-green-square-ref SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 8b3cbc1329c648d49ee9cc9fa57221cd156c918a `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically.
+svg-transform-nested-028 reference/svg-green-square-ref SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2 svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 6454cf592e17022d1e107969e9aa45f7896e9c73 `David Alcala`<mailto:dalcala@adobe.com> Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically.
+svg-transform-nested-029 reference/svg-green-square-ref SVG presentation attribute, scaleX on group, rotate with three arguments on child svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-functions cb7bdd867f5e7c9d734b03e6385a5f5b54f25ce1 `David Alcala`<mailto:dalcala@adobe.com> Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated.
+svg-translate-001 reference/svg-translate-ref SVG presentation attribute and translate with translation-value arguments without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 477bc466788e8dda163a497d0ae9d2af76f207f0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-002 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with pixel units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate d511fa941440f812b7444ff15dc7731fa5485cfe `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-003 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with point units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 0779fc289c296e73adadcf5f3b5307339a916f25 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-004 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with pica units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 03ea557c005aefa2ad0beb4524bebeef83445453 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-005 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with millimeter units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate b1a5ce310244a2fa3556911fe2ca2f96591a24ac `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-006 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with centimeter units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 1d24fdf1e6fe45764bd23afab413c0da69c6cee0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-007 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with inch units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 3a7a4aeb37b6c2882a8d195d1d91e8874ea437a0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-008 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with em units on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate b56c8866c3e42a57ec1819812209490251577062 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-009 reference/svg-translate-ref SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 6c657e4022ac40fcedadc8c4b9dd1fcbdda925ab `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-010 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 1a739e55d7ffcec602b9931d68567bfb4bd0fb9f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-011 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with point units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 0d867f327eb85d6cada17446281b9adb99077f66 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-012 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate b0a44507ce09b8a4f8893b6df7f89dc36ede597c `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-013 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate b13627c93d45aa0975eea6a100d3769f6008910a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-014 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate d879210aaf3f1980f743d884fe3941cf26b33ffb `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-015 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate a3126a3fa31a99e5ef096b494ccd31251ab416d4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-016 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with em units in scientific notation on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate cd5bf367d434c4c8ab20a4849f6ea420420efbc5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-017 reference/svg-translate-ref SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 6957eff8b9e46b08f9381c879907941a84b8a47e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-018 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate d4aedbaa6e59ad964fbfdd72c673cf028f66b53f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-019 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate e0da3b0622f4cf796e080cf929c7765501808609 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-020 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 5be4ac98c8f63aa11e96a69771c976ec4c3856ba `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-021 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 82e53850817d8a42687343abc1bb534aadc8314b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-022 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 06a1272ae104439218ed0db44680bfb5ef9fab60 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-023 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate c4b33760d70f760420a7d348f47418c780c58ddf `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-024 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate d1fd267857149da953e93b0905f77fe5f94e981f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-025 reference/svg-translate-ref SVG presentation attribute and translate with negative translation-value arguments without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 055ae229bbf8ac49fd5bca1abc5ce077ebd7f3ef `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-026 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with negative pixel units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate c88a478512750d4f6a43445206941ef827fe2dc3 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-027 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with negative point units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate d95144ed5855b2a8b8de1de61d752321ca629b2c `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-028 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with negative pica units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate b1c4feea403e468ce67a1f0b4e3a0779aaeef8f1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-029 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with negative millimeter units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 982f9f5a85d52c31aed667184b7d07afb16351e7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-030 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with negative centimeter units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 136b8f532465b4cd2644106c530ac5ee8aaceeca `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-031 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with negative inch units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 470fbd28d4d1ebb85cf520ac927187372ce5d398 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-032 reference/svg-translate-ref SVG presentation attribute and translation-value arguments with negative em units on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 7e08225fa6f9dab18307c123fcff6111f045c4c4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-033 reference/svg-translate-ref SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate e91a325df8dc457e0d6cf98da83ad18b23905add `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-034 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 48b488de4f2d52c1949702cb724d45c49dff4d65 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-035 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 3f32a3ed8b465d0e482d2246e5483b5c55618fd8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-036 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate e4f21fb350c5389a83d6d36558a544f5c7e3a757 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-037 reference/svg-translate-ref SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 8fbdc7646ecea89a85ec9262a6c8fbdda05c6689 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-038 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 0e99a8c2e5421ac8a0b814f2f500fa0086ecfc02 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-039 reference/svg-translate-ref SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate d788921bd7b06e3da85b6399178d1291cabe0576 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-040 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 3b81cb454f92db5742196d6f972789692d992e8e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-041 reference/svg-translate-ref SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 01239aeda78039dfce254a7d44f148615adf75c5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-042 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 1865b47f263db247640efe33890c595169082bb5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-043 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 2a09097f306c118a5bb1e1c69de9128a0a34c48c `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-044 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 734809e6c35d5fd6d88ead30a54b21b93f1a6b4a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-045 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate f89c23c19816ca7aa74e59903d2558e72a304d98 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-046 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate b9a8cfbd15cb23c52fb8b0a1cc6397fecdba3871 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-047 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 04c60f4963518472b74dd879dfd3cf753a4bf235 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-048 reference/svg-translate-ref SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 4bd1b91954fea3057e27c826d864cb728fd64b77 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-049 reference/svg-translate-ref SVG presentation attribute and translate with one translation-value argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 95e911b4108f327061a685b3afb6af32b46d6fd3 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction
+svg-translate-050 reference/svg-translate-ref SVG presentation attribute and translate with one negative translation-value argument svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 7d3e751264dc65b354a1f3a1e49422f248006649 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction
+svg-translate-051 reference/svg-translate-ref SVG presentation attribute and translate with comma delimited arguments with no spaces svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 8549d42a6439fa36284d107f113c9782c38757c5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-052 reference/svg-translate-ref SVG presentation attribute and translate with comma delimited arguments with a space in between svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate b95259c7d3029bda27ea42c9c486e797ec3703a8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-053 reference/svg-translate-ref SVG presentation attribute and translate with arguments separated by multiple spaces svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 0c22f519dfe525b63c315066b6d0bbad81751c68 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-054 reference/svg-translate-ref SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate d4d1375ad5e656ba12b804bc11149ffa936aa379 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-055 reference/svg-translate-ref SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 6e51db7d0d64f7c187bdf694f7126aafc77479fa `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-abs-unit-combinations-001 reference/svg-translate-abs-unit-combinations-ref SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 08867c5e62caadd1db5b76659a7372e8b2c53ab6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-abs-unit-combinations-002 reference/svg-translate-abs-unit-combinations-ref SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 237f433662492d88261dc4d024ddca85f5d688fe `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-abs-unit-combinations-003 reference/svg-translate-abs-unit-combinations-ref SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 1f90ba6550b28866a7e2d2860e694bf9ef3e8027 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-abs-unit-combinations-004 reference/svg-translate-abs-unit-combinations-ref SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 315931881232abd415c357d7443c8cffbaf70ea6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-abs-unit-combinations-005 reference/svg-translate-abs-unit-combinations-ref SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate a67248a97051b281d013b388a87e729417e9e380 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-abs-unit-combinations-006 reference/svg-translate-abs-unit-combinations-ref SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 7170a29ddb8ac20c8d658522c0f0d64bc2a9c732 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction
+svg-translate-ex-unit-001 reference/svg-translate-ex-unit-ref SVG presentation attribute and translation-value arguments with ex units on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 8d79a9327a2526ca33dfc0d7d2a58af23898677b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction
+svg-translate-ex-unit-002 reference/svg-translate-ex-unit-ref SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 70b31d4c134fe7598193a3a9c4660431d04d7990 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction
+svg-translate-ex-unit-003 reference/svg-translate-ex-unit-ref SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 8ce26be8f30206abe2c75ab08d6d911b40ea0400 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction
+svg-translate-ex-unit-004 reference/svg-translate-ex-unit-ref SVG presentation attribute and translation-value arguments with negative ex units on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 2f45064ec985c80529b34bea0f96ad90b7f86214 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction
+svg-translate-ex-unit-005 reference/svg-translate-ex-unit-ref SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 4a117f3a331aefc0cdb5938e90f747e66b70535f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction
+svg-translate-ex-unit-006 reference/svg-translate-ex-unit-ref SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 7c3c078520fb1f27d4f3a6958d5f676e4b7b530f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction
+svg-translate-multiple-001 reference/svg-translate-multiple-ref SVG presentation attribute and translation-value arguments with translate applied twice svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate aadd0cac1cb8ccdf1b7d758691d598348e6a4b3b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction
+svg-translate-multiple-002 reference/svg-translate-multiple-ref SVG presentation attribute and translation-value arguments with translate applied twice in both directions svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate e2801d4376eead711de2c3b73927e54137bda9e6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction
+svg-translate-multiple-relative-001 reference/svg-translate-multiple-relative-ref SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 40162aa0a3b42c882d9839516a947993c41af551 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-multiple-relative-002 reference/svg-translate-multiple-relative-ref SVG presentation attribute and translation-value arguments with translate applied twice in percentage units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 4ca3c9f4b1cec4a257d7a82fc63cda031fededf1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-001 reference/svg-translate-relative-ref SVG presentation attribute and translation-value arguments with percentage units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 3e44fd2afa1771111fa8832bda6a31e33fbefe3b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-002 reference/svg-translate-relative-ref SVG presentation attribute and translation-value arguments with negative percentage units on translate svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate f39f426ddf51a0ac2c198e75b1567d6c5818488f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-003 reference/svg-translate-relative-ref SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in % svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 68777d62e2adda819601d60fbd08d4e865f4ccd8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-004 reference/svg-translate-relative-ref SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 4d302faca01987d9e62d336495134ca1662e9543 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-005 reference/svg-translate-relative-ref SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in % svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value a581d8c0ee02bb20fd7505c15f065a09ed4fab35 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-006 reference/svg-translate-relative-ref SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value e676d4c0c288c2d97a5bb710162c46f97dab0ff0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-007 reference/svg-translate-relative-ref SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 5c46c495686da7cba514339e34f47b93acbd0113 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction
+svg-translate-relative-008 reference/svg-translate-relative-ref SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in % svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate bfcd1ef323308a6a3c43c128edc17077dd0e977a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction
+svg-translatex-001 reference/svg-translatex-ref SVG presentation attribute and translateX with translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex,http://www.w3.org/TR/css-transforms-1/#svg-transform-value b9063731a1c2b992272596695d42f216f57062be `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-002 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with pixel unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 0c89f8fc58ebb3ebce0f95f7940e6bda02fc573c `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-003 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with point unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 4d79db5b34257b520e9d972d4e15caefbd22a4f2 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-004 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with pica unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 4e6ddb0f7db74113df322fb9fad57ae8024870ce `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-005 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with millimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex b1553beec2553c00516b8908187b5d7e1503015e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-006 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with centimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex c054473a9abb0706d930925abedb80a147b8e232 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-007 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with inch unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 07769b43734f3e6e0bb51a2f78d1f2bf1a1e50a4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-008 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with em unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 6604bf4adb8b21ce985ea9d3e9fcf7153904450b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-009 reference/svg-translatex-ref SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex f2353b2b940224ed2aa3ea547e0f5c14dda9a868 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-010 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 69079317a7de531aa3b7753ead95b11650c08d5a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-011 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 8fedaf18c2831616e00d75d19affef7d56db2df8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-012 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 3dae2130ffa0ca809f59bb88d69dcffcc336689e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-013 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 59845d1a3eda1c774fd7fd1517360b9119463976 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-014 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 13380da408463d5628e518901b62f5e52ddfc130 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-015 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 3c7babbd78079c043c9424bc465f72a583ad2e5f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-016 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 8dcef2a2cd5b283fbfe4c3cf2c0b3627df06bf07 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-017 reference/svg-translatex-ref SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex a427dccdc095b3a6180bfed4b726324579cf036a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-018 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 224c6f8e30ee1da3661ea9b94255e3c1a5f19192 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-019 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex c56c29a96207de09cc59a944e2ff024778078048 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-020 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 318910b44b33799dd03a6c47abfb1d0c0a69aae5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-021 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 9e55ae54dac4219870684b1ea6a86a5b8b52b0fa `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-022 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 13b66a2ccb2fcf153fa59d6eb5d624a28c79b89f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-023 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 41a12e56c5751810e734594efb1c627d838d5cba `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-024 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex b98467fc939794d714b3956ad14cbeaebe562427 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-025 reference/svg-translatex-ref SVG presentation attribute and translateX with a negative translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex,http://www.w3.org/TR/css-transforms-1/#svg-transform-value b156cd2719f26de9a7ace114e108f5fbbaa19fe0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-026 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative pixel unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 86f267c4d13f373ce445d0481c1b1f6e25435405 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-027 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative point unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 970742468eb7f25790b8031f9aa962641f12cdcc `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-028 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative pica unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 1e67c76506c9784888a11409df394241b5a6b334 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-029 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative millimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 980d741ae8685897b0e1b0449b1fbf7aa86f1f8a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-030 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative centimeter unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 35d1791b27a7f4ef87a949db210f3e24d13ed3fa `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-031 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative inch unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 971b895e469efab6d3c0bb0fa1fdad7315c3824b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-032 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative em unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex d58d4361cf9d63ca06ea121bcc9d25193fd0db9c `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-033 reference/svg-translatex-ref SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex b32b67a31bb61b9b71c3f43842bbebd99880a6be `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-034 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex cd583564339946c740e4ba0024804f4e5d092ad7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-035 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 995e5c0d024d4e5f4672f1f6a94555f0ce0a68e4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-036 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex a6e62a415fdacd2fcca75ed0e0e9568e3769bdf6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-037 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 264646466ed040d27487c3667410d333c9ca21c0 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-038 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 8a6f6c959970c3442a37b704ce48a51ef9766f86 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-039 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex c4f0d7c38f7cd1ac50823851f4156e25009ef17d `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-040 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 84b7e570ec8b04c14ae719c73f6bba0ff1321853 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-041 reference/svg-translatex-ref SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 7fa0e4b90ce66530f56a457d8d0fb91e4be59ab5 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-042 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 1d9bbc8568064c6614df24b1155e718d9f891f13 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-043 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 168ac64b6c61d5d01fc28c98f011d2dc824192b8 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-044 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex b109b17995706b8c2e0bd59401b67e848c8716e4 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-045 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 84d565fa2fc687f17d937b9583a98977acfbe2de `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-046 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 4141c5ee213fd8e9ed43fa3dd779495d831298ab `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-047 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex a55c51916e9fc19853277a5230c38bc85e9f46bc `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-048 reference/svg-translatex-ref SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 38d1243519fb462bad95173e65a16e56d70b64ef `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-combination-001 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with translateX applied twice svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 51e5b1628a2653968a8651cebee545a768404dad `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-combination-002 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex ae166af1ebe087b1444931a3afbd20876388ec1d `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-combination-003 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with translateX applied twice in percentage units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 4dbce0af2b8adcd72b6a7abb5a355cdb87fd304e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-combination-004 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with translateX applied in both directions svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 02e3fea4e0b90a7e219acfc9a65c775895223b40 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-ex-unit-001 reference/svg-translatex-ex-unit-ref SVG presentation attribute and translation-value argument with ex unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 10ab55f55edb95e1b6eb2bcc9da13b82b94ccbe7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction
+svg-translatex-ex-unit-002 reference/svg-translatex-ex-unit-ref SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 879a4a81a3bdc9a399264fce20c8df3728b19028 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction
+svg-translatex-ex-unit-003 reference/svg-translatex-ex-unit-ref SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 3a3fd0d548f2b33e426b2cc966c8530f2724d585 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction
+svg-translatex-ex-unit-004 reference/svg-translatex-ex-unit-ref SVG presentation attribute and translation-value argument with negative ex unit on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 55ca963f7890513bbe89add7fb4696add33830a3 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction
+svg-translatex-ex-unit-005 reference/svg-translatex-ex-unit-ref SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 53bd701ddf9330d44531ec006597b4247e295878 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction
+svg-translatex-ex-unit-006 reference/svg-translatex-ex-unit-ref SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex cb8fd45720b133cd2df900319eca9d4082e05a14 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction
+svg-translatex-relative-001 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with percentage unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 598651190e18ec46ba2b87e61b9429c0e04542bb `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatex-relative-002 reference/svg-translatex-ref SVG presentation attribute and translation-value argument with negative percentage unit on translateX svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 873eea9dd6c73d12ac542dd862185d601ac70292 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction
+svg-translatey-001 reference/svg-translatey-ref SVG presentation attribute and translateY with translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 5a4ad049feb11f9e39a2bb8dfbbb15962bc248ca `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-002 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with pixel unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey ede795cc1617f4b23dd2868fbc17fe2ca16fe8fe `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-003 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with point unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey c11e0f2108b9b3cd00f3e41f4748342b852eb7ac `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-004 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with pica unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey f5e5c9f20e637b7cb8083066c14e4505fa6e1ede `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-005 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with millimeter unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 537c0164a409118d17bc46b4582a9b4c31d140ce `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-006 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with centimeter unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey ef587665fa4ee1b8405f96e77e8b504a09aa3408 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-007 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with inch unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey c41ba4ef6c190218f91997a1f663b657c0497623 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-008 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with em unit on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 053ceaedc3dbf216bfa7ef02f7b5cda34b1d099a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-009 reference/svg-translatey-ref SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 8606bdbe8946648c9ceae3f9e8ae72f401f39fbf `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-010 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 1a52ec46cb784d055669d9e704c7b7e5d985125b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-011 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey b7f541a8a1a4f01a062e5d1dc47abea4fe98b837 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-012 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey e088008ea3473e6f6c591ede48e39debd820a52d `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-013 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey c654d255c0909bf37b13ebb0a10f588f47726c74 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-014 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 3f04d180f6f1d5257a56aa51cc9ee8591f05567c `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-015 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey d826e2d4c0e9962c92458d13f540edc42aa05a17 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-016 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey ac94e9c78bc53959aadffb5265d429acaa4636cf `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-017 reference/svg-translatey-ref SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey b760326a4882cc92189954368940ff383840cafb `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-018 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 50d11530144f92d07a7863a5b685ccdde059a3bc `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-019 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey d1a2df949d75124fa81990d3c318a8f9e2350af6 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-020 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 8affdc0437844b420abd7a95ee670d4d3b51a929 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-021 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 0f4ad58a27ac0e4a62106272d36d6d4cfb11cb7b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-022 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 4cbc479cdbb5f9cc3a4b179336151dd77ef1576a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-023 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 44e2f404dcea72dc0575624f6016048af0d06b6a `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-024 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey f32fd030933a370cfdd29b645a73351a12751802 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-025 reference/svg-translatey-ref SVG presentation attribute and translateY with a negative translation-value argument without unit svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey,http://www.w3.org/TR/css-transforms-1/#svg-transform-value 6ca3a4657e73c46b4f60f82bab45b2451183a298 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-026 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative pixel unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey a23a00a08f1f027d04c3f8d63a0da23ff469121b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-027 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative point unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey dc585442b58e8fe55c4e05e5a0d957b1f2626b91 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-028 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative pica unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 73e8c05d2c949f3be96079aea131e61d043289e7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-029 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative millimeter unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey b05e729e60c5e815a62422e13736c2a099a6f774 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-030 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative centimeter unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey a6d35bbc734a37d4fdf2b252b1a9828294229b06 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-031 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative inch unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 4ae6e4c8a5825bf69c950edaa6c19d1f92b3ac0e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-032 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative em unit on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 418e8a0acd177603fd91ac04c675c69863532b56 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-033 reference/svg-translatey-ref SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 59f5cce9194f50db36f234c8277c74f29afda24e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-034 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey e49b58e079c845bfd6863dd7630c0072ec756a6b `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-035 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 33ee4c0d3788d7fd4da13698cf7b2dc79b6094bd `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-036 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey ea0e5c98f0dcbcdbdc33d6d0aad848dde1eeef55 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-037 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 4190e7df7cc6bdf53cecf8ef7af0c0fd4c6a1548 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-038 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey b4b296e0ba90e5cbfe58aa0fad570860ddc488be `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-039 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 1a3b6e92ca35b19a9c7978d0d1971b4c296ae2c3 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-040 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey bd48f35f98e61e1ac4a55f25e878dd73f3f7a0a3 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-041 reference/svg-translatey-ref SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-transform-value,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey a1386227cf9dcacb6f7966c56e45e6fb02343ed2 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-042 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey f8676fdff2959fe89edd79d71ffd25b8777bf932 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-043 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 2e7665ed8dd6fa5ccc1b9472e3a9a696a4944db1 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-044 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 872df77b6fc432f662744aba91550283e4de68cd `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-045 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey dba460e1d8ca3032f34c9cd69ad03431305fb629 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-046 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 6e7998e4b72f196d31b8ffd48dbe5535505fef00 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-047 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 571d0629c798170362f14993419fa4eaa35a3209 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-048 reference/svg-translatey-ref SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey a72413f9748eefb0ee7d9b961cb5df29b2f3621f `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-combination-001 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with translateY applied twice svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 8a59692a1e950a5e282389eb0373b2227ef2cfae `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-combination-002 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 8d86dfcc5444483b0282f629da851e8b007dba1c `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-combination-003 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with translateY applied twice in percentage units svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey a42bb407cd18f137851f3c7302f918b22df444bf `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-combination-004 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with translateY applied in both directions svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey bc6ec92cc8ca10b059f25dd3490df9ca50e3e5e7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-ex-unit-001 reference/svg-translatey-ex-unit-ref SVG presentation attribute and translation-value argument with ex unit on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 22e6948d94e8516a5cdeb92d6fe3b1746d55dd94 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction
+svg-translatey-ex-unit-002 reference/svg-translatey-ex-unit-ref SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 6fb2aadd741a6a8cfb37e013836e272b93e36f09 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction
+svg-translatey-ex-unit-003 reference/svg-translatey-ex-unit-ref SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 2c3c72265c7296113819039aa145bd5ce6cb979e `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction
+svg-translatey-ex-unit-004 reference/svg-translatey-ex-unit-ref SVG presentation attribute and translation-value argument with negative ex unit on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 1e10cee8e55fd0c67cda531868fa156da6f88e88 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction
+svg-translatey-ex-unit-005 reference/svg-translatey-ex-unit-ref SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey b1accadbf890f470da86c3028911bd372d0f37e7 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction
+svg-translatey-ex-unit-006 reference/svg-translatey-ex-unit-ref SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY ahem,svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#svg-number,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey c8decfe92c88ff7b9d771b37005bd205265a2876 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction
+svg-translatey-relative-001 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with percentage unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey d1db0cf9706882c089ba1297a23a1f3632112d50 `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+svg-translatey-relative-002 reference/svg-translatey-ref SVG presentation attribute and translation-value argument with negative percentage unit on translateY svg http://www.w3.org/TR/css-transforms-1/#svg-transform,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 2c74fb0cf8d319f76c665c141b0edd600a231cea `Rebecca Hauck`<mailto:rhauck@adobe.com> The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction
+transform-2d-getComputedStyle-001 transform translate dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 216cebd0833e5c8d7c1de779909a17d601e36bc8 `Your Name`<mailto:youremail@address.com> CSS 2D transforms correctly report their matrix via getComputedStyle()
+transform-3d-rotateY-stair-above-001 reference/transform-3d-rotateY-stair-above-ref-001 rotateY with perspective produces a trapezoid http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering ca88a7d44c80ff2e7b904840350b51d86b3a53b2 `Apple Inc.`<http://www.apple.com/> A rotateY transform with perspective should result in a trapezoid.
+transform-3d-rotateY-stair-below-001 reference/transform-3d-rotateY-stair-above-ref-001 rotateY with perspective produces a trapezoid http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 29c2babe5b8d5d61a3faffe5b151e90cd8984237 `Apple Inc.`<http://www.apple.com/> A rotateY transform with perspective should result in a trapezoid.
+transform-abspos-001 reference/transform-abspos-ref Containing Block for Absolute Positioning (left/top) http://www.w3.org/TR/css-transforms-1/#transform-rendering ebbfd38b3580e0eefdc4cbe00c2ad6f4bd4c0528 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> "In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block." This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position.
+transform-abspos-002 reference/transform-abspos-ref Containing Block for Fixed Positioning (left/top offsets) http://www.w3.org/TR/css-transforms-1/#transform-rendering 460ebef9314bfb17702fcbe33c0b584d346e567d `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> "In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants." This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport.
+transform-abspos-003 reference/transform-abspos-ref Containing Block for Fixed Positioning (right/bottom offsets) http://www.w3.org/TR/css-transforms-1/#transform-rendering 22270908030de8b8b2bb731453f9a68759347115 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> "In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants." This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. (This test differs from the previous in that it uses right/bottom properties for positioning instead of left/top.)
+transform-abspos-004 reference/transform-abspos-ref Containing Block for Absolute Positioning (bottom/right) http://www.w3.org/TR/css-transforms-1/#transform-rendering c093327bedf6814a8fe8d3066c6e67dc562079d2 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name>,`Apple Inc.`<http://www.apple.com> "In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block." This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that it uses the right/bottom properties for positioning instead of top/left.
+transform-abspos-005 !reference/transform-abspos-ref Containing Block for Absolute Positioning (bottom/right) http://www.w3.org/TR/css-transforms-1/#transform-rendering f14e3b140f975d1869f3ea2d007fb4fc932b9fa7 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> "In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block." This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. Therefore, this test should be offset by one pixel from the reference.
+transform-abspos-006 reference/transform-abspos-ref Containing Block for Absolute Positioning (table) http://www.w3.org/TR/css-transforms-1/#transform-rendering 43811d30b1eeeeaf1568977641f6bddb6449ec75 `Aryeh Gregor`<mailto:ayg@aryeh.name> "In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block." This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that the outer div is a table, which might cause buggy rendering engines to treat it differently.
+transform-abspos-007 reference/transform-abspos-ref Containing Block for Fixed Positioning (inline-table) http://www.w3.org/TR/css-transforms-1/#transform-rendering fbcd78880ad7da649bae7c7bf9d49f8e5adbdd32 `Aryeh Gregor`<mailto:ayg@aryeh.name> "In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants." This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. This test differs from transform-abspos-002.html in that the outer div has display: inline-table, which might cause it to render differently in buggy UAs.
+transform-applies-to-001 reference/transform-applies-to-001-ref transform applied to elements with 'display' set to 'block' http://www.w3.org/TR/css-transforms-1/#transform-property c5b7edcf423ffb3286d43bb506fbf59849a85793 `Apple Inc.`<http://www.apple.com/> The 'transform' property applies to elements with 'display' set to 'block'.
+transform-applies-to-002 reference/transform-applies-to-002-ref Transform does not apply to non-replaced inline elements ahem http://www.w3.org/TR/css-transforms-1/#transform-property f8ff14ddbac427d20647c8410ba47cd3b8202b4f `Apple Inc.`<http://www.apple.com/> The 'transform' property does not apply to non-replaced inline elements.
+transform-background-001 reference/transform-background-ref-1 Transform of Background Image (rotate right) svg http://www.w3.org/TR/css-transforms-1/#transform-property 8bf8becc441d55130a13a7f6c45fb35a07d0ccd9 `Aryeh Gregor`<mailto:ayg@aryeh.name> Background images fall within the element's border box, so they need to be transformed along with it.
+transform-background-002 reference/transform-background-ref-1 Transform of Background Image (rotate left) svg http://www.w3.org/TR/css-transforms-1/#transform-property b57d0985403a0b3ec1dab9806aae49a4ecf71ecd `Aryeh Gregor`<mailto:ayg@aryeh.name> Background images fall within the element's border box, so they need to be transformed along with it.
+transform-background-003 reference/transform-background-ref-1 Transform of Background Image (flip) svg http://www.w3.org/TR/css-transforms-1/#transform-property e8a0f69eff0ee5789c79219c99efb34b3f6645ba `Aryeh Gregor`<mailto:ayg@aryeh.name> Background images fall within the element's border box, so they need to be transformed along with it.
+transform-background-004 reference/transform-background-ref-1 Transform of Background Image (nested flip) svg http://www.w3.org/TR/css-transforms-1/#transform-property 56ab8e555e79ff81d7a3b05ab382b5b21b1c9036 `Aryeh Gregor`<mailto:ayg@aryeh.name> Background images fall within the element's border box, so they need to be transformed along with it. This file tests that a transform on the parent works correctly, not just on the element itself.
+transform-background-005 reference/transform-background-ref-2 Transform of Background Image (non-propagated body) svg http://www.w3.org/TR/css-transforms-1/#transform-property c77baa2d6ca35a2b0a51b45ec6ff8d6b92716ee3 `Aryeh Gregor`<mailto:ayg@aryeh.name> Background images fall within the element's border box, so they need to be transformed along with it. In this case the scale is applied to the root element, and the background is on the body. The white background on the root element prevents the body's background from propagating to the canvas, so it's just a regular background.
+transform-background-006 reference/transform-background-ref-2,!reference/transform-background-006-notref Transform of Background Image (propagated body) svg http://www.w3.org/TR/css-transforms-1/#transform-property 5c00e2eddc748ac87284bfd6d0a66c2c7904f139 `Aryeh Gregor`<mailto:ayg@aryeh.name> Background images fall within the element's border box, so they need to be transformed along with it. In this case the transform is applied to the body element, but the root element's background is transparent, so the background is actually on the root element instead of the body. Therefore, the transform must not affect the background.
+transform-background-007 reference/transform-background-ref-2 Transform of Background Image (propagated body with root element transform) svg http://www.w3.org/TR/css-transforms-1/#transform-rendering 8e1a27e66891c231d76aad09a65eb2148c39b93e `Aryeh Gregor`<mailto:ayg@aryeh.name> "If the root element is transformed, the transformation applies to the entire canvas, including any background specified for the root element. Since the background painting area for the root element is the entire canvas, which is infinite, the transformation might cause parts of the background that were originally off-screen to appear. For example, if the root element's background were repeating dots, and a transformation of 'scale(0.5)' were specified on the root element, the dots would shrink to half their size, but there will be twice as many, so they still cover the whole viewport." In this case, the background is specified on the body but propagates to the root element. The transform is on the root element, so it needs to affect the background. The rotation 90 degrees clockwise means that most of the screen will be filled with triangles that were originally above the top of the viewport; the original top row of triangles will now be on the left.
+transform-background-008 reference/transform-background-ref-2 Transform of Background Image (root element background and transform) svg http://www.w3.org/TR/css-transforms-1/#transform-rendering fef8b9c41f26d8be57dde0743cb057f0c8dd3e42 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is exactly the same as transform-background-007.html, except that the background is specified directly on the root element instead of being specified on the body and propagating to the root.
+transform-compound-001 reference/transform-compound-ref,!reference/transform-compound-notref-1,!reference/transform-compound-notref-2 Compound Transforms http://www.w3.org/TR/css-transforms-1/#transform-rendering 65423ad44cb45420ba7c53d298bf04bdf96e6a99 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Robert O'Callahan`<mailto:robert@ocallahan.org>,`Aryeh Gregor`<mailto:ayg@aryeh.name> Tests that applying multiple transforms to an element is the same as applying the transforms in the same order to nested elements.
+transform-descendant-001 reference/transform-descendant-ref Transform Affects Descendant http://www.w3.org/TR/css-transforms-1/#transform-rendering 9ecfd9ef564e63b51fc011d5015c82a8423a5391 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This just tests that a transform on a container div moves its contents, not just the div itself.
+transform-display-001 reference/transform-display-ref,!reference/transform-display-notref Inline-Block http://www.w3.org/TR/css-transforms-1/#transformable-element 736272b962f8bb2c4fc3b3562e8a9f0c52447bfa `Aryeh Gregor`<mailto:ayg@aryeh.name> Inline-blocks are atomic inline-level elements, so should transform the same as blocks.
+transform-display-002 reference/transform-display-ref,!reference/transform-display-notref Table http://www.w3.org/TR/css-transforms-1/#transformable-element 01f7314f81d629016a234be2c2c69498a4fe66a2 `Aryeh Gregor`<mailto:ayg@aryeh.name> Inline-blocks are block-level elements, so should transform the same as blocks.
+transform-display-003 reference/transform-display-ref,!reference/transform-display-notref Inline-Table http://www.w3.org/TR/css-transforms-1/#transformable-element cc752c75220763ea86107436d581238a45227b29 `Aryeh Gregor`<mailto:ayg@aryeh.name> Inline-tables are atomic inline-level elements, so should transform the same as blocks.
+transform-display-004 reference/transform-display-ref,!reference/transform-display-notref List-Item http://www.w3.org/TR/css-transforms-1/#transformable-element 197bc76647b352e72605523e3b6bec59a45ca39e `Aryeh Gregor`<mailto:ayg@aryeh.name> List-items are block-level elements, so should transform the same as blocks.
+transform-fixed-bg-001 reference/transform-fixed-bg-ref Fixed Background svg http://www.w3.org/TR/css-transforms-1/#transform-rendering e9e7de4cb26288ee0ea7729e9dcbd8ad75633214 `Aryeh Gregor`<mailto:ayg@aryeh.name> "Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms." Thus if we have a div that's 100px square aligned at the top left of the page, giving it a fixed background and translating it 50px down and right should be the same as giving it a non-fixed background that's translated 50px down and right.
+transform-fixed-bg-002 reference/transform-fixed-bg-ref Fixed Background (with scrolling) dom,svg http://www.w3.org/TR/css-transforms-1/#transform-rendering 4de11890a7a7ea6d316feac81ef3bb7993687082 `Aryeh Gregor`<mailto:ayg@aryeh.name> "Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms." Here we translate the div 150px down instead of 50px, and also scroll down 100px. This should be the same as the previous test because the background image is 100px square.
+transform-fixed-bg-003 reference/transform-fixed-bg-ref Fixed Background (with rotation) svg http://www.w3.org/TR/css-transforms-1/#transform-rendering 3df08ba0c8ba319b3ad1317155a7d53c84beb87b `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform-fixed-bg-001, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.
+transform-fixed-bg-004 reference/transform-fixed-bg-ref Fixed Background (with rotation and scrolling) dom,svg http://www.w3.org/TR/css-transforms-1/#transform-rendering 59916afe421f11e78c67cfdc950ee502f6ab37af `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform-fixed-bg-002, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.
+transform-fixed-bg-005 reference/transform-fixed-bg-ref Fixed Background (no-op transform) svg http://www.w3.org/TR/css-transforms-1/#transform-rendering 25d4f006196a7dd7f7458ffc84085e28b6ea6cf9 `Aryeh Gregor`<mailto:ayg@aryeh.name> This affects that adding a no-op transform to an element with a fixed background doesn't affect rendering.
+transform-fixed-bg-006 reference/transform-fixed-bg-ref Fixed Background (transform of intermediate) svg http://www.w3.org/TR/css-transforms-1/#transform-rendering 5ec1df5b51701a448ccb0331ad1b8816f2fb6184 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that adding a rotation to a non-root element doesn't affect rendering of fixed backgrounds on its descendants.
+transform-fixed-bg-007 reference/transform-fixed-bg-ref Fixed Background (transform on root) svg http://www.w3.org/TR/css-transforms-1/#transform-rendering 37ff83fb71ada9c6ef7ffd3ec2a77019a1a86fa6 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that a transform on the root element *does* affect the rendering of fixed backgrounds on its descendants.
+transform-generated-001 reference/transform-generated-001-ref,!reference/transform-generated-001-notref Generated Content (block) http://www.w3.org/TR/css-transforms-1/#transform-rendering d72bcebb4335203a48c174cd823738ed9211248c `Aryeh Gregor`<mailto:ayg@aryeh.name> Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated block box.
+transform-generated-002 reference/transform-generated-002-ref,!reference/transform-generated-002-notref Generated Content (inline) http://www.w3.org/TR/css-transforms-1/#transform-rendering 75aea42eae2accbd493898679a472e96c725ef61 `Aryeh Gregor`<mailto:ayg@aryeh.name> Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated inline box.
+transform-iframe-001 reference/transform-iframe-ref Iframe http://www.w3.org/TR/css-transforms-1/#transform-rendering e8c172592294ad5ad4e135ae2bcde1996cf5bbb7 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This test ensures that transforms cannot move the contents of an iframe onto the parent page. The iframe here contains a red box shifted 500px down and to the right, outside the iframe's visible area. overflow: hidden ensures that scrollbars are not tested.
+transform-image-001 reference/transform-image-ref Transformed <img> http://www.w3.org/TR/css-transforms-1/#transformable-element 44be07d3ada78d2af4da311e21a6572224f1fbc0 `Aryeh Gregor`<mailto:ayg@aryeh.name> An <img> is a transformable element, so transforms should work on it the same as any image. This test compares an img element with a 90deg rotation transform applied to a different image that was pre-rotated by 90 degrees.
+transform-inherit-001 reference/transform-inherit-ref 'inherit' and em http://www.w3.org/TR/css-transforms-1/#transform-property 02c2329fec49e9bf987f7e4caecb809779c1c0f9 `Aryeh Gregor`<mailto:ayg@aryeh.name> The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as "As specified, but with relative lengths converted into absolute lengths." In this test, a parent element has a transform of 1em with a font-size of 25px, and the child has "transform: inherit". Since the relative length of 1em is converted to an absolute length of 25px before inheritance, the child should be translated by a further 25px, for a total of 50px, even though its font-size is 100px. An implementation that incorrectly inherited 1em without converting it to an absolute length first would translate by 125px.
+transform-inherit-002 reference/transform-inherit-ref 'inherit' and percentages http://www.w3.org/TR/css-transforms-1/#transform-property 8b688b891a581fdaafb2164885f8da70e16741e9 `Aryeh Gregor`<mailto:ayg@aryeh.name> The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as "As specified, but with relative lengths converted into absolute lengths." In this test, a parent element has a transform of 10% with a height/width of 400px, and the child has "transform: inherit" and a height/width of 100px. Since percentages are not relative lengths and are inherited as specified, the parent should be translated by 40px and then the child by only 10px, for a total of 50px. An implementation that incorrectly converted the parent's 10% transform into 40px before inheritance would translate the child by a further 40px, for a total of 80px.
+transform-inherit-origin-001 reference/transform-inherit-origin-ref "transform-origin: inherit" and em http://www.w3.org/TR/css-transforms-1/#transform-origin-property 0aa754834de8a76407ba7d3520b4384f1f2bdc04 `Aryeh Gregor`<mailto:ayg@aryeh.name> The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as "For <length> the absolute value, otherwise a percentage." In this test, a parent element has a transform-origin of '5em 10em' with a font-size of 10px, and the child has "transform-origin: inherit". Since the relative length of 5em is converted to an absolute length before inheritance, the transform-origin should be at the bottom of the child, 50px 100px. The 180deg rotation should thus effectively move the child down 100px. An implementation that incorrectly inherited the transform-origin value before converting to an absolute length would treat it as 100px 200px, since the child has a font-size of 20px, so it would effectively translate the child 100px right and 300px down.
+transform-inherit-origin-002 reference/transform-inherit-origin-ref "transform-origin: inherit" and percentages http://www.w3.org/TR/css-transforms-1/#transform-origin-property 37db9cf612fac5a0cc4fadbd5b9095505df131dc `Aryeh Gregor`<mailto:ayg@aryeh.name> The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as "For <length> the absolute value, otherwise a percentage." In this test, a parent element has a transform-origin of '50% 100%' with a height/width of 50px, and the child has "transform-origin: inherit" with a height/width of 100px. Since the transform-origin is a percentage, it's inherited before it gets resolved to a length. This means it works out to 50px 100px on the child, at its center, so the 180deg rotation should translate the child down by 100px. An implementation that incorrectly resolved the transform-origin to 25px 50px before inheritance would instead display the child box translated left 75px.
+transform-inline-001 reference/transform-inline-ref,!reference/transform-inline-notref Transformed Inline http://www.w3.org/TR/css-transforms-1/#transform-property d2fca0107eac2d92ae44ac6cc645b46233a1c1b4 `Aryeh Gregor`<mailto:ayg@aryeh.name> The definition of "transformable element" includes atomic inline-level elements, such as images, but not regular inline-level elements, such as spans. The 'transform' property only applies to transformable elements, so it should have no effect on a span.
+transform-input-001 reference/transform-input-001-ref Input (type=text) http://www.w3.org/TR/css-transforms-1/#transform-property 3b408ac7ea25e504890970910b241241a0573f91 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-002 reference/transform-input-002-ref Input (type=file) http://www.w3.org/TR/css-transforms-1/#transform-property 86f30bebdfb7b92cce2cd5cce059b337424cb418 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-003 reference/transform-input-003-ref Input (type=search) http://www.w3.org/TR/css-transforms-1/#transform-property 509f384c583e8e4aa510f7892bd09548912ab738 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-004 reference/transform-input-004-ref Input (type=tel) http://www.w3.org/TR/css-transforms-1/#transform-property 74b9587904843272de6087b47d32d57f5e1f6568 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-005 reference/transform-input-005-ref Input (type=url) http://www.w3.org/TR/css-transforms-1/#transform-property 049815dd5def5c5d0f378bd6bba7c73119973593 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-006 reference/transform-input-006-ref Input (type=email) http://www.w3.org/TR/css-transforms-1/#transform-property 3b31b8f4e549a7cacda40f3a590410967e24daf1 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-007 reference/transform-input-007-ref Input (type=password) http://www.w3.org/TR/css-transforms-1/#transform-property 4f2bcfaecfea0d27c67c9c4cb190e080fb234a70 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-008 reference/transform-input-008-ref Input (type=datetime) http://www.w3.org/TR/css-transforms-1/#transform-property 73bcdac6eed0fb4d774b6fe7d32cea55d0c6f6fb `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-009 reference/transform-input-009-ref Input (type=date) http://www.w3.org/TR/css-transforms-1/#transform-property 39286acafa8dfddf2464a6be94c4226c44493a9a `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-010 reference/transform-input-010-ref Input (type=month) http://www.w3.org/TR/css-transforms-1/#transform-property 3f31e748618ddf82f4ecf7a7f39b84b66921c7da `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-011 reference/transform-input-011-ref Input (type=week) http://www.w3.org/TR/css-transforms-1/#transform-property 72b7e9e341f81295e5d524dea14c7ec8a09cb657 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-012 reference/transform-input-012-ref Input (type=time) http://www.w3.org/TR/css-transforms-1/#transform-property f25cac31e0e7af69365f60576f9c2a15947549a7 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-013 reference/transform-input-013-ref Input (type=datetime-local) http://www.w3.org/TR/css-transforms-1/#transform-property 55d856978f90f6197aba3374e39e36b107cb88aa `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-014 reference/transform-input-014-ref Input (type=number) http://www.w3.org/TR/css-transforms-1/#transform-property 9120c9f985f79ca45373daa995612d6b1f12e4e0 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-015 reference/transform-input-015-ref Input (type=range) http://www.w3.org/TR/css-transforms-1/#transform-property cbf7dacc9c29db6f062b3d81dfb94fb10716f0cb `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-016 reference/transform-input-016-ref Input (type=color) http://www.w3.org/TR/css-transforms-1/#transform-property 2aeaaea78e291f6ca94dfaed4a6c7dcbfb3589aa `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-017 reference/transform-input-017-ref Input (type=checkbox) http://www.w3.org/TR/css-transforms-1/#transform-property 92bc72a6cff49ecf77045226b58d55b0e8131a1c `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-018 reference/transform-input-018-ref Input (type=radio) http://www.w3.org/TR/css-transforms-1/#transform-property 3766d3c5b4fab380756703f998acda1be0de411c `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-input-019 reference/transform-input-019-ref Input (type=submit) http://www.w3.org/TR/css-transforms-1/#transform-property bea05768ece12da4c5fb8c0b6633a6ce67890d83 `Aryeh Gregor`<mailto:ayg@aryeh.name> The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)
+transform-matrix-001 reference/transform-matrix-001-ref matrix()/translateX() http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 1f031eed0038a8cebf7e7cec2cb45c526279b54e `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translateX() has the same effect as an equivalent matrix().
+transform-matrix-002 reference/transform-matrix-002-ref matrix()/translateY() http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 333cb7e2059062b2c6b58345b9e6e04ef5187013 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translateY() has the same effect as an equivalent matrix().
+transform-matrix-003 reference/transform-matrix-003-ref matrix()/translateX(%) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix fb4b1146b446dc4b4483ce47f6f9706c95159c97 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().
+transform-matrix-004 reference/transform-matrix-004-ref matrix()/translateY(%) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 9e21d6b35a93507ee7c400b4fc076ea05c376063 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().
+transform-matrix-005 reference/transform-matrix-005-ref,!reference/transform-matrix-005-notref matrix()/skewX() http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 98f63d47220be5ad8ecd3321103599a058dc8ad4 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that skewX() has the same effect as an equivalent matrix().
+transform-matrix-006 reference/transform-matrix-006-ref,!reference/transform-matrix-005-notref matrix()/skewY() http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix ec0a433b4ca0d75a9688208b8411d1b3833bbcc6 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that skewY() has the same effect as an equivalent matrix().
+transform-matrix-007 reference/transform-matrix-007-ref matrix()/scale() http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix 69c8242b4abcbba05a08fd83822d6e8c395eca38 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scale() has the same effect as an equivalent matrix().
+transform-matrix-008 reference/transform-matrix-008-ref,!reference/transform-matrix-008-notref matrix() with non-numeric args http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix cad25049e37586d74cfcb64a004db2e5d56b22e0 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that providing length or percentage values as arguments to matrix() is a syntax error.
+transform-origin reference/transform-origin-ref transform-origin http://www.w3.org/TR/css-transforms-1/#propdef-transform-origin 27a0c50a5144f33b5474eda8511628a759eb89f1 `Michael Downey`<mailto:miked782000@yahoo.com> The transform should change the transform-origin to the bottom right and rotate 180 degrees
+transform-origin-001 !reference/transform-origin-ref-1 Default transform-origin not top left http://www.w3.org/TR/css-transforms-1/#transform-origin-property 83c1ef7f905de6ea4d3f95e45fdc3ea7c7bf7f26 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> A transform-origin of 0% 0% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.
+transform-origin-002 !reference/transform-origin-ref-1 Default transform-origin not center right http://www.w3.org/TR/css-transforms-1/#transform-origin-property 2d5fb28a8ac7e6fc3291899018f002cc264d33f7 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> A transform-origin of 100% 50% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.
+transform-origin-003 reference/transform-origin-ref-2 transform-origin percentages 1 http://www.w3.org/TR/css-transforms-1/#transform-origin-property a46ab9ed58bf042ef798802bd6e03c22dc8289dd `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> A transform-origin of 101px 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)
+transform-origin-004 reference/transform-origin-ref-2 transform-origin percentages 2 http://www.w3.org/TR/css-transforms-1/#transform-origin-property fb0f2f93d0b30c12a86a7e393601cc96dda9570f `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> A transform-origin of 101px 50% must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)
+transform-origin-005 reference/transform-origin-ref-2 transform-origin percentages 3 http://www.w3.org/TR/css-transforms-1/#transform-origin-property f398ae8850a8fad0fb00134c640c1e80564294a8 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> A transform-origin of 50% 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)
+transform-origin-006 reference/transform-origin-ref-2 transform-origin percentages 4 http://www.w3.org/TR/css-transforms-1/#transform-origin-property 7162ee699e714eea590f0e8aab61de81d9b1c648 `Aryeh Gregor`<mailto:ayg@aryeh.name> Percentages in transform-origin refer to the size of the element's border box. This tests that they don't refer to the content, padding, or margin box by applying nonzero margin, border, and padding. (Note: an implementation that resolves percentages relative to the incorrect box might fail this test by only a few pixels, so it's important to check that the test and reference renderings match exactly.)
+transform-origin-007 reference/transform-origin-007-ref transform-origin - 50% bottom('bottom' computes to '100%' in vertical position) http://www.w3.org/TR/css-transforms-1/#transform-origin-property 7cccdc9303d743d37c9bb4d8667df3d9275d8adc `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'transform-origin' property set 'bottom' computes to 100% for the vertical position.
+transform-origin-008 reference/transform-origin-007-ref transform-origin - center 0%('center' computes to '50%' in horizontal position) http://www.w3.org/TR/css-transforms-1/#transform-origin-property 93aa81d8d634718923c434433ff68d0d3c8970e1 `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position.
+transform-origin-009 reference/transform-origin-007-ref transform-origin - 0% center('center' computes to '50%' in vertical position) http://www.w3.org/TR/css-transforms-1/#transform-origin-property 3b718f344483916201a66cbe6221c381159f53f7 `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position.
+transform-origin-01 reference/transform-origin-01-ref SVG Transform using transform-origin http://www.w3.org/TR/css-transforms-1/#transform-origin-property ef1ced09d9b9d8c4be4ff2ab5e7dd7d180ae65de `CJ Gammon`<mailto:gammon@adobe.com> If only one value is specified, the second value is assumed to be &acirc;&#8364;&#732;center&acirc;&#8364;&#8482;
+transform-origin-010 reference/transform-origin-007-ref transform-origin - left 0%('left' computes to '0%' in horizontal position) http://www.w3.org/TR/css-transforms-1/#transform-origin-property b2442da33df650e1135410a58df6396c779179c2 `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'transform-origin' property set 'left' computes to 0% for the horizontal position.
+transform-origin-011 reference/transform-origin-007-ref transform-origin - right 100%('right' computes to '100%' in horizontal position) http://www.w3.org/TR/css-transforms-1/#transform-origin-property 7b06dd1372944da05357015436d23b8d639c35bf `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'transform-origin' property set 'right' computes to 100% for the horizontal position.
+transform-origin-012 reference/transform-origin-007-ref transform-origin - 0% top('top' computes to '0%' in vertical position) http://www.w3.org/TR/css-transforms-1/#transform-origin-property e750026449d756bbaf3c4c1f8ce5f47de665571f `Intel`<http://www.intel.com>,`Jieqiong Cui`<mailto:jieqiongx.cui@intel.com> The 'transform-origin' property set 'top' computes to 0% for the vertical position.
+transform-origin-name-001 reference/transform-origin-name-ref-1,!reference/transform-origin-name-notref transform-origin: top left http://www.w3.org/TR/css-transforms-1/#transform-origin-property 93928beef5bcfd3e194fc8f321c42c8936b52bad `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'transform-origin: top left' is the same as 'transform-origin: 0% 0%'.
+transform-origin-name-002 reference/transform-origin-name-ref-1,!reference/transform-origin-name-notref transform-origin: left top http://www.w3.org/TR/css-transforms-1/#transform-origin-property dedad5837f1a2109e0cf519f58d8e66aa9ffd6f2 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'transform-origin: left top' is the same as 'transform-origin: 0% 0%'.
+transform-origin-name-003 reference/transform-origin-name-ref-2,!reference/transform-origin-name-notref transform-origin: top http://www.w3.org/TR/css-transforms-1/#transform-origin-property eebebab675389347eabb7fc97975f0b92920165c `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'transform-origin: top' is the same as 'transform-origin: 50% 0%'.
+transform-origin-name-004 reference/transform-origin-name-ref-2,!reference/transform-origin-name-notref transform-origin: top center http://www.w3.org/TR/css-transforms-1/#transform-origin-property f8177a3eb24d5079f384a4677c9ca14ba5d6d19a `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'transform-origin: top center' is the same as 'transform-origin: 50% 0%'.
+transform-origin-name-005 reference/transform-origin-name-ref-2,!reference/transform-origin-name-notref transform-origin: center top http://www.w3.org/TR/css-transforms-1/#transform-origin-property 6cf082126edd0ad6a6585059d743aa2e72d8f17a `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'transform-origin: center top' is the same as 'transform-origin: 50% 0%'.
+transform-origin-name-006 reference/transform-origin-name-ref-3,!reference/transform-origin-name-notref transform-origin: top right http://www.w3.org/TR/css-transforms-1/#transform-origin-property 04d13c1bb2f0c130dce440f1e0df5b573c0f1e3b `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'transform-origin: top right' is the same as 'transform-origin: 100% 0%'.
+transform-origin-name-007 reference/transform-origin-name-ref-3,!reference/transform-origin-name-notref transform-origin: right top http://www.w3.org/TR/css-transforms-1/#transform-origin-property 4730b1a0b26180997603cfa711ece5bd9ce1ebb2 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'transform-origin: right top' is the same as 'transform-origin: 100% 0%'.
+transform-overflow-001 reference/transform-overflow-001-ref overflow: auto http://www.w3.org/TR/css-transforms-1/#transform-rendering a15a35362a281494b57b43f21e86b6f5416025df `Aryeh Gregor`<mailto:ayg@aryeh.name> ". . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area." This tests that the effect of overflow: auto for a translation is the same as for an equivalent relative positioning.
+transform-overflow-002 reference/transform-overflow-002-ref overflow: scroll http://www.w3.org/TR/css-transforms-1/#transform-rendering 0512a09e8f4edc809afd7839deaa663be7e83d9e `Aryeh Gregor`<mailto:ayg@aryeh.name> ". . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area." This tests that the effect of overflow: scroll for a translation is the same as for an equivalent relative positioning.
+transform-percent-001 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (translateX) http://www.w3.org/TR/css-transforms-1/#transform-property 4db5f2855ba7d04a9ef9eed548445dcd8ea5c114 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.
+transform-percent-002 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (translateY) http://www.w3.org/TR/css-transforms-1/#transform-property f1ccccf9208233b62a65828e06504b1fef2d1448 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.
+transform-percent-003 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (translate) http://www.w3.org/TR/css-transforms-1/#transform-property 16c286f9de2dbc1de0028aa9ccb654cd3a528416 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.
+transform-percent-004 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (translateX and translateY) http://www.w3.org/TR/css-transforms-1/#transform-property f91d39bce5b20644fe45d3037d386619a1ecd812 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.
+transform-percent-005 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (translateX and translateY and translate) http://www.w3.org/TR/css-transforms-1/#transform-property bae13dcedd4cbb2f98bda4cbaf6262ac63591e0b `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.
+transform-percent-006 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (translateX and translate) http://www.w3.org/TR/css-transforms-1/#transform-property eb4674e14965c1c39a6b430699f7cc0926b87128 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.
+transform-percent-007 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (translateY and translate) http://www.w3.org/TR/css-transforms-1/#transform-property 2e278de4e0e31e5f05fc057c3e550d45fa9c3b35 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.
+transform-percent-008 reference/transform-percent-ref,!reference/transform-percent-notref Percentages (border box) http://www.w3.org/TR/css-transforms-1/#transform-property ff7650c4332118230f6b89821daf6977f96615f4 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box. This test adds a thicker border plus margin and padding to make any discrepancies more evident.
+transform-propagate-inherit-boolean-001 reference/transform-propagate-inherit-boolean-ref em on Multiple Elements http://www.w3.org/TR/css-transforms-1/#transform-property 16aadb739d9c3a9be1a44c2d920abfcc2972af7a `L. David Baron`<http://dbaron.org/>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that when a 'transform' rule using em affects two elements with different font-sizes, it affects each according to its respective font-size, rather than using the same length for both. See: https://bugzilla.mozilla.org/show_bug.cgi?id=460440
+transform-root-bg-001 reference/transform-root-bg-001-ref scale(-1) on Root Element With Background http://www.w3.org/TR/css-transforms-1/#transform-rendering ed0be014ac17d0655d9b512159d3a8f00907a37e `Aryeh Gregor`<mailto:ayg@aryeh.name> The background here extends to the whole canvas, and a transform on the root element must transform the whole canvas, background included. Thus the entire tiled background of left-pointing triangles needs to be rotated 180 degrees (same as scale(-1)) around the top center of the viewport, which is the default transform-origin of 50% 50% in this case. An implementation that doesn't draw the background on parts of the canvas outside the viewport might incorrectly display nothing, because the part of the background that's supposed to be rotated into view was initially above the visible part of the canvas.
+transform-root-bg-002 reference/transform-root-bg-001-ref scale(-1) on Root Element With Background On Body http://www.w3.org/TR/css-transforms-1/#transform-rendering a9cb2d4944f4e7665351e34611d15eb87f7a088d `Aryeh Gregor`<mailto:ayg@aryeh.name> Identical to transform-root-bg-001.html, except that the background property is put on the body rather than the root element. This should make no difference, because the body's background propagates up to the canvas if there's no root element background.
+transform-root-bg-003 reference/transform-root-bg-003-ref scale(0.5) on Root Element With Background http://www.w3.org/TR/css-transforms-1/#transform-rendering c83103d5071bbc9edaf9d66bd657f766904c9635 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform-root-bg-001.html, except that it uses scale(0.5) instead of scale(-1). It also specifies a transform-origin, because the default of 50% 50% wouldn't work well with the way the reference image is constructed.
+transform-root-bg-004 reference/transform-root-bg-004-ref scale(-1) On Body With Background http://www.w3.org/TR/css-transforms-1/#transform-rendering 4d66ea14c6bfdceebdc3acb907fe6570e2f13760 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is like transform-root-bg-002.html, except that the transform is specified on the body element, not just the background. The background gets lifted to the root element, but the transform does not, so the transform has no effect.
+transform-rotate-001 reference/transform-rotate-001-ref,!reference/transform-rotate-001-notref rotate(45deg) rotate(360deg) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 40049ba20b0f0bfc44bcdb55a09d018b0c87dd14 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).
+transform-rotate-002 reference/transform-rotate-001-ref,!reference/transform-rotate-001-notref rotate(45deg) rotate(400grad) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 33348b38d44f086e602f133bb5f3bddf6d036da2 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).
+transform-rotate-003 reference/transform-rotate-001-ref,!reference/transform-rotate-001-notref rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate d4f9c886d5f199f46001fc74566574b11968b3e9 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).
+transform-rotate-004 reference/transform-rotate-001-ref,!reference/transform-rotate-001-notref rotate(-45deg) rotate(100grad) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 93d8b38c2f918379f6c994e428d3cf6fe7f21ee7 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).
+transform-rotate-005 reference/transform-rotate-001-ref,!reference/transform-rotate-001-notref rotate(-135deg) rotate(3.1415926535897932384626433rad) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate c80b9dd037b8909e85aab7db881ef58c345be507 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).
+transform-rotate-006 reference/transform-rotate-001-ref,!reference/transform-rotate-001-notref rotate(45deg) rotate(1turn) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate 9e0352931495b6594f244d64cf8740d82b377ddf `Boris Zbarsky`<mailto:bzbarsky@mit.edu>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).
+transform-rotate-007 reference/transform-rotate-007-ref,!reference/transform-rotate-007-notref Rotated Simple Box http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate b477a5e237e529aedf71ea606f47aa12b648fa70 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.
+transform-rounding-001 reference/transform-rounding-ref Rounding http://www.w3.org/TR/css-transforms-1/#transform-property 6d4d3c863819247e884265437323eddf44e4c9df `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that the implementation does not round intermediate matrices to the extent that it significantly distorts the final result. (No requirement in the specification places any specific constraints on rounding, but simple cases like this should not deviate dramatically from the mathematically precise result.)
+transform-scale-001 reference/transform-scale-ref scale(0.5, 0.5) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 43f0e3fc3729f272e8fcd4881fa69b8b31aacda2 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scale(0.5, 0.5) scales down a box by a factor of one-half.
+transform-scale-002 reference/transform-scale-ref scale(0.5) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale 5aa28a98dad5e3d4b30fc1adcf73fe48f3cf5678 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scale(0.5) scales down a box by a factor of one-half.
+transform-scale-percent-001 reference/transform-scale-percent-ref scale(50%, 50%) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale be0330c5c76b45462bcf59cd5372da782fd54a90 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scale(50%, 50%) does nothing, because scale() is defined to take numbers and not percentages.
+transform-scale-test reference/transform-scale-test-ref transform property with scale function. http://www.w3.org/TR/css-transforms-1/#transform-property 06167f4e0d4b112e12d9032ac5a05b7cb9bb1b60 `Oleg Janeiko`<mailto:oleg@the-incredible.me> This transform shrinks a container by calling scale(.33). It also sets transform-origin to top left in order to visually align with the second green square.
+transform-scalex-001 reference/transform-scalex-ref scaleX(0.5) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scalex a528c8b6de5b1fec0124840b9875fb6399d76d69 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scaleX(0.5) scales down a box's width by a factor of one-half.
+transform-scaley-001 reference/transform-scaley-ref scaleY(0.5) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scaley 79a6a9f378b6e09407f2a3b21302a312c691f1d3 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scaleY(0.5) scales down a box's width by a factor of one-half.
+transform-singular-001 reference/transform-singular-ref matrix(1, 1, 1, 1, 0, 0) http://www.w3.org/TR/css-transforms-1/#transform-function-lists 1930c56b49c9941b0ddec2813d544e9a9245572e `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> "If a transform function causes the current transformation matrix (CTM) of an object to be non-invertible, the object and its content do not get displayed." The matrix (1, 1, 1, 1) has determinant 1*1 - 1*1 = 0 and therefore is not invertible, so nothing should display.
+transform-stacking-001 reference/transform-lime-square-ref Stacking, transform: scale(1) http://www.w3.org/TR/css-transforms-1/#transform-rendering b71f99cd5a4073113007d2b84deb8f113f6392aa `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that specifying the identity transform on an element still causes it to create a new stacking context (unlike transform: none).
+transform-stacking-002 reference/transform-lime-square-ref Stacking, transform: none http://www.w3.org/TR/css-transforms-1/#transform-rendering 46babf60029201f64cb754a64b56b71df6733e5a `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that "transform: none" does not create a new stacking context -- it should have no effect at all.
+transform-stacking-003 reference/transform-lime-square-ref Stacking, invalid transform value http://www.w3.org/TR/css-transforms-1/#transform-rendering 6feeb950851e00c6910b7464de4e1530ce782b7d `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that specifying the transform property with an invalid value does not create a new stacking context -- it should have no effect at all, same as "transform: none".
+transform-stacking-004 reference/transform-lime-square-ref Stacking, inherited transform: none http://www.w3.org/TR/css-transforms-1/#transform-rendering cf321fe24b8683a238b6c84df82d7841e5cffca3 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that specifying "transform: inherit" (when the parent has no transform) does not create a new stacking context -- it should have no effect at all, same as "transform: none".
+transform-stresstest-001 reference/transform-stresstest-ref Inversion Stress Test http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 5fe8eda5dd774f29a54c0a9aa13b8c499dc288e1 `Clint Talbert`<mailto:ctalbert@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This simply applies and then inverts a large number of 2D transform functions, and expects the result to be no transform at all. One extra translateX(100px) is added at the end to ensure that the lack of transform isn't just because the UA parsed it incorrectly, or doesn't support transforms at all.
+transform-table-001 reference/transform-table-001-ref,!reference/transform-table-001-notref Transform on Table http://www.w3.org/TR/css-transforms-1/#transform-property 1b45de29e5a1b4e549ded9614ed19e60bc9b6ee7 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that an appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.
+transform-table-002 reference/transform-table-001-ref,!reference/transform-table-002-notref Transform on Inline-Table http://www.w3.org/TR/css-transforms-1/#transform-property e14489817cef9b8f65381fff469cd840fbb051cd `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that an appropriately-crafted transform applied to an inline-table works the same as if was applied to a wrapper div.
+transform-table-003 reference/transform-table-001-ref,!reference/transform-table-001-notref Transform on Table 2 http://www.w3.org/TR/css-transforms-1/#transform-property 78ea384718211523827f956d39f8f72e7820bee4 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that another appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.
+transform-table-004 reference/transform-table-004-ref,!reference/transform-table-004-notref Transform on Table with caption-side: bottom http://www.w3.org/TR/css-transforms-1/#transform-property 8015dcc950242a961d4228042003c0f128b4e1bc `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform-table-001.html, except the caption has caption-side: bottom.
+transform-table-005 reference/transform-table-004-ref,!reference/transform-table-005-notref Transform on Table with caption-side: bottom http://www.w3.org/TR/css-transforms-1/#transform-property 0982c05dc9ac469ead8371227c13021369860c85 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform-table-002.html, except the caption has caption-side: bottom.
+transform-table-006 reference/transform-blank-ref Table Without Preserve-3D 1 http://www.w3.org/TR/css-transforms-1/#transform-style-property 3b2b26fe4fd2934b57584f9ee26d38bad2ab79d0 `Aryeh Gregor`<mailto:ayg@aryeh.name> This has preserve-3d applied to the outer wrapper of a table, but not the inner wrapper containing its contents. Therefore, the contents should be rotated 90 degrees and vanish, and the 90-degree rotation on the outer wrapper shouldn't restore them. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.
+transform-table-007 reference/transform-blank-ref Table Without Preserve-3D 2 http://www.w3.org/TR/css-transforms-1/#transform-style-property 5510f83e013fdfe5a1f02c1529841cd6c84dc903 `Aryeh Gregor`<mailto:ayg@aryeh.name> In this case, preserve-3d is applied to every element that's explicitly specified in the source code. However, the HTML parser will insert an extra <tbody> element around the <tr>, which will not have preserve-3d specified, so the contents should again vainsh. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.
+transform-table-008 reference/transform-blank-ref Table Without Preserve-3D 3 http://www.w3.org/TR/css-transforms-1/#transform-style-property 04bdf2580a65adfe7ef2ff245ab6a728ee10f115 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is essentially the same as transform-table-006.html, except using divs with 'display' specified instead of actual table elements.
+transform-table-009 reference/transform-table-009-ref,!reference/transform-table-009-notref Table With Preserve-3D 1 http://www.w3.org/TR/css-transforms-1/#transform-style-property 7883157448ebfd758af45292bd9e611cc5ec40fe `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform-table-007.html, except that transform-style is also explicitly applied to the intervening <tbody>, so nothing should vanish.
+transform-table-010 reference/transform-table-009-ref,!reference/transform-table-010-notref Table With Preserve-3D 2 http://www.w3.org/TR/css-transforms-1/#transform-style-property 819dfd35482ac1d73719588d828bfa395b31c90b `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform-table-007.html, except that now divs are used instead of actual table elements. This means that the parser doesn't create an implicit intervening <tbody>, so preserve-3d is applied to all intervening elements, and the text should display (mirrored).
+transform-table-011 reference/transform-table-009-ref,!reference/transform-table-011-notref Table With Preserve-3D 3 http://www.w3.org/TR/css-transforms-1/#transform-style-property 114b1b6d5895bdc1c14cc7de490af1ff33970676 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is an even more extreme example of transform-table-010.html. CSS will create several anonymous table boxes wrapping the div with display: table-cell, but none of these have corresponding elements. Every actual element in the DOM still has preserve-3d specified, so the text should not vanish.
+transform-transformable-inline-block reference/transform-transformable-inline-block-ref Transformability of Inline-Block http://www.w3.org/TR/css-transforms-1/#transform-property 23d8d6f030716bb6280ba3ae26b51ab250b6ed9c `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on an inline-block work as expected.
+transform-transformable-inline-table reference/transform-transformable-inline-table-ref Transformability of Inline-Table http://www.w3.org/TR/css-transforms-1/#transform-property 8610115fb3afe7368c9d575376e60a9ab5a10488 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on an inline-table work as expected.
+transform-transformable-list-item reference/transform-transformable-list-item-ref Transformability of List-Item http://www.w3.org/TR/css-transforms-1/#transform-property d5b1b25dbbf926ec6c597bd2b9480495dac538b6 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a list-item work as expected.
+transform-transformable-table reference/transform-transformable-table-ref Transformability of Table http://www.w3.org/TR/css-transforms-1/#transform-property 65bef541449226208ffed7c1f33efd2e2c65747d `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a table work as expected.
+transform-transformable-table-caption reference/transform-transformable-table-caption-ref Transformability of Table-Caption http://www.w3.org/TR/css-transforms-1/#transform-property 82c8d64f12f2616293d15261ba46cfcc20376b30 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a table-caption work as expected.
+transform-transformable-table-cell reference/transform-transformable-table-cell-ref Transformability of Table-Cell http://www.w3.org/TR/css-transforms-1/#transform-property 6e073df0e4eef941e73a847b7494c87c73e865e9 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a table-cell work as expected.
+transform-transformable-table-footer-group reference/transform-transformable-table-footer-group-ref Transformability of Table-Footer-Group http://www.w3.org/TR/css-transforms-1/#transform-property e81d90760409fcf0274a9436a0da8d1729f35639 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a table-footer-group work as expected.
+transform-transformable-table-header-group reference/transform-transformable-table-header-group-ref Transformability of Table-Header-Group http://www.w3.org/TR/css-transforms-1/#transform-property 955079c0abf1825373bc56e6caf8c12d8fc66af0 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a table-header-group work as expected.
+transform-transformable-table-row reference/transform-transformable-table-row-ref Transformability of Table-Row http://www.w3.org/TR/css-transforms-1/#transform-property a909ddb01c8fb302e718673ceadd5fa050ccfabc `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a table-row work as expected.
+transform-transformable-table-row-group reference/transform-transformable-table-row-group-ref Transformability of Table-Row-Group http://www.w3.org/TR/css-transforms-1/#transform-property 642f3be0eb9cc28cfae906d71b9d9a81c4facf2a `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that transforms specified on a table-row-group work as expected.
+transform-translate-001 reference/transform-translate-ref translate(50px, 50px) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 73e92d549f86404aa1fae53fd81890122dc3a968 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.
+transform-translate-002 reference/transform-translate-ref translate(50px, 50px) rotate(360deg) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 867f9677d11b9a8eb9daf1f90db35e6ce20ae92c `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.
+transform-translate-003 reference/transform-translate-ref translate(25px, 25px) translate(25px, 25px) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate cdce76abce21e311b5b5d11658b808ef0b3f0d86 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.
+transform-translate-004 reference/transform-translate-ref translate() plus relative positioning http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate ec849d154a12ca9b1f6be2bfe58c7c6091cb7f39 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translate(25px, 25px) plus relative positioning 25px to the bottom right is the same as relative positioning by 50px toward the bottom right.
+transform-translate-005 reference/transform-translate-ref Several Translations Combined http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate 6d5ad8f021f4f552e307d955b7b63a9ec51dac2a `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.
+transform-translatex-001 reference/transform-translatex-ref translatex(50px) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex eff5c1ff4b4cd6a4be0ffceb016f6782dce5f33e `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatex(50px) is the same as relative positioning by 50px toward the right.
+transform-translatex-002 reference/transform-translatex-ref translatex(50px) rotate(360deg) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex c5805cd15282e80aed6aeea790786c0f9533580d `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.
+transform-translatex-003 reference/transform-translatex-ref translatex(25px) translatex(25px) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 49f80f7170088e0a270e42df182a0bdf59600ed6 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.
+transform-translatex-004 reference/transform-translatex-ref translatex() plus relative positioning http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex fea38c7a5f3682e7ef86c71cf284681ebd305d62 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.
+transform-translatex-005 reference/transform-translatex-ref Several X-Translations Combined http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatex 1db5d24fc75ee737c88908519944b14260c734c3 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.
+transform-translatex-006 reference/transform-translatex-ref transform property with translateX function http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 5b05587254888e6c0e89fdeb049ef789173a189c `Serena Wales`<mailto:serena@codeforamerica.org> This tests that translateX(50px) translates a box by 50 pixels in the X direction.
+transform-translatey-001 reference/transform-translatey-ref translatey(50px) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey a22d68bd276eac23677398775496082e8989710c `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.
+transform-translatey-002 reference/transform-translatey-ref translatey(50px) rotate(360deg) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey eae3e3fc3e92f41ece53f1ac2afe12cf567a26a3 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.
+transform-translatey-003 reference/transform-translatey-ref translatey(25px) translatey(25px) http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey f69f3f755acf7612a6af561a89e3ca888f4fa145 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.
+transform-translatey-004 reference/transform-translatey-ref translatey() plus relative positioning http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 03b24d56d55ee59fba2fc0212a599184df590770 `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.
+transform-translatey-005 reference/transform-translatey-ref Several Y-Translations Combined http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatey 993cb7161732671eea8cb69b3f3a3066f4a2e11f `Keith Schwarz`<mailto:keith@keithschwarz.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.
+transform3d-backface-visibility-001 reference/transform-lime-square-ref Simple Backface-Visibility, rotatex(180deg) http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility eac857b52123a0e41a72bbb2130109b507f34169 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that a very simple case of backface-visibility causes the element to disappear: rotateX(180deg) is specified on the same element that has backface-visibility: hidden.
+transform3d-backface-visibility-002 reference/transform-lime-square-ref Backface-Visibility With Transformed Parent and Child in Different Rendering Contexts http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility 4a6bb14e369faa65a7cd869b5e233a3330360a2e `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that if an element has 'backface-visibility: hidden' and is rotated 180deg, so it would normally disappear, it doesn't reappear just because its parent also has a 180deg rotation. The rotations don't cancel, since the parent doesn't have 'transform-style: preserve-3d' and is in a different rendering context.
+transform3d-backface-visibility-003 reference/transform-lime-square-ref Simple Backface-Visibility, rotatex(180deg) on Table http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility 97631408f94c8bc3997d62b7b1453716659dcc09 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is identical to transform3d-backface-visibility-001.html, except that display: table is specified too. This is motivated by a real-world UA bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=724750>.
+transform3d-backface-visibility-004 reference/transform-lime-square-ref Backface-Visibility With Transformed Parent in Same Rendering Context, Split Transform http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility c76ac91fe0f78c4b2bb823c7d7eb8360c9927e78 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that if a parent and child are in the same 3D rendering context, and a 60deg rotation on the parent combines with a 60deg rotation on the child to make a 120deg rotation, the child will disappear if 'backface-visibility: hidden' is specified, just like if the 120deg rotation were specified on the child to start with.
+transform3d-backface-visibility-005 reference/transform-lime-square-ref Backface-Visibility With Transformed Parent in Different Rendering Context http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility 9e07ff34af1db7a890b79dcb298e64eb1627252c `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that if an element is not transformed, but its parent is rotated 180deg in a different rendering context, the child's 'backface-visibility: hidden' does not make it disappear. Only transforms that affect the child itself are relevant to 'backface-visibility'.
+transform3d-backface-visibility-006 reference/transform-lime-square-ref Backface-Visibility With Transformed Parent in Same Rendering Context http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility ed5bf56a29c8a140962b5dc474805afe1e8d7fae `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform3d-backface-visibility-005.html, except that the parent has 'transform-style: preserve-3d'. Thus the child is affected by the parent's transform and should not be visible.
+transform3d-backface-visibility-007 reference/transform-lime-square-ref Simple Backface-Visibility, scalez(-1) http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility 5ea0eb31d5c2035a94a78230fdc04dff1ed55f1e `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform3d-backface-visibility-001.html, except it uses scalez(-1) instead of rotatex(180deg). scalez(-1) has no visible effect when applied by itself to a box, since the box's Z-coordinates are all 0, but it still causes it to be affected by 'backface-visibility'.
+transform3d-image-scale-001 reference/transform-lime-square-ref scale3d() on a Bitmap http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d 11390f114b2c6d58dfd83f7771d1c3bf0708cf8c `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that applying a simple 3D transform to a bitmap image works properly. This is motivated by a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=735373>.
+transform3d-image-scale-002 reference/transform-lime-square-ref scale3d() on an SVG http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d 48c89f9c3a1cdc597aa6e3f5d40b88332b557493 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform3d-image-scale-001.html, but using an SVG image instead of a bitmap.
+transform3d-matrix3d-001 reference/transform3d-matrix3d-001-ref,!reference/transform-lime-square-ref matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d 6183883abb7f7967bd346f58f590acc2f27e2f59 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.
+transform3d-matrix3d-002 reference/transform3d-matrix3d-002-ref,!reference/transform-lime-square-ref matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d 5299f901c855641bf2e6fd603a5908ef305d755c `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.
+transform3d-matrix3d-003 reference/transform3d-matrix3d-003-ref,!reference/transform-lime-square-ref matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d 17fdaac2b5af5c4a1eafdaf7d4cd25c1818041a2 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.
+transform3d-matrix3d-004 reference/transform3d-matrix3d-004-ref,!reference/transform-lime-square-ref matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d 9aa25a45dc6c5d9af87caa4f6bb51addee725faa `Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.
+transform3d-matrix3d-005 reference/transform3d-matrix3d-005-ref matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d 366c2c611402e389e8602f29299c6e0fe36a9b8e `Aryeh Gregor`<mailto:ayg@aryeh.name> This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.
+transform3d-perspective-001 reference/transform3d-perspective-001-ref,!reference/transform-lime-square-ref perspective() http://www.w3.org/TR/css-transforms-1/#perspective-property 3eef9270f8487f81bcc7dad9ee2a9c6c9bad1fc2 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that the perspective() transform works the same as an equivalent 'perspective' property.
+transform3d-perspective-002 reference/transform3d-perspective-001-ref,!reference/transform-lime-square-ref Inherited Perspective http://www.w3.org/TR/css-transforms-1/#perspective-property 7f7bd30b3cb779a682c175c4e17e49a7b1036fa1 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'perspective: inherit' works the same as specifying that perspective to start with.
+transform3d-perspective-003 reference/transform-lime-square-ref Perspective on Grandparent http://www.w3.org/TR/css-transforms-1/#perspective-property 3bda20d0c45e9e1eba28edc2ee751316296c6c2c `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'perspective' affects only the element's children, not its grandchildren.
+transform3d-perspective-004 reference/transform-lime-square-ref 'perspective: 1000px' on Grandparent and 'perspective: none' on Parent http://www.w3.org/TR/css-transforms-1/#perspective-property 68bce42cc95a9fa0819654b39a6ff8dd227da4ee `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'perspective: none' actually results in no perspective being applied to children, even if the grandparent has perspective.
+transform3d-perspective-005 reference/transform-lime-square-ref 'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent http://www.w3.org/TR/css-transforms-1/#perspective-property 6df443f164c63b25e455273451bf8b72b633e994 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'perspective: 0px' behaves the same as no perspective being specified at all (it's a parse error).
+transform3d-perspective-006 reference/transform-lime-square-ref Simple Perspective http://www.w3.org/TR/css-transforms-1/#perspective-property ca5b2d64b1bf199bb9ae78d5ff9c946ee2b30bb7 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests the 'perspective' property in a very simple case, such that the reference can be constructed without using CSS transforms.
+transform3d-perspective-007 reference/transform3d-perspective-001-ref,!reference/transform-lime-square-ref Perspective on Table Parent http://www.w3.org/TR/css-transforms-1/#perspective-property d5b6f5eec3e0250df9254d10fac20d875814e8eb `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that tables are correctly affected by perspective on their parent. It's motivated by a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=726601>.
+transform3d-perspective-008 reference/transform-lime-square-ref Perspective on Table http://www.w3.org/TR/css-transforms-1/#perspective-property cd4ea7697baac18d568087345241e67119c7dda7 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that perspective on a table only affects its children, not the table itself. It's motivated by a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=726601>.
+transform3d-perspective-009 reference/transform3d-perspective-009-ref,!reference/transform-lime-square-ref 'perspective-origin' and translate() http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin 8ca2dae9e5669812ce482837b38e52405125b2b6 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'perspective' and 'perspective-origin' have the same effect as an appropriately calculated sequence of translate() and perspective(). The reference file's body has a width of 400px and a height of 100px, so the perspective-origin should be (200, 50). The transform-origin is 'top', which works out to (50, 0). Thus we translate by (150, 50) to get the right origin.
+transform3d-perspective-origin-001 reference/transform3d-perspective-origin-ref,!reference/transform-lime-square-ref,!transform3d-rotatex-perspective-001,!reference/transform3d-rotatex-ref perspective-origin http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin 66a6ae2a0c13f0af788297f96c5e1b2a7b0f985a `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'perspective-origin: 0 0' is the same as 'perspective-origin: top left', different from no 'perspective-origin', and different from no perspective or no transform.
+transform3d-preserve3d-001 reference/transform3d-preserve3d-001-ref Simple Preserve-3D http://www.w3.org/TR/css-transforms-1/#transform-style-property a73a5569cd284a03f3d25c8d55e7b97d64c66a44 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that if preserve-3d is specified, four 45deg rotations equal one 180deg rotation.
+transform3d-preserve3d-002 reference/transform-lime-square-ref Preserve-3D With Margins 1 http://www.w3.org/TR/css-transforms-1/#transform-style-property d253f8b9c814b3900b287d7b644825a64d64b204 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is the first in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>.
+transform3d-preserve3d-003 reference/transform-lime-square-ref Preserve-3D With Margins 2 http://www.w3.org/TR/css-transforms-1/#transform-style-property f726c650506c8a29aeafaebf3ec30ceb82ea7c7b `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is the second in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>.
+transform3d-preserve3d-004 reference/transform-lime-square-ref Preserve-3D With Margins 3 http://www.w3.org/TR/css-transforms-1/#transform-style-property 3b1ec4cc141551b448f668bc30a0139e2727185e `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is the third in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>.
+transform3d-preserve3d-005 reference/transform-lime-square-ref Preserve-3D With Transformed Grandparent and Grandchild http://www.w3.org/TR/css-transforms-1/#transform-style-property 7332b2a10e5fb55aa8a24a1acb3ebd40abfd1965 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is the fourth in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=691864>.
+transform3d-preserve3d-006 reference/transform-lime-square-ref Two rotatex(), No Preserve-3D http://www.w3.org/TR/css-transforms-1/#transform-style-property f19db2fe323891a320a1c812b225c043aad86ebf `Aryeh Gregor`<mailto:ayg@aryeh.name> rotatex(45deg) or rotatex(-45deg), by itself, should both just scale down the element by a factor of sqrt(2) (and perhaps shift it, depending on 'transform-origin'). Without 'transform-style: preserve-3d', the rotations on parent and child shouldn't cancel, so its height should be halved with no other effect.
+transform3d-preserve3d-007 reference/transform-lime-square-ref Two rotatey(), No Preserve-3D http://www.w3.org/TR/css-transforms-1/#transform-style-property 9b4d99a602df2f9d08a8c2c2831e9e76de42a8e6 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is identical to transform3d-preserve3d-006.html, except with rotatey() instead of rotatex().
+transform3d-preserve3d-008 reference/transform-lime-square-ref Preserve-3D with 'overflow: hidden' http://www.w3.org/TR/css-transforms-1/#transform-style-property 6c9b0354e986b66d6cd472ebb546303ce9d6e913 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is identical to transform3d-preserve3d-006.html, except that it has 'transform-style: preserve-3d; overflow: hidden' specified on the parent element. 'transform-style: preserve-3d' would normally make the result different, but 'overflow: hidden' overrides its effect and causes it to work the same as 'transform-style: flat'.
+transform3d-preserve3d-009 reference/transform-lime-square-ref Preserve-3D with 'overflow: auto' http://www.w3.org/TR/css-transforms-1/#transform-style-property 4862e7eee45c8b38b29db3b87b760b5414794c1d `Aryeh Gregor`<mailto:ayg@aryeh.name> This is identical to transform3d-preserve3d-008.html, except with 'overflow: auto' instead of 'hidden'.
+transform3d-preserve3d-010 reference/transform-lime-square-ref rotatex() With Preserve-3D http://www.w3.org/TR/css-transforms-1/#transform-style-property ddefa9d69c91539173b962094eef76357a901bf7 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that two rotations of 22.5deg properly add when preserve-3d is used. The result, a 45deg rotation around the X-axis, should be equivalent to shrinking the height by a factor of sqrt(2), i.e., 1.41421356....
+transform3d-preserve3d-011 reference/transform-lime-square-ref Preserve-3D With 90-Degree Rotation http://www.w3.org/TR/css-transforms-1/#transform-style-property 184cca5cca95bce32affce9343963661784e9da1 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that when preserve-3d is specified, a 90-degree rotation on the parent plus a 90-degree rotation on the child cancel out, adding to a 180-degree rotation (which has no visible effect on a lime square). scale(2) is added to ensure that the test doesn't pass if the transforms are just ignored.
+transform3d-preserve3d-012 reference/transform-blank-ref 90-Degree Rotations Without Preserve-3D http://www.w3.org/TR/css-transforms-1/#transform-style-property 95eb99f931e5161b6426d9c37f8003322068a53a `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that two 90-degree rotations with the default 'transform-style: flat' do not add together to form a 180-degree rotation. Instead, the first causes the contents to vanish and the second does not restore them.
+transform3d-preserve3d-013 reference/transform3d-preserve3d-013-ref Preserve-3D with 'overflow: scroll' http://www.w3.org/TR/css-transforms-1/#transform-style-property 9e5d506badee49797754480f529e5d820290ddd8 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is identical to transform3d-preserve3d-008.html, except with 'overflow: scroll' instead of 'hidden'. (Note that the ref is nontrivial, because the scrollbar has to be scaled appropriately.)
+transform3d-rotate3d-001 reference/transform3d-rotatex-ref,!reference/transform-lime-square-ref rotate3d(1, 0, 0, 45deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d 14840bf820f97976e71e9196ac1cc9567269d696 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotate3d(1, 0, 0, 45deg) is the same as rotatex(45deg).
+transform3d-rotate3d-002 reference/transform3d-rotatey-ref,!reference/transform-lime-square-ref rotate3d(0, 1, 0, 45deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d 2c2251aaa0f2e1f18e21b78019f884c0c4ac9379 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotate3d(0, 1, 0, 45deg) is the same as rotatey(45deg).
+transform3d-rotatex-001 reference/transform3d-rotatex-ref,!reference/transform-lime-square-ref rotatex(45deg) rotatey(360deg) rotatex(360deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex a93371a4e791a82dca7a9ee7b1e86390e983ca51 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotatex(45deg) rotatey(360deg) rotatex(360deg) is the same as rotatex(45deg).
+transform3d-rotatex-perspective-001 !reference/transform-lime-square-ref,!reference/transform3d-rotatex-ref perspective(1000px) rotatex(45deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex,http://www.w3.org/TR/css-transforms-1/#funcdef-perspective b9f9d03db15712a9b6d8a4d283f59fc9816ee55d `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).
+transform3d-rotatex-perspective-002 !reference/transform-lime-square-ref,!reference/transform3d-rotatex-ref rotatex() and 'perspective' http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex,http://www.w3.org/TR/css-transforms-1/#perspective-property 881a63c0105009ba4055695d2b43cdc8ec88b3ac `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).
+transform3d-rotatex-perspective-003 reference/transform3d-rotatex-perspective-ref,!reference/transform3d-rotatex-perspective-notref 'perspective' and 'opacity' http://www.w3.org/TR/css-transforms-1/#perspective-property 544c40c9426a4a01192712ec158d1586f5664e0b `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests for a real-world implementation bug: see <https://bugzilla.mozilla.org/show_bug.cgi?id=707563>. The only difference between the test and reference is 'opacity: 0.9999', which should not affect anything in the test.
+transform3d-rotatex-transformorigin-001 reference/transform3d-rotatex-transformorigin-ref,!reference/transform-lime-square-ref rotateX() with 'transform-origin' http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex 9e8600130f0cd4512c2d477f2ca321c8ff814c79 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)
+transform3d-rotatey-001 reference/transform3d-rotatey-ref,!reference/transform-lime-square-ref rotateY(45deg) rotateY(360deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey fec2183ac4472cba02c6d9170c7be56c9415537e `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotateY(45deg) rotateY(360deg) has the same effect as just rotateY(45deg).
+transform3d-scale-001 reference/transform3d-scale-001-ref,!reference/transform3d-scale-001-notref scale3d(2, 2, 2) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d dd98a69fc7e37b8ec96faa2402e6ee6d0f7f455f `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scale3d(2, 2, 2) on some text has the same effect as scaleX(2) scaleY(2). The Z part should be irrelevant, because the text is flat.
+transform3d-scale-002 reference/transform3d-scale-001-ref,!reference/transform3d-scale-001-notref rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d edb64187a4c71bde4f059173518caa5c885944a9 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.
+transform3d-scale-003 reference/transform3d-scale-001-ref,!reference/transform3d-scale-001-notref scaleX(2) scaleY(2) scaleZ(2) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d 00fd8c77c94f3b9508f94868a0a64e2e33c1ec42 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2) scaleZ(2) instead of scale3D(2, 2, 2).
+transform3d-scale-004 reference/transform-blank-ref scale3d(2, 2, 0) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d,http://www.w3.org/TR/css-transforms-1/#transform-function-lists 64ed63c5d331f3fe06e107e2a26c8362cba40cfe `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.
+transform3d-scale-005 reference/transform3d-scale-005-ref rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d cd32d69074ea8f6b50b9cf2b01aec296ba7c6461 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.
+transform3d-scale-006 reference/transform3d-scale-005-ref rotateX(90deg) scaleZ(2) rotateX(-90deg) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d 93cbf38d1ad9d63a18371034f660797969f7c8d5 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This is identical to transform3d-scale-005-ref.html, except with scaleZ(2) instead of scale3d(1, 1, 2).
+transform3d-scale-007 reference/transform3d-scale-007-ref,!reference/transform3d-scale-001-notref rotateX(180deg) scaleZ(-1) http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions f62c5da30714184ee8c9cb92f4a7822925f65ebb `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that rotateX(180deg) scaleZ(-1) is the same as scaleY(-1). (The scaleZ(-1) should have no effect here.)
+transform3d-sorting-001 reference/transform-lime-square-ref Simple Sorting http://www.w3.org/TR/css-transforms-1/#transform-style-property,http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 20f0709d12a52b8af3fe0e1de5cfc9776259197e `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> The red box here is translated in the negative Z-direction, so it should render beneath the lime box even though it comes later in DOM order.
+transform3d-sorting-002 reference/transform-lime-square-ref Simple Sorting With Rotation http://www.w3.org/TR/css-transforms-1/#transform-style-property,http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 1d41897076ec02ff546efbb6314aee87053adb6c `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> The red box here is translated to the same extent as the lime box, so they should render in stacking context order: the lime box is on top, because it's later in the DOM. But then we apply rotatex(180deg) to the whole thing, so the lime box should wind up on top in the end.
+transform3d-sorting-003 reference/transform-lime-square-ref Simple Sorting With No Preserve-3D http://www.w3.org/TR/css-transforms-1/#transform-style-property,http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 66552c4d27129d849e03fb6a20e123027e764812 `Aryeh Gregor`<mailto:ayg@aryeh.name> The red box here is translated to above the lime box, but they aren't in the same 3D rendering context, so they should be drawn in DOM order regardless: lime box on top.
+transform3d-sorting-004 reference/transform-lime-square-ref Simple Sorting With Preserve-3D on Grandparent http://www.w3.org/TR/css-transforms-1/#transform-style-property,http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering a3b26d7739379d799c8e083113de01e0901bf6e8 `Aryeh Gregor`<mailto:ayg@aryeh.name> This is the same as transform3d-sorting-003.html, except with two wrapper divs. 'transform-style: preserve-3d' only affects children, not grandchildren, so the two divs with backgrounds are still in different rendering contexts and the Z-position should still not affect stacking.
+transform3d-sorting-005 reference/transform-lime-square-ref Sorting With Background on Parent http://www.w3.org/TR/css-transforms-1/#transform-style-property,http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering a0170fd959978a0183bca1f02d5280a95d6c33e1 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that if a parent has 'transform-style: preserve-3d', it's in the same rendering context as its children. Thus the translateZ(10px) puts the child above it, and the rotateX(180deg) puts it below, so the lime parent is rendered on top.
+transform3d-sorting-006 reference/transform3d-sorting-006-ref Sorting With Intersection http://www.w3.org/TR/css-transforms-1/#transform-style-property,http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 8f0e2ebc330e73f3ae28cb642717a827dd4d42a8 `Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that when two boxes intersect in a simple fashion, they're rendered according to Newell's algorithm.
+transform3d-translate3d-001 reference/transform3d-translate3d-ref,!reference/transform-lime-square-ref translate3d() vs. 'transform-origin' http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translate3d 56ab3f4abaa22e10a95555967499e7f4b0e03772 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.
+transform3d-translatez-001 reference/transform3d-translatez-ref,!reference/transform3d-translatez-notref translatez() vs. 'transform-origin' http://www.w3.org/TR/css-transforms-1/#transform-origin-property,http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions,http://www.w3.org/TR/css-transforms-1/#funcdef-translatez 14fd6589f4a21e5e87f7267cfec00310e2a5f766 `Matt Woodrow`<mailto:mwoodrow@mozilla.com>,`Aryeh Gregor`<mailto:ayg@aryeh.name> This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).
+transform_translate_invalid_prefixed transform translate with invalid translation value dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions b390f76fa9eb69ad51278413ea635059f8d5e40b `Intel`<http://www.intel.com> Check if transform sets translate(null, null) that an expection is to be thrown
+transform_translate_max_prefixed transform translate with maximum translation value dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 3ae5b54b87c2354a91e9f825c32733080ab5484a `Intel`<http://www.intel.com> Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown
+transform_translate_min_prefixed transform translate with minimum translation value dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions d09e016a3a59ea70cb3c1205490966b8c2fd321f `Intel`<http://www.intel.com> Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown
+transform_translate_neg_prefixed transform translate with negative translation value dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 14d0174e7a28532f4962f239c4e36d6b37aa25e9 `Intel`<http://www.intel.com> Check if transform supports translate(-1px, -1px)
+transform_translate_prefixed transform translate dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 02e539829893813410f47b0d7366774e9a552981 `Intel`<http://www.intel.com> Check if transform supports translate(100px, 100px)
+transform_translate_second_omited_prefixed transform translate with second translation value omited dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 8e478354d003be0fc150b2f562a91f3f6e9bd336 `Intel`<http://www.intel.com> Check if transform supports translate(100px)
+transform_translate_zero_prefixed transform translate dom,script http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 7942899316fc1192443198c60c2ab4d766ea929d `Intel`<http://www.intel.com> Check if transform supports translate(0, 0)
+transforms-rotate-degree-90 reference/transforms-rotate-degree-90-ref transform property with rotate function and one parameter http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 7d8860570b5d9e076dc77bec201ebdc2aa599710 `Jacy-Bai`<mailto:jinxin.bai@gmail.com> If the rotate with parameter not provided, greenRectangle will not cover redRectangle.
+transforms-rotate-translate-scale reference/transforms-rotate-translate-scale-ref transform property with scale function and rotate function with one parameter http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions a0026cac95c48dbd34bee8e03093a0ef4a642717 `Ji Kai`<mailto:7jikai@gmail.com> If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.
+transforms-rotateY-degree-60 reference/transforms-rotateY-degree-60-ref transform property with rotate function and one parameter http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 54c1e1cfe7f1109159253136b2239111d0c109c8 `Ji Kai`<mailto:7jikai@gmail.com>
+transforms-skewX reference/transforms-skewX-ref transform property with skew function for X axis. http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions dd76111e380e64f3e5cbef9ffbdb5a044d862f2e `Jacy-Bai`<mailto:jinxin.bai@gmail.com> If the skew for X axis not provided, greenSquare will not cover redSquare.
+transforms-skewY reference/transforms-skewY-ref transform property with skew function for Y axis. http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 5600d5b5fc10aeaa2d3c43e51ac36ac2c6793e70 `Jacy-Bai`<mailto:jinxin.bai@gmail.com> If the skew for Y axis not provided, greenSquare will not cover redSquare.
+translate reference/translate-ref test translate http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 4aa7fd6093c07bb465a21670d2862fa08302cad1 `Ebay Inc.`<xiatian@ebay.com> translate x, y
+translate-optional-second-001 reference/translate-optional-second-ref transform property with translate function and one parameter http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 2a11e746366063ba9b10397b490738a8c686b892 `Jian Zhang`<mailto:jian.andy.zhang@gmail.com> If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.
+transofrmed-preserve-3d-1 reference/transofrmed-preserve-3d-1-ref transform preserve-3d http://www.w3.org/TR/css-transforms-1/#transform-property 2dea466f5bd0eaaabc1aece7ad68db29009a4524 `loveky`<mailto:ylzcylx@gmail.com> The transformed div should establishe a 3D rendering context
+transofrmed-rotateX-3 reference/transofrmed-rotateX-3-ref transform rotateX http://www.w3.org/TR/css-transforms-1/#transform-property 1045ee0727034be93674d88e23480934850a43f0 `loveky`<mailto:ylzcylx@gmail.com> The transformed div should rotateX by 180 degrees
+transofrmed-rotateY-1 reference/transofrmed-rotateY-1-ref transform rotateY http://www.w3.org/TR/css-transforms-1/#transform-property 71eb2c034927bca565a6a03e81fb2ca6ebfa1950 `loveky`<mailto:ylzcylx@gmail.com> The transformed div should rotate 90 degrees
+ttwf-css-3d-polygon-cycle reference/ttwf-css-3d-polygon-cycle-ref 3d transform polygon cycle svg http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering e850913934fcfbd7254a50fb8c0e1f6a9f6957d5 `Leo Ziegler`<mailto:leo.ziegler@gmail.com> The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.
+ttwf-css-3d-polygon-cycle-mismatch reference/ttwf-css-3d-polygon-cycle-ref 3d transform polygon cycle svg http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering 03eb2681a92d1ea76b1a82d47729d8109c0124e9 `Leo Ziegler`<mailto:leo.ziegler@gmail.com> The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.
+ttwf-reftest-rotate reference/ttwf-reftest-rotate-ref transform rotate http://www.w3.org/TR/css-transforms-1/#transform-property,http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions 0081259fc5f0de5d3ae4763f9d7ad3a9ed115adf `Michael Downey`<mailto:miked782000@yahoo.com> The transform should rotate 180 degrees
+ttwf-transform-skewx-001 reference/ttwf-reftest-transform-skewx-001 CSS Transform Using skewX() function http://www.w3.org/TR/css-transforms-1/#transform-property 09e7340184ffba27d066ecc50529c788893064c6 `Mihai Corlan`<mailto:mcorlan@adobe.com> Test that the green shape is skew on X axis by 45 degrees
+ttwf-transform-skewy-001 reference/ttwf-reftest-transform-skewy-001 CSS Transform Using skewY() function http://www.w3.org/TR/css-transforms-1/#transform-property 98fda60b130bf95e436d38586d18b8e0e3d29fa2 `Mihai Corlan`<mailto:mcorlan@adobe.com> Test that the green shape is skew on Y axis by 45 degrees
+ttwf-transform-translatex-001 reference/ttwf-reftest-transform-translatex-001 CSS Transform Using translateX() function CSS,Transform http://www.w3.org/TR/css-transforms-1/#transform-property 12946f65438c1115d74a2e402c777d07121c8b93 `Mihai Corlan`<mailto:mcorlan@adobe.com> Test that the green square is moved on X axis 100px
+ttwf-transform-translatey-001 reference/ttwf-reftest-transform-translatey-001 CSS Transform Using translateY() function CSS,Transform http://www.w3.org/TR/css-transforms-1/#transform-property b1822e1cd9a679d43e70f2b1d8b547407324dbcf `Mihai Corlan`<mailto:mcorlan@adobe.com> Test that the green square is moved on Y axis 100px
+video-001 CSS Regions: flowing a video in a region http://www.w3.org/TR/css3-regions/#the-flow-into-property,http://www.w3.org/TR/css3-regions/#the-flow-from-property,http://www.w3.org/TR/css-transforms-1/#transform-functions 292acadfb0a71a94df81324dfe07f1da536f81c1 `Mihai Balan`<mailto:mibalan@adobe.com> Test checks videos flowed in regions render smoothly and without artifacts.
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-001.xht
new file mode 100644
index 00000000000..616caad4ccd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-001.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/2d-rotate-ref.xht" rel="match" />
+ <meta content="css3, rotate, svg" name="flags" />
+ <meta content="asserting that you can rotate an element with CSS" name="assert" />
+ <style type="text/css">
+ article, svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ article{
+ border: 10px solid green;
+ display: block;
+ height: 100px;
+ width: 100px;
+ z-index: 2;
+ }
+ section article{
+ transform: rotate(30deg);
+ transform-origin: 19% 197%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <article></article>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200" xmlns="http://www.w3.org/2000/svg">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: red;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="rotate(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-js.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-js.xht
new file mode 100644
index 00000000000..05c3fd19b50
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/2d-rotate-js.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>JS test: Rotate via javascript must show the correct computed rotation</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="css3, rotate, svg" name="flags" />
+ <meta content="Asserting that you can rotate an element with JS and it show up in CSS computed values not as a matrix but as the rotation" name="assert" />
+ <style>
+ #box{
+ margin-top:30px;
+ display: block;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <h1>Rotate via JS</h1>
+ <div id="log"></div>
+ <div id="box"></div>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ (function(){
+ var box = document.getElementById("box"),
+ assertion = "",
+ expectation = "rotate(30deg)",
+ should_string = "this should make a small green square rotated 30 degrees, and the browser should return the rotation as 30 degrees as the computed value NOT a matrix",
+ extra_properties = null,
+ computed_angle = 0,
+ a_1 = "";
+ a_2 = "",
+ my_value = "",
+ test_function = {};
+ box.style.Transform = "rotate(30deg)";
+ assertion = window.getComputedStyle(box).getPropertyValue("transform");
+ test_function = function(){
+ assert_equals(assertion, expectation);
+ }
+ test(test_function, should_string);
+ })();
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/animations-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/animations-001.xht
new file mode 100644
index 00000000000..953bad52afe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/animations-001.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: animating content flowed into a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-animations/#animations" rel="help" />
+ <meta content="Test checks that content that has an animated 3D transform renders and animates when flowed in a region." name="assert" />
+ <meta content="ahem animated" name="flags" />
+ <!-- TODO Determine if it's OK for this test to be a ref-test or it should only be a manual one. -->
+ <link href="reference/animations-001-ref.xht" rel="match" />
+ <link href="support/animations.css" rel="stylesheet" />
+ <style>
+ .transformed {
+ transform: rotateZ(45deg);
+ }
+ .flow {
+ flow-into: f;
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+
+ .region {
+ flow-from: f;
+ width: 100px;
+ height: 100px;
+ background-color: lightblue;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green square rotating once on top of a static blue square and no red.</p>
+
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+ <div class="transformed flow rotate once">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/backface-visibility-hidden-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/backface-visibility-hidden-001.xht
new file mode 100644
index 00000000000..8a9b6e8d894
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/backface-visibility-hidden-001.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with backface visibility = hidden</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <link href="reference/backface-visibility-hidden-ref.xht" rel="match" />
+ <meta content="When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ z-index: 2;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ z-index: 1;
+ transform: rotateY(180deg);
+ }
+
+ .face {
+ backface-visibility: hidden;
+ }
+
+ .card {
+ transform-style: preserve-3d;
+ }
+
+ .container {
+ width: 200px;
+ height: 200px;
+ perspective: 1000;
+ transform: rotateY(45deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green retangle and no red.</p>
+ <div class="container">
+ <div class="card">
+ <div class="redSquare face"></div>
+ <div class="greenSquare face"></div>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-001.xht
new file mode 100644
index 00000000000..ff0a0230b08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-001.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: rendering 3D canvas elements inside regions</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region." name="assert" />
+ <meta content="dom" name="flags" />
+ <link href="reference/canvas3d-001-ref.xht" rel="match" />
+ <script src="support/Three.js" type="text/javascript"></script>
+ <script src="support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow {
+ flow-into: f;
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ border: 2px solid black;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
+
+ <div class="flow" id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-002.xht
new file mode 100644
index 00000000000..53411fc35c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/canvas3d-002.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: rendering text flowed in a region on top of 3D content</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly." name="assert" />
+ <meta content="dom" name="flags" />
+ <link href="reference/canvas3d-002-ref.xht" rel="match" />
+ <script src="support/Three.js" type="text/javascript"></script>
+ <script src="support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ #container {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ flow-from: f;
+ width: 200px;
+ height: 300px;
+ margin: -250px 100px 0px 100px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
+
+ <div class="flow">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.</div>
+ <div id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-1.xht
new file mode 100644
index 00000000000..34d2616196f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-1.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Introduction - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Introduction (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#intro">1 Introduction</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-10.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-10.xht
new file mode 100644
index 00000000000..6224df072e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-10.xht
@@ -0,0 +1,235 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The perspective Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The perspective Property (17 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s10">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s10">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#perspective-property">10 The perspective Property</a></th></tr>
+ <!-- 16 tests -->
+ <tr id="perspective-origin-x-10" class="">
+ <td>
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-0-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-0.xht">perspective-translatez-0</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that points on the z=0 plane are unchanged</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-negative-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-negative.xht">perspective-translatez-negative</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a negative Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-positive-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-positive.xht">perspective-translatez-positive</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a positive Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-005-10" class="ahem">
+ <td>
+ <a href="regions-transforms-005.xht">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region
+ <ul class="assert">
+ <li>Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-019-10" class="ahem">
+ <td>
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-001-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-001.xht">transform3d-perspective-001</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective()
+ <ul class="assert">
+ <li>This tests that the perspective() transform works the same as an equivalent 'perspective' property.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-002-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-002.xht">transform3d-perspective-002</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Inherited Perspective
+ <ul class="assert">
+ <li>This tests that 'perspective: inherit' works the same as specifying that perspective to start with.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-003-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-003.xht">transform3d-perspective-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Perspective on Grandparent
+ <ul class="assert">
+ <li>This tests that 'perspective' affects only the element's children, not its grandchildren.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-004-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-004.xht">transform3d-perspective-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>'perspective: 1000px' on Grandparent and 'perspective: none' on Parent
+ <ul class="assert">
+ <li>This tests that 'perspective: none' actually results in no perspective being applied to children, even if the grandparent has perspective.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-005-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-005.xht">transform3d-perspective-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent
+ <ul class="assert">
+ <li>This tests that 'perspective: 0px' behaves the same as no perspective being specified at all (it's a parse error).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-006-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-006.xht">transform3d-perspective-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Perspective
+ <ul class="assert">
+ <li>This tests the 'perspective' property in a very simple case, such that the reference can be constructed without using CSS transforms.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-007-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-007.xht">transform3d-perspective-007</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Perspective on Table Parent
+ <ul class="assert">
+ <li>This tests that tables are correctly affected by perspective on their parent. It's motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-008-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-008.xht">transform3d-perspective-008</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Perspective on Table
+ <ul class="assert">
+ <li>This tests that perspective on a table only affects its children, not the table itself. It's motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-10" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-003-10" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-003.xht">transform3d-rotatex-perspective-003</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-perspective-ref.xht">=</a> <a href="reference/transform3d-rotatex-perspective-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>'perspective' and 'opacity'
+ <ul class="assert">
+ <li>This tests for a real-world implementation bug: see &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=707563&gt;. The only difference between the test and reference is 'opacity: 0.9999', which should not affect anything in the test.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s10.#issue-8678c096">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s10.#none">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s10.#propdef-perspective">
+ <!-- 1 tests -->
+ <tr id="css3-transform-perspective-10.#propdef-perspective" class="primary">
+ <td><strong>
+ <a href="css3-transform-perspective.xht">css3-transform-perspective</a></strong></td>
+ <td><a href="reference/css3-transform-perspective-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX 90 degrees with perspective make it invisible
+ <ul class="assert">
+ <li>Test passes if rotateX 90 degrees with perspective make it invisible</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-11.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-11.xht
new file mode 100644
index 00000000000..d85ebdf835c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-11.xht
@@ -0,0 +1,178 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The perspective-origin Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The perspective-origin Property (11 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s11">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s11">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#perspective-origin-property">11 The perspective-origin Property</a></th></tr>
+ <!-- 1 tests -->
+ <tr id="regions-transforms-019-11" class="ahem">
+ <td>
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s11.#propdef-perspective-origin">
+ <!-- 10 tests -->
+ <tr id="perspective-origin-001-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-001.xht">perspective-origin-001</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 0px center('center' computes to '50%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'center' computes to 50% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-002-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-002.xht">perspective-origin-002</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - center 0px('center' computes to '50%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'center' computes to 50% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-003-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-003.xht">perspective-origin-003</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-004-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-004.xht">perspective-origin-004</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 50% top('top' computes to '0%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'top' computes to 0% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-005-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-005.xht">perspective-origin-005</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - left 50%('left' computes to '0%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'left' computes to 0% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-006-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-006.xht">perspective-origin-006</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - right 50%('right' computes to '100%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'right' computes to 100% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-x-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></strong></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-xy-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-xy.xht">perspective-origin-xy</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin '&lt;x,y&gt;' visually moves the objects '&lt;-x,-y&gt;*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-009-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-009.xht">transform3d-perspective-009</a></strong></td>
+ <td><a href="reference/transform3d-perspective-009-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>'perspective-origin' and translate()
+ <ul class="assert">
+ <li>This tests that 'perspective' and 'perspective-origin' have the same effect as an appropriately calculated sequence of translate() and perspective(). The reference file's body has a width of 400px and a height of 100px, so the perspective-origin should be (200, 50). The transform-origin is 'top', which works out to (50, 0). Thus we translate by (150, 50) to get the right origin.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-origin-001-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-origin-001.xht">transform3d-perspective-origin-001</a></strong></td>
+ <td><a href="reference/transform3d-perspective-origin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="transform3d-rotatex-perspective-001.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective-origin
+ <ul class="assert">
+ <li>This tests that 'perspective-origin: 0 0' is the same as 'perspective-origin: top left', different from no 'perspective-origin', and different from no perspective or no transform.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s11.#valuedef-bottom">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-center">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-left">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-right">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-top">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-12.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-12.xht
new file mode 100644
index 00000000000..78d4191c867
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-12.xht
@@ -0,0 +1,133 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The backface-visibility Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The backface-visibility Property (8 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s12">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s12">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#backface-visibility-property">12 The backface-visibility Property</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s12.#issue-5f192247">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s12.#propdef-backface-visibility">
+ <!-- 8 tests -->
+ <tr id="backface-visibility-hidden-001-12.#propdef-backface-visibility" class="">
+ <td>
+ <a href="backface-visibility-hidden-001.xht">backface-visibility-hidden-001</a></td>
+ <td><a href="reference/backface-visibility-hidden-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with backface visibility = hidden
+ <ul class="assert">
+ <li>When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-001-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-001.xht">transform3d-backface-visibility-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, rotatex(180deg)
+ <ul class="assert">
+ <li>This tests that a very simple case of backface-visibility causes the element to disappear: rotateX(180deg) is specified on the same element that has backface-visibility: hidden.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-002-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-002.xht">transform3d-backface-visibility-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent and Child in Different Rendering Contexts
+ <ul class="assert">
+ <li>This tests that if an element has 'backface-visibility: hidden' and is rotated 180deg, so it would normally disappear, it doesn't reappear just because its parent also has a 180deg rotation. The rotations don't cancel, since the parent doesn't have 'transform-style: preserve-3d' and is in a different rendering context.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-003-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-003.xht">transform3d-backface-visibility-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, rotatex(180deg) on Table
+ <ul class="assert">
+ <li>This is identical to transform3d-backface-visibility-001.html, except that display: table is specified too. This is motivated by a real-world UA bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=724750&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-004-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-004.xht">transform3d-backface-visibility-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Same Rendering Context, Split Transform
+ <ul class="assert">
+ <li>This tests that if a parent and child are in the same 3D rendering context, and a 60deg rotation on the parent combines with a 60deg rotation on the child to make a 120deg rotation, the child will disappear if 'backface-visibility: hidden' is specified, just like if the 120deg rotation were specified on the child to start with.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-005-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-005.xht">transform3d-backface-visibility-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Different Rendering Context
+ <ul class="assert">
+ <li>This tests that if an element is not transformed, but its parent is rotated 180deg in a different rendering context, the child's 'backface-visibility: hidden' does not make it disappear. Only transforms that affect the child itself are relevant to 'backface-visibility'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-006-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-006.xht">transform3d-backface-visibility-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Same Rendering Context
+ <ul class="assert">
+ <li>This is the same as transform3d-backface-visibility-005.html, except that the parent has 'transform-style: preserve-3d'. Thus the child is affected by the parent's transform and should not be visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-007-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-007.xht">transform3d-backface-visibility-007</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, scalez(-1)
+ <ul class="assert">
+ <li>This is the same as transform3d-backface-visibility-001.html, except it uses scalez(-1) instead of rotatex(180deg). scalez(-1) has no visible effect when applied by itself to a box, since the box's Z-coordinates are all 0, but it still causes it to be affected by 'backface-visibility'.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-13.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-13.xht
new file mode 100644
index 00000000000..0df4d12a43d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-13.xht
@@ -0,0 +1,14654 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The SVG transform Attribute - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The SVG transform Attribute (703 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s13">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform">13 The SVG transform Attribute</a></th></tr>
+ <!-- 699 tests -->
+ <tr id="skew-test1-13" class="primary svg">
+ <td><strong>
+ <a href="skew-test1.xht">skew-test1</a></strong></td>
+ <td><a href="reference/skew-test1-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Testing 1 - skew()
+ <ul class="assert">
+ <li>The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-001.xht">svg-document-styles-001</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-002.xht">svg-document-styles-002</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-003.xht">svg-document-styles-003</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-004.xht">svg-document-styles-004</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-005.xht">svg-document-styles-005</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid document transform style
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-006.xht">svg-document-styles-006</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-007.xht">svg-document-styles-007</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-008.xht">svg-document-styles-008</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-009.xht">svg-document-styles-009</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-010.xht">svg-document-styles-010</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-011.xht">svg-document-styles-011</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-001.xht">svg-external-styles-001</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-002.xht">svg-external-styles-002</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-003.xht">svg-external-styles-003</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-004.xht">svg-external-styles-004</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-005.xht">svg-external-styles-005</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid external transform style
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-006.xht">svg-external-styles-006</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-007.xht">svg-external-styles-007</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-008.xht">svg-external-styles-008</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-009.xht">svg-external-styles-009</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-010.xht">svg-external-styles-010</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-011.xht">svg-external-styles-011</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-001.xht">svg-inline-styles-001</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-002.xht">svg-inline-styles-002</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-003.xht">svg-inline-styles-003</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-004.xht">svg-inline-styles-004</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-005.xht">svg-inline-styles-005</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid inline transform style
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-006.xht">svg-inline-styles-006</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-007.xht">svg-inline-styles-007</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-008.xht">svg-inline-styles-008</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-009.xht">svg-inline-styles-009</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-010.xht">svg-inline-styles-010</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-011.xht">svg-inline-styles-011</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-001-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-001.xht">svg-rotate-3args-001</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and pixel on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-002.xht">svg-rotate-3args-002</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments without units on rotate or translate values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-003.xht">svg-rotate-3args-003</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with grad on rotate and pt on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-004.xht">svg-rotate-3args-004</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with turn on rotate and pc on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-005.xht">svg-rotate-3args-005</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with rad on rotate and mm on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-006.xht">svg-rotate-3args-006</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative rotate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-007.xht">svg-rotate-3args-007</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateX
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-008.xht">svg-rotate-3args-008</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateY
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-009.xht">svg-rotate-3args-009</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-010.xht">svg-rotate-3args-010</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-011.xht">svg-rotate-3args-011</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-012.xht">svg-rotate-3args-012</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and negative percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-001.xht">svg-rotate-3args-invalid-001</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-002.xht">svg-rotate-3args-invalid-002</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with no translation-value arguments and a comma
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-003.xht">svg-rotate-3args-invalid-003</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-004.xht">svg-rotate-3args-invalid-004</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-005.xht">svg-rotate-3args-invalid-005</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-001.xht">svg-scale-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-002.xht">svg-scale-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-003.xht">svg-scale-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-004.xht">svg-scale-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-005.xht">svg-scale-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-006.xht">svg-scale-006</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-007.xht">svg-scale-007</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-008.xht">svg-scale-008</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-009.xht">svg-scale-009</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-010.xht">svg-scale-010</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-011.xht">svg-scale-011</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-012.xht">svg-scale-012</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-013.xht">svg-scale-013</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-014.xht">svg-scale-014</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-015.xht">svg-scale-015</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-016.xht">svg-scale-016</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-017.xht">svg-scale-017</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></strong></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></strong></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-001.xht">svg-transform-group-001</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-002.xht">svg-transform-group-002</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-003.xht">svg-transform-group-003</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-004.xht">svg-transform-group-004</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-005.xht">svg-transform-group-005</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-006.xht">svg-transform-group-006</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-007.xht">svg-transform-group-007</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-008.xht">svg-transform-group-008</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-009.xht">svg-transform-group-009</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-010.xht">svg-transform-group-010</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-001.xht">svg-transform-nested-001</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-002.xht">svg-transform-nested-002</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-003.xht">svg-transform-nested-003</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-004.xht">svg-transform-nested-004</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-005.xht">svg-transform-nested-005</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-006.xht">svg-transform-nested-006</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-007.xht">svg-transform-nested-007</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-008.xht">svg-transform-nested-008</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-009.xht">svg-transform-nested-009</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-010.xht">svg-transform-nested-010</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, matrix on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-011.xht">svg-transform-nested-011</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-012.xht">svg-transform-nested-012</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-013.xht">svg-transform-nested-013</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-014.xht">svg-transform-nested-014</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-015.xht">svg-transform-nested-015</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-016.xht">svg-transform-nested-016</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-017.xht">svg-transform-nested-017</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-018.xht">svg-transform-nested-018</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-019.xht">svg-transform-nested-019</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-020.xht">svg-transform-nested-020</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-021.xht">svg-transform-nested-021</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scaleY on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-022.xht">svg-transform-nested-022</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-023.xht">svg-transform-nested-023</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translate on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-024.xht">svg-transform-nested-024</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, translateX on child1, scaleX on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-025.xht">svg-transform-nested-025</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, translateY on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-026.xht">svg-transform-nested-026</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translate on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-027.xht">svg-transform-nested-027</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-028.xht">svg-transform-nested-028</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-029.xht">svg-transform-nested-029</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate with three arguments on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-001.xht">svg-translate-001</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-002.xht">svg-translate-002</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-003.xht">svg-translate-003</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-004.xht">svg-translate-004</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-005.xht">svg-translate-005</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-006.xht">svg-translate-006</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-007.xht">svg-translate-007</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-008.xht">svg-translate-008</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-009.xht">svg-translate-009</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-010.xht">svg-translate-010</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-011.xht">svg-translate-011</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-012.xht">svg-translate-012</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-013.xht">svg-translate-013</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-014.xht">svg-translate-014</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-015.xht">svg-translate-015</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-016.xht">svg-translate-016</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-017.xht">svg-translate-017</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-018.xht">svg-translate-018</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-019.xht">svg-translate-019</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-020.xht">svg-translate-020</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-021.xht">svg-translate-021</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-022.xht">svg-translate-022</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-023.xht">svg-translate-023</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-024.xht">svg-translate-024</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-025.xht">svg-translate-025</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-026.xht">svg-translate-026</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-027.xht">svg-translate-027</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-028.xht">svg-translate-028</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-029.xht">svg-translate-029</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-030.xht">svg-translate-030</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-031.xht">svg-translate-031</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-032.xht">svg-translate-032</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-033.xht">svg-translate-033</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-034.xht">svg-translate-034</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-035.xht">svg-translate-035</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-036.xht">svg-translate-036</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-037.xht">svg-translate-037</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-038.xht">svg-translate-038</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-039.xht">svg-translate-039</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-040.xht">svg-translate-040</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-041.xht">svg-translate-041</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-042.xht">svg-translate-042</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-043.xht">svg-translate-043</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-044.xht">svg-translate-044</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-045.xht">svg-translate-045</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-046.xht">svg-translate-046</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-047.xht">svg-translate-047</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-048.xht">svg-translate-048</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-049.xht">svg-translate-049</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-050.xht">svg-translate-050</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-051.xht">svg-translate-051</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-052.xht">svg-translate-052</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-053.xht">svg-translate-053</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-054.xht">svg-translate-054</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-055.xht">svg-translate-055</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity">13.1 SVG transform attribute specificity</a></th></tr>
+ <!-- 42 tests -->
+ <tr id="svg-document-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-001.xht">svg-document-styles-001</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-002.xht">svg-document-styles-002</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-003.xht">svg-document-styles-003</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-004.xht">svg-document-styles-004</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-005.xht">svg-document-styles-005</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid document transform style
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-006.xht">svg-document-styles-006</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-007.xht">svg-document-styles-007</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-008.xht">svg-document-styles-008</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-009.xht">svg-document-styles-009</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-010.xht">svg-document-styles-010</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-011.xht">svg-document-styles-011</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-001.xht">svg-external-styles-001</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-002.xht">svg-external-styles-002</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-003.xht">svg-external-styles-003</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-004.xht">svg-external-styles-004</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-005.xht">svg-external-styles-005</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid external transform style
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-006.xht">svg-external-styles-006</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-007.xht">svg-external-styles-007</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-008.xht">svg-external-styles-008</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-009.xht">svg-external-styles-009</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-010.xht">svg-external-styles-010</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-011.xht">svg-external-styles-011</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-001.xht">svg-inline-styles-001</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-002.xht">svg-inline-styles-002</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-003.xht">svg-inline-styles-003</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-004.xht">svg-inline-styles-004</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-005.xht">svg-inline-styles-005</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid inline transform style
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-006.xht">svg-inline-styles-006</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-007.xht">svg-inline-styles-007</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-008.xht">svg-inline-styles-008</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-009.xht">svg-inline-styles-009</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-010.xht">svg-inline-styles-010</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-011.xht">svg-inline-styles-011</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-syntax">13.2 Syntax of the SVG transform attribute</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list">13.2.1 Transform List</a></th></tr>
+ <!-- 11 tests -->
+ <tr id="svg-transform-list-separations-001-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation">13.2.2 Functional Notation</a></th></tr>
+ <!-- 15 tests -->
+ <tr id="svg-rotate-3args-013-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-001-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-data-types">13.2.3 SVG Data Types</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.3.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value">13.2.3.1 The <translation-value> and <length> type</a></th></tr>
+ <!-- 61 tests -->
+ <tr id="svg-gradienttransform-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-006.xht">svg-origin-length-006</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-007-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-007.xht">svg-origin-length-007</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-008-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-008.xht">svg-origin-length-008</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50 50
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3.1.#typedef-translation-value">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.3.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-angle">13.2.3.2 The <angle> type</a></th></tr>
+ <!-- 50 tests -->
+ <tr id="svg-rotate-angle-45-001-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-number">13.2.3.3 The <number> type</a></th></tr>
+ <!-- 220 tests -->
+ <tr id="svg-gradienttransform-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform">13.3 The SVG gradientTransform and patternTransform attributes</a></th></tr>
+ <!-- 122 tests -->
+ <tr id="svg-gradienttransform-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.4">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.4">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions">13.4 SVG transform functions</a></th></tr>
+ <!-- 39 tests -->
+ <tr id="svg-document-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-001-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-001.xht">svg-rotate-3args-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and pixel on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-002-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-002.xht">svg-rotate-3args-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments without units on rotate or translate values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-003-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-003.xht">svg-rotate-3args-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with grad on rotate and pt on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-004-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-004.xht">svg-rotate-3args-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with turn on rotate and pc on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-005-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-005.xht">svg-rotate-3args-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with rad on rotate and mm on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-006-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-006.xht">svg-rotate-3args-006</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative rotate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-007-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-007.xht">svg-rotate-3args-007</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateX
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-008-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-008.xht">svg-rotate-3args-008</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateY
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-009-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-009.xht">svg-rotate-3args-009</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-010-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-010.xht">svg-rotate-3args-010</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-011-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-011.xht">svg-rotate-3args-011</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-012-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-012.xht">svg-rotate-3args-012</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and negative percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-013-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-001-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-001.xht">svg-rotate-3args-invalid-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-002-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-002.xht">svg-rotate-3args-invalid-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with no translation-value arguments and a comma
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-003-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-003.xht">svg-rotate-3args-invalid-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-004-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-004.xht">svg-rotate-3args-invalid-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-005-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-005.xht">svg-rotate-3args-invalid-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-13.4" class="svg">
+ <td>
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-029-13.4" class="svg">
+ <td>
+ <a href="svg-transform-nested-029.xht">svg-transform-nested-029</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate with three arguments on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.4.#rotate-three-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.5">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.5">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-three-dimensional-functions">13.5 SVG and 3D transform functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.6">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.6">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space">13.6 User coordinate space</a></th></tr>
+ <!-- 61 tests -->
+ <tr id="svg-origin-relative-length-001-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.7">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.7">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-dom">13.7 SVG DOM interface for the transform attribute</a></th></tr>
+ <!-- 1 tests -->
+ <tr id="css-transforms-transformlist-13.7" class="primary">
+ <td><strong>
+ <a href="css-transforms-transformlist.xht">css-transforms-transformlist</a></strong></td>
+ <td><a href="reference/css-transforms-transformlist-ref.xht">=</a> </td>
+ <td></td>
+ <td>SVG transform in baseVal list
+ <ul class="assert">
+ <li>This test verifies that the CSS transform ends up in the list of SVG transforms</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-14.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-14.xht
new file mode 100644
index 00000000000..0462b9acb22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-14.xht
@@ -0,0 +1,57 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>SVG Animation - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>SVG Animation (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s14">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-animation">14 SVG Animation</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-animate-element">14.1 The <animate> and <set> element</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#neutral-element">14.2 Neutral element for addition</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-attribute-name">14.3 The SVG attributeName attribute</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-15.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-15.xht
new file mode 100644
index 00000000000..4288d4def1c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-15.xht
@@ -0,0 +1,12716 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The Transform Functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Functions (691 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s15">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-functions">15 The Transform Functions</a></th></tr>
+ <!-- 7 tests -->
+ <tr id="animations-001-15" class="ahem animated">
+ <td>
+ <a href="animations-001.xht">animations-001</a></td>
+ <td><a href="reference/animations-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="animated" title="Animated test">Animated</abbr></td>
+ <td>CSS Regions: animating content flowed into a region
+ <ul class="assert">
+ <li>Test checks that content that has an animated 3D transform renders and animates when flowed in a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="canvas3d-001-15" class="dom">
+ <td>
+ <a href="canvas3d-001.xht">canvas3d-001</a></td>
+ <td><a href="reference/canvas3d-001-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ <td>CSS Regions: rendering 3D canvas elements inside regions
+ <ul class="assert">
+ <li>Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="canvas3d-002-15" class="dom">
+ <td>
+ <a href="canvas3d-002.xht">canvas3d-002</a></td>
+ <td><a href="reference/canvas3d-002-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ <td>CSS Regions: rendering text flowed in a region on top of 3D content
+ <ul class="assert">
+ <li>Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-001-15" class="">
+ <td>
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-15" class="">
+ <td>
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="iframe-001-15" class="ahem">
+ <td>
+ <a href="iframe-001.xht">iframe-001</a></td>
+ <td><a href="reference/iframe-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: flowing an iframe that loads content with 3D transform
+ <ul class="assert">
+ <li>Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="video-001-15" class="">
+ <td>
+ <a href="video-001.xht">video-001</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS Regions: flowing a video in a region
+ <ul class="assert">
+ <li>Test checks videos flowed in regions render smoothly and without artifacts.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.#typedef-transform-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">15.1 2D Transform Functions</a></th></tr>
+ <!-- 638 tests -->
+ <tr id="css-rotate-2d-3d-001-15.1" class="primary">
+ <td><strong>
+ <a href="css-rotate-2d-3d-001.xht">css-rotate-2d-3d-001</a></strong></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>2D rotation with 3D rotation
+ <ul class="assert">
+ <li>This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-scale-nested-001-15.1" class="">
+ <td>
+ <a href="css-scale-nested-001.xht">css-scale-nested-001</a></td>
+ <td><a href="reference/css-scale-nested-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale 0 on a parent with a child
+ <ul class="assert">
+ <li>Child square element is transformed (scaled to zero) along with the parent element</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-skew-001-15.1" class="primary">
+ <td><strong>
+ <a href="css-skew-001.xht">css-skew-001</a></strong></td>
+ <td><a href="reference/css-skew-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>skew function part 1
+ </td>
+ </tr>
+ <tr id="css-skew-002-15.1" class="primary">
+ <td><strong>
+ <a href="css-skew-002.xht">css-skew-002</a></strong></td>
+ <td><a href="reference/css-skew-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>skew function part 2
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-rotate-15.1" class="">
+ <td>
+ <a href="css-transform-inherit-rotate.xht">css-transform-inherit-rotate</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms rotate inheritance on div element
+ <ul class="assert">
+ <li>Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-scale-15.1" class="">
+ <td>
+ <a href="css-transform-inherit-scale.xht">css-transform-inherit-scale</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms scale 2 inheritance on div elements
+ <ul class="assert">
+ <li>While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-001-15.1" class="">
+ <td>
+ <a href="regions-transforms-001.xht">regions-transforms-001</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (non-text) content
+ <ul class="assert">
+ <li>This test checks that the transform is applied to the named flow non-text content.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-002-15.1" class="">
+ <td>
+ <a href="regions-transforms-002.xht">regions-transforms-002</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow content element that has a child
+ <ul class="assert">
+ <li>This test checks that the child is transformed along with the parent when the transform is applied to a named flow content node</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-003-15.1" class="">
+ <td>
+ <a href="regions-transforms-003.xht">regions-transforms-003</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Named flow content that has a transformed parent outside of the named flow
+ <ul class="assert">
+ <li>This tests checks that when a transform is applied to a parent outside of the named flow but has child in the named flow, the child is not transformed along with the parent.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-007-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-007.xht">regions-transforms-007</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transforms on both the named flow content and the region
+ <ul class="assert">
+ <li>Test checks that if both the content flowed in a region and the region have a transform applied, they are properly composed. More specifically, in this test the content should appear as rotated 180 degrees.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-008-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-008.xht">regions-transforms-008</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows
+ <ul class="assert">
+ <li>This test checks that named flow text content is transformed when it breaks across multiple regions and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-009-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-009.xht">regions-transforms-009</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows
+ <ul class="assert">
+ <li>This test checks that the regions are transformed when named flow text content breaks across multiple regions and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-010-15.1" class="">
+ <td>
+ <a href="regions-transforms-010.xht">regions-transforms-010</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region with position: relative
+ <ul class="assert">
+ <li>This test checks that the transform can be applied on relative positioned region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-011-15.1" class="">
+ <td>
+ <a href="regions-transforms-011.xht">regions-transforms-011</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region where parent and child are separate named flow content nodes
+ <ul class="assert">
+ <li>This test checks that the region is transformed when a parent and its child are separate named flow content nodes flowing into it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-012-15.1" class="">
+ <td>
+ <a href="regions-transforms-012.xht">regions-transforms-012</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow content flowing into transformed region
+ <ul class="assert">
+ <li>This test checks that named flow text content is transformed when it flows into a region that is also transformed.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-013-15.1" class="">
+ <td>
+ <a href="regions-transforms-013.xht">regions-transforms-013</a></td>
+ <td><a href="reference/regions-transforms-013-alt-ref.xht">=</a> <a href="reference/regions-transforms-013-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions
+ <ul class="assert">
+ <li>This test checks that the named flow content that is monolithic is transformed when it breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-014-15.1" class="">
+ <td>
+ <a href="regions-transforms-014.xht">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transform region with position:absolute and transform-origin
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-015-15.1" class="">
+ <td>
+ <a href="regions-transforms-015.xht">regions-transforms-015</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to named flow content that flows into a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-017-15.1" class="">
+ <td>
+ <a href="regions-transforms-017.xht">regions-transforms-017</a></td>
+ <td><a href="reference/regions-transforms-017-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Multiple transformed named flow content nodes that overflow a region
+ <ul class="assert">
+ <li>This test checks that multiple named flow content nodes are transformed into a region and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-020-15.1" class="">
+ <td>
+ <a href="regions-transforms-020.xht">regions-transforms-020</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions
+ <ul class="assert">
+ <li>This test checks that the named flow content that is fragmentable (has a break point) is transformed when it breaks across multiple regions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-021-15.1" class="">
+ <td>
+ <a href="regions-transforms-021.xht">regions-transforms-021</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions
+ <ul class="assert">
+ <li>This test checks that separate transforms can be applied to each named flow content node that breaks across multiple regions and that each fragment has its own transform origin.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-022-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-022.xht">regions-transforms-022</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions
+ <ul class="assert">
+ <li>This test checks that separate transforms can be applied to each named flow content text node that breaks across multiple regions</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate-180-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-180-degrees-001.xht">rotate-180-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 180 deg
+ </td>
+ </tr>
+ <tr id="rotate-270-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-270-degrees-001.xht">rotate-270-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 270 deg
+ </td>
+ </tr>
+ <tr id="rotate-90-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-90-degrees-001.xht">rotate-90-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 90 deg
+ </td>
+ </tr>
+ <tr id="scale-optional-second-001-15.1" class="">
+ <td>
+ <a href="scale-optional-second-001.xht">scale-optional-second-001</a></td>
+ <td><a href="reference/scale-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and one parameter
+ <ul class="assert">
+ <li>If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scale-zero-001-15.1" class="">
+ <td>
+ <a href="scale-zero-001.xht">scale-zero-001</a></td>
+ <td><a href="reference/scale-zero-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and zero values
+ <ul class="assert">
+ <li>If zero value is passed to scale function, it causes the element to disappear.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="skew-test1-15.1" class="svg">
+ <td>
+ <a href="skew-test1.xht">skew-test1</a></td>
+ <td><a href="reference/skew-test1-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Testing 1 - skew()
+ <ul class="assert">
+ <li>The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-001-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-15.1" class="svg">
+ <td>
+ <a href="svg-scale-001.xht">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-15.1" class="svg">
+ <td>
+ <a href="svg-scale-002.xht">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-15.1" class="svg">
+ <td>
+ <a href="svg-scale-003.xht">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-15.1" class="svg">
+ <td>
+ <a href="svg-scale-004.xht">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-15.1" class="svg">
+ <td>
+ <a href="svg-scale-005.xht">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-15.1" class="svg">
+ <td>
+ <a href="svg-scale-006.xht">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-15.1" class="svg">
+ <td>
+ <a href="svg-scale-007.xht">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-15.1" class="svg">
+ <td>
+ <a href="svg-scale-008.xht">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-15.1" class="svg">
+ <td>
+ <a href="svg-scale-009.xht">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-15.1" class="svg">
+ <td>
+ <a href="svg-scale-010.xht">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-15.1" class="svg">
+ <td>
+ <a href="svg-scale-011.xht">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-15.1" class="svg">
+ <td>
+ <a href="svg-scale-012.xht">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-15.1" class="svg">
+ <td>
+ <a href="svg-scale-013.xht">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-15.1" class="svg">
+ <td>
+ <a href="svg-scale-014.xht">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-15.1" class="svg">
+ <td>
+ <a href="svg-scale-015.xht">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-15.1" class="svg">
+ <td>
+ <a href="svg-scale-016.xht">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-15.1" class="svg">
+ <td>
+ <a href="svg-scale-017.xht">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-001-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-001-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-001-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-001.xht">svg-transform-group-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-002-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-002.xht">svg-transform-group-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-003-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-003.xht">svg-transform-group-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-004-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-004.xht">svg-transform-group-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-005-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-005.xht">svg-transform-group-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-006-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-006.xht">svg-transform-group-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-007-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-007.xht">svg-transform-group-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-008-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-008.xht">svg-transform-group-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-009-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-009.xht">svg-transform-group-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-010-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-010.xht">svg-transform-group-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-001-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-001.xht">svg-transform-nested-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-002-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-002.xht">svg-transform-nested-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-003-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-003.xht">svg-transform-nested-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-004-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-004.xht">svg-transform-nested-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-005-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-005.xht">svg-transform-nested-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-006-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-006.xht">svg-transform-nested-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-007-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-007.xht">svg-transform-nested-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-008-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-008.xht">svg-transform-nested-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-009-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-009.xht">svg-transform-nested-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-010-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-010.xht">svg-transform-nested-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, matrix on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-011-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-011.xht">svg-transform-nested-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-012-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-012.xht">svg-transform-nested-012</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-013-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-013.xht">svg-transform-nested-013</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-014-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-014.xht">svg-transform-nested-014</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-015-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-015.xht">svg-transform-nested-015</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-016-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-016.xht">svg-transform-nested-016</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-017-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-017.xht">svg-transform-nested-017</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-018-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-018.xht">svg-transform-nested-018</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-019-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-019.xht">svg-transform-nested-019</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-020-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-020.xht">svg-transform-nested-020</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-021-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-021.xht">svg-transform-nested-021</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scaleY on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-022-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-022.xht">svg-transform-nested-022</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-023-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-023.xht">svg-transform-nested-023</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translate on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-024-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-024.xht">svg-transform-nested-024</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, translateX on child1, scaleX on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-025-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-025.xht">svg-transform-nested-025</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, translateY on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-026-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-026.xht">svg-transform-nested-026</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translate on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-027-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-027.xht">svg-transform-nested-027</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-028-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-028.xht">svg-transform-nested-028</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-002.xht">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-003.xht">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-004.xht">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-005.xht">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-006.xht">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-15.1" class="svg">
+ <td>
+ <a href="svg-translate-007.xht">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-008.xht">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-15.1" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-15.1" class="svg">
+ <td>
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-15.1" class="svg">
+ <td>
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-15.1" class="svg">
+ <td>
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-15.1" class="svg">
+ <td>
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-15.1" class="svg">
+ <td>
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-15.1" class="svg">
+ <td>
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-15.1" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-15.1" class="svg">
+ <td>
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-15.1" class="svg">
+ <td>
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-15.1" class="svg">
+ <td>
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-15.1" class="svg">
+ <td>
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-15.1" class="svg">
+ <td>
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-15.1" class="svg">
+ <td>
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-15.1" class="svg">
+ <td>
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-15.1" class="svg">
+ <td>
+ <a href="svg-translate-026.xht">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-15.1" class="svg">
+ <td>
+ <a href="svg-translate-027.xht">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-15.1" class="svg">
+ <td>
+ <a href="svg-translate-028.xht">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-15.1" class="svg">
+ <td>
+ <a href="svg-translate-029.xht">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-15.1" class="svg">
+ <td>
+ <a href="svg-translate-030.xht">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-15.1" class="svg">
+ <td>
+ <a href="svg-translate-031.xht">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-032.xht">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-15.1" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-15.1" class="svg">
+ <td>
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-15.1" class="svg">
+ <td>
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-15.1" class="svg">
+ <td>
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-15.1" class="svg">
+ <td>
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-15.1" class="svg">
+ <td>
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-15.1" class="svg">
+ <td>
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-15.1" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-15.1" class="svg">
+ <td>
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-15.1" class="svg">
+ <td>
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-15.1" class="svg">
+ <td>
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-15.1" class="svg">
+ <td>
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-15.1" class="svg">
+ <td>
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-15.1" class="svg">
+ <td>
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-15.1" class="svg">
+ <td>
+ <a href="svg-translate-049.xht">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-15.1" class="svg">
+ <td>
+ <a href="svg-translate-050.xht">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-15.1" class="svg">
+ <td>
+ <a href="svg-translate-051.xht">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-15.1" class="svg">
+ <td>
+ <a href="svg-translate-052.xht">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-15.1" class="svg">
+ <td>
+ <a href="svg-translate-053.xht">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-15.1" class="svg">
+ <td>
+ <a href="svg-translate-054.xht">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-15.1" class="svg">
+ <td>
+ <a href="svg-translate-055.xht">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-2d-getcomputedstyle-001-15.1" class="dom script">
+ <td>
+ <a href="transform-2d-getComputedStyle-001.xht">transform-2d-getcomputedstyle-001</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>CSS 2D transforms correctly report their matrix via getComputedStyle()</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-001.xht">transform-matrix-001</a></strong></td>
+ <td><a href="reference/transform-matrix-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX()
+ <ul class="assert">
+ <li>This tests that translateX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-002.xht">transform-matrix-002</a></strong></td>
+ <td><a href="reference/transform-matrix-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY()
+ <ul class="assert">
+ <li>This tests that translateY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-003.xht">transform-matrix-003</a></strong></td>
+ <td><a href="reference/transform-matrix-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX(%)
+ <ul class="assert">
+ <li>This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-004.xht">transform-matrix-004</a></strong></td>
+ <td><a href="reference/transform-matrix-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY(%)
+ <ul class="assert">
+ <li>This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-005.xht">transform-matrix-005</a></strong></td>
+ <td><a href="reference/transform-matrix-005-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewX()
+ <ul class="assert">
+ <li>This tests that skewX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-006-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-006.xht">transform-matrix-006</a></strong></td>
+ <td><a href="reference/transform-matrix-006-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewY()
+ <ul class="assert">
+ <li>This tests that skewY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-007-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-007.xht">transform-matrix-007</a></strong></td>
+ <td><a href="reference/transform-matrix-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/scale()
+ <ul class="assert">
+ <li>This tests that scale() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-008-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-008.xht">transform-matrix-008</a></strong></td>
+ <td><a href="reference/transform-matrix-008-ref.xht">=</a> <a href="reference/transform-matrix-008-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix() with non-numeric args
+ <ul class="assert">
+ <li>This tests that providing length or percentage values as arguments to matrix() is a syntax error.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-001.xht">transform-rotate-001</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(360deg)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-002.xht">transform-rotate-002</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(400grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-003.xht">transform-rotate-003</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-004.xht">transform-rotate-004</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-45deg) rotate(100grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-005.xht">transform-rotate-005</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-135deg) rotate(3.1415926535897932384626433rad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-006-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-006.xht">transform-rotate-006</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(1turn)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-007-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-007.xht">transform-rotate-007</a></strong></td>
+ <td><a href="reference/transform-rotate-007-ref.xht">=</a> <a href="reference/transform-rotate-007-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Rotated Simple Box
+ <ul class="assert">
+ <li>This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-001.xht">transform-scale-001</a></strong></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5, 0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5, 0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-002.xht">transform-scale-002</a></strong></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-percent-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-percent-001.xht">transform-scale-percent-001</a></strong></td>
+ <td><a href="reference/transform-scale-percent-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(50%, 50%)
+ <ul class="assert">
+ <li>This tests that scale(50%, 50%) does nothing, because scale() is defined to take numbers and not percentages.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scalex-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scalex-001.xht">transform-scalex-001</a></strong></td>
+ <td><a href="reference/transform-scalex-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleX(0.5)
+ <ul class="assert">
+ <li>This tests that scaleX(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scaley-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scaley-001.xht">transform-scaley-001</a></strong></td>
+ <td><a href="reference/transform-scaley-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleY(0.5)
+ <ul class="assert">
+ <li>This tests that scaleY(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stresstest-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-stresstest-001.xht">transform-stresstest-001</a></strong></td>
+ <td><a href="reference/transform-stresstest-ref.xht">=</a> </td>
+ <td></td>
+ <td>Inversion Stress Test
+ <ul class="assert">
+ <li>This simply applies and then inverts a large number of 2D transform functions, and expects the result to be no transform at all. One extra translateX(100px) is added at the end to ensure that the lack of transform isn't just because the UA parsed it incorrectly, or doesn't support transforms at all.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-001.xht">transform-translate-001</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-002.xht">transform-translate-002</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-003.xht">transform-translate-003</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(25px, 25px) translate(25px, 25px)
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-004.xht">transform-translate-004</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) plus relative positioning 25px to the bottom right is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-005.xht">transform-translate-005</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-001.xht">transform-translatex-001</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px)
+ <ul class="assert">
+ <li>This tests that translatex(50px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-002.xht">transform-translatex-002</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-003.xht">transform-translatex-003</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(25px) translatex(25px)
+ <ul class="assert">
+ <li>This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-004.xht">transform-translatex-004</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-005.xht">transform-translatex-005</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several X-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-006-15.1" class="">
+ <td>
+ <a href="transform-translatex-006.xht">transform-translatex-006</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translateX function
+ <ul class="assert">
+ <li>This tests that translateX(50px) translates a box by 50 pixels in the X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-001.xht">transform-translatey-001</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px)
+ <ul class="assert">
+ <li>This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-002.xht">transform-translatey-002</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-003.xht">transform-translatey-003</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(25px) translatey(25px)
+ <ul class="assert">
+ <li>This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-004.xht">transform-translatey-004</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-005.xht">transform-translatey-005</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Y-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_invalid_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_invalid_prefixed.xht">transform_translate_invalid_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with invalid translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(null, null) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_max_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_max_prefixed.xht">transform_translate_max_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with maximum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_min_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_min_prefixed.xht">transform_translate_min_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with minimum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_neg_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_neg_prefixed.xht">transform_translate_neg_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with negative translation value
+ <ul class="assert">
+ <li>Check if transform supports translate(-1px, -1px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_prefixed.xht">transform_translate_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(100px, 100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_second_omited_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_second_omited_prefixed.xht">transform_translate_second_omited_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with second translation value omited
+ <ul class="assert">
+ <li>Check if transform supports translate(100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_zero_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_zero_prefixed.xht">transform_translate_zero_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(0, 0)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-degree-90-15.1" class="">
+ <td>
+ <a href="transforms-rotate-degree-90.xht">transforms-rotate-degree-90</a></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ <ul class="assert">
+ <li>If the rotate with parameter not provided, greenRectangle will not cover redRectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-translate-scale-15.1" class="">
+ <td>
+ <a href="transforms-rotate-translate-scale.xht">transforms-rotate-translate-scale</a></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and rotate function with one parameter
+ <ul class="assert">
+ <li>If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotatey-degree-60-15.1" class="">
+ <td>
+ <a href="transforms-rotateY-degree-60.xht">transforms-rotatey-degree-60</a></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ </td>
+ </tr>
+ <tr id="transforms-skewx-15.1" class="">
+ <td>
+ <a href="transforms-skewX.xht">transforms-skewx</a></td>
+ <td><a href="reference/transforms-skewX-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for X axis.
+ <ul class="assert">
+ <li>If the skew for X axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-skewy-15.1" class="">
+ <td>
+ <a href="transforms-skewY.xht">transforms-skewy</a></td>
+ <td><a href="reference/transforms-skewY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for Y axis.
+ <ul class="assert">
+ <li>If the skew for Y axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-optional-second-001-15.1" class="">
+ <td>
+ <a href="translate-optional-second-001.xht">translate-optional-second-001</a></td>
+ <td><a href="reference/translate-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translate function and one parameter
+ <ul class="assert">
+ <li>If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-reftest-rotate-15.1" class="">
+ <td>
+ <a href="ttwf-reftest-rotate.xht">ttwf-reftest-rotate</a></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotate
+ <ul class="assert">
+ <li>The transform should rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-matrix">
+ <!-- 77 tests -->
+ <tr id="svg-matrix-001-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-001-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-001.xht">transform-matrix-001</a></td>
+ <td><a href="reference/transform-matrix-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX()
+ <ul class="assert">
+ <li>This tests that translateX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-002-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-002.xht">transform-matrix-002</a></td>
+ <td><a href="reference/transform-matrix-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY()
+ <ul class="assert">
+ <li>This tests that translateY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-003-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-003.xht">transform-matrix-003</a></td>
+ <td><a href="reference/transform-matrix-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX(%)
+ <ul class="assert">
+ <li>This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-004-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-004.xht">transform-matrix-004</a></td>
+ <td><a href="reference/transform-matrix-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY(%)
+ <ul class="assert">
+ <li>This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-005-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-005.xht">transform-matrix-005</a></td>
+ <td><a href="reference/transform-matrix-005-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewX()
+ <ul class="assert">
+ <li>This tests that skewX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-006-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-006.xht">transform-matrix-006</a></td>
+ <td><a href="reference/transform-matrix-006-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewY()
+ <ul class="assert">
+ <li>This tests that skewY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-007-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-007.xht">transform-matrix-007</a></td>
+ <td><a href="reference/transform-matrix-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/scale()
+ <ul class="assert">
+ <li>This tests that scale() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-008-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-008.xht">transform-matrix-008</a></td>
+ <td><a href="reference/transform-matrix-008-ref.xht">=</a> <a href="reference/transform-matrix-008-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix() with non-numeric args
+ <ul class="assert">
+ <li>This tests that providing length or percentage values as arguments to matrix() is a syntax error.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-rotate">
+ <!-- 58 tests -->
+ <tr id="css3-transform-rotatey-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="css3-transform-rotateY.xht">css3-transform-rotatey</a></td>
+ <td><a href="reference/css3-transform-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY function
+ <ul class="assert">
+ <li>box width should be equal to projection width if transform rotateY applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-001-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-001.xht">transform-rotate-001</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(360deg)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-002-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-002.xht">transform-rotate-002</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(400grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-003-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-003.xht">transform-rotate-003</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-004-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-004.xht">transform-rotate-004</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-45deg) rotate(100grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-005-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-005.xht">transform-rotate-005</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-135deg) rotate(3.1415926535897932384626433rad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-006-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-006.xht">transform-rotate-006</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(1turn)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-007-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-007.xht">transform-rotate-007</a></td>
+ <td><a href="reference/transform-rotate-007-ref.xht">=</a> <a href="reference/transform-rotate-007-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Rotated Simple Box
+ <ul class="assert">
+ <li>This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scale">
+ <!-- 22 tests -->
+ <tr id="css3-transform-scale-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="css3-transform-scale.xht">css3-transform-scale</a></td>
+ <td><a href="reference/css3-transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-002-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="css3-transform-scale-002.xht">css3-transform-scale-002</a></td>
+ <td><a href="reference/css3-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-001.xht">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-002.xht">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-003.xht">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-004.xht">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-005.xht">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-006.xht">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-007.xht">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-008.xht">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-009.xht">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-010.xht">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-011.xht">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-012.xht">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-013.xht">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-014.xht">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-015.xht">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-016.xht">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-017.xht">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-001-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-001.xht">transform-scale-001</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5, 0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5, 0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-002-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-002.xht">transform-scale-002</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-percent-001-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-percent-001.xht">transform-scale-percent-001</a></td>
+ <td><a href="reference/transform-scale-percent-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(50%, 50%)
+ <ul class="assert">
+ <li>This tests that scale(50%, 50%) does nothing, because scale() is defined to take numbers and not percentages.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scalex">
+ <!-- 6 tests -->
+ <tr id="svg-scalex-001-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scalex-001-15.1.#funcdef-scalex" class="">
+ <td>
+ <a href="transform-scalex-001.xht">transform-scalex-001</a></td>
+ <td><a href="reference/transform-scalex-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleX(0.5)
+ <ul class="assert">
+ <li>This tests that scaleX(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scaley">
+ <!-- 6 tests -->
+ <tr id="svg-scaley-001-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scaley-001-15.1.#funcdef-scaley" class="">
+ <td>
+ <a href="transform-scaley-001.xht">transform-scaley-001</a></td>
+ <td><a href="reference/transform-scaley-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleY(0.5)
+ <ul class="assert">
+ <li>This tests that scaleY(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-skew">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.1.#funcdef-skewx">
+ <!-- 27 tests -->
+ <tr id="svg-skewx-001-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-skewy">
+ <!-- 25 tests -->
+ <tr id="svg-skewy-001-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translate">
+ <!-- 84 tests -->
+ <tr id="svg-translate-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-002.xht">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-003.xht">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-004.xht">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-005.xht">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-006.xht">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-007.xht">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-008.xht">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-026.xht">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-027.xht">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-028.xht">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-029.xht">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-030.xht">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-031.xht">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-032.xht">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-049.xht">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-050.xht">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-051.xht">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-052.xht">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-053.xht">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-054.xht">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-055.xht">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-001-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-001.xht">transform-translate-001</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-002-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-002.xht">transform-translate-002</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-003-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-003.xht">transform-translate-003</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(25px, 25px) translate(25px, 25px)
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-004-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-004.xht">transform-translate-004</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) plus relative positioning 25px to the bottom right is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-005-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-005.xht">transform-translate-005</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translatex">
+ <!-- 65 tests -->
+ <tr id="svg-translatex-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-001-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-001.xht">transform-translatex-001</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px)
+ <ul class="assert">
+ <li>This tests that translatex(50px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-002-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-002.xht">transform-translatex-002</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-003-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-003.xht">transform-translatex-003</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(25px) translatex(25px)
+ <ul class="assert">
+ <li>This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-004-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-004.xht">transform-translatex-004</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-005-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-005.xht">transform-translatex-005</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several X-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translatey">
+ <!-- 65 tests -->
+ <tr id="svg-translatey-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-001-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-001.xht">transform-translatey-001</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px)
+ <ul class="assert">
+ <li>This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-002-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-002.xht">transform-translatey-002</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-003-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-003.xht">transform-translatey-003</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(25px) translatey(25px)
+ <ul class="assert">
+ <li>This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-004-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-004.xht">transform-translatey-004</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-005-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-005.xht">transform-translatey-005</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Y-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">15.2 3D Transform Functions</a></th></tr>
+ <!-- 43 tests -->
+ <tr id="css-rotate-2d-3d-001-15.2" class="">
+ <td>
+ <a href="css-rotate-2d-3d-001.xht">css-rotate-2d-3d-001</a></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>2D rotation with 3D rotation
+ <ul class="assert">
+ <li>This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-x-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-X-negative.xht">css-transform-3d-rotate3d-x-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate the 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-x-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-X-positive.xht">css-transform-3d-rotate3d-x-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-y-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Y-negative.xht">css-transform-3d-rotate3d-y-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-y-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Y-positive.xht">css-transform-3d-rotate3d-y-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-z-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Z-negative.xht">css-transform-3d-rotate3d-z-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-z-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Z-positive.xht">css-transform-3d-rotate3d-z-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for 90 degree on Z-axis would cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatex-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateX-negative.xht">css-transform-3d-rotatex-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatex-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateX-positive.xht">css-transform-3d-rotatex-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatey-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateY-negative.xht">css-transform-3d-rotatey-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatey-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateY-positive.xht">css-transform-3d-rotatey-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatez-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateZ-negative.xht">css-transform-3d-rotatez-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatez-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateZ-positive.xht">css-transform-3d-rotatez-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for 90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-transform-style-15.2" class="">
+ <td>
+ <a href="css-transform-3d-transform-style.xht">css-transform-3d-transform-style</a></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with transform-style on nested elements
+ <ul class="assert">
+ <li>Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-004-15.2" class="">
+ <td>
+ <a href="regions-transforms-004.xht">regions-transforms-004</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region using a 3D transform
+ <ul class="assert">
+ <li>This test checks that a 3D transform can be applied to a region</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-005-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-005.xht">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region
+ <ul class="assert">
+ <li>Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-006-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-006.xht">regions-transforms-006</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on region with named flow (text) content that overflows
+ <ul class="assert">
+ <li>Test checks that content flowed in a region and overflowing it is still rendered if the region has a 3D transform applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-016-15.2" class="">
+ <td>
+ <a href="regions-transforms-016.xht">regions-transforms-016</a></td>
+ <td><a href="reference/regions-transforms-016-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: 3D transform on named flow content with perspective()
+ <ul class="assert">
+ <li>This test checks that a 3D transform is applied with perspective to named flow content.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-018-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-018.xht">regions-transforms-018</a></td>
+ <td><a href="reference/regions-transforms-018-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content that overflows a region
+ <ul class="assert">
+ <li>Test checks that content that is transformed does not clip when flowed in a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-019-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-image-scale-001.xht">transform3d-image-scale-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on a Bitmap
+ <ul class="assert">
+ <li>This tests that applying a simple 3D transform to a bitmap image works properly. This is motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-image-scale-002.xht">transform3d-image-scale-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on an SVG
+ <ul class="assert">
+ <li>This is the same as transform3d-image-scale-001.html, but using an SVG image instead of a bitmap.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-001.xht">transform3d-matrix3d-001</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-002.xht">transform3d-matrix3d-002</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-003-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-003.xht">transform3d-matrix3d-003</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-004-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-004.xht">transform3d-matrix3d-004</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-005-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-005.xht">transform3d-matrix3d-005</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotate3d-001.xht">transform3d-rotate3d-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(1, 0, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(1, 0, 0, 45deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotate3d-002.xht">transform3d-rotate3d-002</a></strong></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(0, 1, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(0, 1, 0, 45deg) is the same as rotatey(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-001.xht">transform3d-rotatex-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(45deg) rotatey(360deg) rotatex(360deg)
+ <ul class="assert">
+ <li>This tests that rotatex(45deg) rotatey(360deg) rotatex(360deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-15.2" class="">
+ <td>
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatey-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatey-001.xht">transform3d-rotatey-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateY(45deg) rotateY(360deg)
+ <ul class="assert">
+ <li>This tests that rotateY(45deg) rotateY(360deg) has the same effect as just rotateY(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-001.xht">transform3d-scale-001</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 2)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 2) on some text has the same effect as scaleX(2) scaleY(2). The Z part should be irrelevant, because the text is flat.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-002.xht">transform3d-scale-002</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)
+ <ul class="assert">
+ <li>This tests that rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-003-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-003.xht">transform3d-scale-003</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scaleX(2) scaleY(2) scaleZ(2)
+ <ul class="assert">
+ <li>This is the same as transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2) scaleZ(2) instead of scale3D(2, 2, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-005-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-005.xht">transform3d-scale-005</a></strong></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This tests that rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-006-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-006.xht">transform3d-scale-006</a></strong></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scaleZ(2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This is identical to transform3d-scale-005-ref.html, except with scaleZ(2) instead of scale3d(1, 1, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-007-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-007.xht">transform3d-scale-007</a></strong></td>
+ <td><a href="reference/transform3d-scale-007-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX(180deg) scaleZ(-1)
+ <ul class="assert">
+ <li>This tests that rotateX(180deg) scaleZ(-1) is the same as scaleY(-1). (The scaleZ(-1) should have no effect here.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translate3d-001-15.2" class="">
+ <td>
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translatez-001-15.2" class="">
+ <td>
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-matrix3d">
+ <!-- 5 tests -->
+ <tr id="transform3d-matrix3d-001-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-001.xht">transform3d-matrix3d-001</a></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-002-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-002.xht">transform3d-matrix3d-002</a></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-003-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-003.xht">transform3d-matrix3d-003</a></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-004-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-004.xht">transform3d-matrix3d-004</a></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-005-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-005.xht">transform3d-matrix3d-005</a></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-perspective">
+ <!-- 1 tests -->
+ <tr id="transform3d-rotatex-perspective-001-15.2.#funcdef-perspective" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotate3d">
+ <!-- 2 tests -->
+ <tr id="transform3d-rotate3d-001-15.2.#funcdef-rotate3d" class="">
+ <td>
+ <a href="transform3d-rotate3d-001.xht">transform3d-rotate3d-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(1, 0, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(1, 0, 0, 45deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-002-15.2.#funcdef-rotate3d" class="">
+ <td>
+ <a href="transform3d-rotate3d-002.xht">transform3d-rotate3d-002</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(0, 1, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(0, 1, 0, 45deg) is the same as rotatey(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatex">
+ <!-- 4 tests -->
+ <tr id="transform3d-rotatex-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-001.xht">transform3d-rotatex-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(45deg) rotatey(360deg) rotatex(360deg)
+ <ul class="assert">
+ <li>This tests that rotatex(45deg) rotatey(360deg) rotatex(360deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatey">
+ <!-- 2 tests -->
+ <tr id="rotatey-15.2.#funcdef-rotatey" class="primary">
+ <td><strong>
+ <a href="rotateY.xht">rotatey</a></strong></td>
+ <td><a href="reference/rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY
+ <ul class="assert">
+ <li>When the value of transform is 'rotateY(90deg)', the foward side of a transformed element disappears.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatey-001-15.2.#funcdef-rotatey" class="">
+ <td>
+ <a href="transform3d-rotatey-001.xht">transform3d-rotatey-001</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateY(45deg) rotateY(360deg)
+ <ul class="assert">
+ <li>This tests that rotateY(45deg) rotateY(360deg) has the same effect as just rotateY(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatez">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.2.#funcdef-scale3d">
+ <!-- 8 tests -->
+ <tr id="transform3d-image-scale-001-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-image-scale-001.xht">transform3d-image-scale-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on a Bitmap
+ <ul class="assert">
+ <li>This tests that applying a simple 3D transform to a bitmap image works properly. This is motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-002-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-image-scale-002.xht">transform3d-image-scale-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on an SVG
+ <ul class="assert">
+ <li>This is the same as transform3d-image-scale-001.html, but using an SVG image instead of a bitmap.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-001-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-001.xht">transform3d-scale-001</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 2)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 2) on some text has the same effect as scaleX(2) scaleY(2). The Z part should be irrelevant, because the text is flat.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-002-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-002.xht">transform3d-scale-002</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)
+ <ul class="assert">
+ <li>This tests that rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-003-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-003.xht">transform3d-scale-003</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scaleX(2) scaleY(2) scaleZ(2)
+ <ul class="assert">
+ <li>This is the same as transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2) scaleZ(2) instead of scale3D(2, 2, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-005-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-005.xht">transform3d-scale-005</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This tests that rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-006-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-006.xht">transform3d-scale-006</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scaleZ(2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This is identical to transform3d-scale-005-ref.html, except with scaleZ(2) instead of scale3d(1, 1, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-scalez">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.2.#funcdef-translate3d">
+ <!-- 1 tests -->
+ <tr id="transform3d-translate3d-001-15.2.#funcdef-translate3d" class="">
+ <td>
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-translatez">
+ <!-- 1 tests -->
+ <tr id="transform3d-translatez-001-15.2.#funcdef-translatez" class="">
+ <td>
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-16.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-16.xht
new file mode 100644
index 00000000000..ece5ad8c43b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-16.xht
@@ -0,0 +1,182 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The Transform Function Lists - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Function Lists (13 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s16">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s16">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists">16 The Transform Function Lists</a></th></tr>
+ <!-- 13 tests -->
+ <tr id="svg-transform-list-separations-001-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-singular-001-16" class="primary">
+ <td><strong>
+ <a href="transform-singular-001.xht">transform-singular-001</a></strong></td>
+ <td><a href="reference/transform-singular-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix(1, 1, 1, 1, 0, 0)
+ <ul class="assert">
+ <li>&quot;If a transform function causes the current transformation matrix (CTM) of an object to be non-invertible, the object and its content do not get displayed.&quot; The matrix (1, 1, 1, 1) has determinant 1*1 - 1*1 = 0 and therefore is not invertible, so nothing should display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-16" class="">
+ <td>
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-17.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-17.xht
new file mode 100644
index 00000000000..a662f4e568c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-17.xht
@@ -0,0 +1,51 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Interpolation of Transforms - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of Transforms (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s17">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s17">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-transforms">17 Interpolation of Transforms</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#none-none-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#none-transform-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#other-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#transform-transform-animation">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-18.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-18.xht
new file mode 100644
index 00000000000..09d7fe6ce81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-18.xht
@@ -0,0 +1,60 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Transform function primitives and derivatives - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Transform function primitives and derivatives (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s18">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s18">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-primitives">18 Transform function primitives and derivatives</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#interpolation-two-three-dimensional-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#rotate-three-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#rotate3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#scale-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#scale3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#translate-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#translate3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-19.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-19.xht
new file mode 100644
index 00000000000..429cfd19a21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-19.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Interpolation of primitives and derived transform functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of primitives and derived transform functions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s19">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s19">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-transform-functions">19 Interpolation of primitives and derived transform functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-2.xht
new file mode 100644
index 00000000000..b21c460247a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-2.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Module Interactions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Module Interactions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#module-interactions">2 Module Interactions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-20.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-20.xht
new file mode 100644
index 00000000000..559e6935fbb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-20.xht
@@ -0,0 +1,93 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Interpolation of Matrices - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of Matrices (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s20">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#matrix-interpolation">20 Interpolation of Matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#supporting-functions">20.1 Supporting functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-2d-matrices">20.2 Interpolation of 2D matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#decomposing-a-2d-matrix">20.2.1 Decomposing a 2D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-decomposed-2d-matrix-values">20.2.2 Interpolation of decomposed 2D matrix values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#recomposing-to-a-2d-matrix">20.2.3 Recomposing to a 2D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-3d-matrices">20.3 Interpolation of 3D matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#decomposing-a-3d-matrix">20.3.1 Decomposing a 3D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-decomposed-3d-matrix-values">20.3.2 Interpolation of decomposed 3D matrix values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#recomposing-to-a-3d-matrix">20.3.3 Recomposing to a 3D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht
new file mode 100644
index 00000000000..e248f0bd1b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-21.xht
@@ -0,0 +1,144 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Mathematical Description of Transform Functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Mathematical Description of Transform Functions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s21">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s21">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#mathematical-description">21 Mathematical Description of Transform Functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#MatrixDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#PerspectiveDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Rotate3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#RotateDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Scale3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#ScaleDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewXDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewYDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Translate3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#TranslateDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#abstract">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conformance">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conformance-classes">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#contents">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conventions">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css21">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css3bg">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css3val">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#cssom-view">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#experimental">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#informative">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#issues-index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#normative">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#partial">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#property-index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#references">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#rfc2119">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#smil3">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#status">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#subtitle">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#svg11">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#testing">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#title">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-3.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-3.xht
new file mode 100644
index 00000000000..2cbda4e1952
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-3.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Values - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>CSS Values (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#css-values">3 CSS Values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-4.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-4.xht
new file mode 100644
index 00000000000..c3907a03d79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-4.xht
@@ -0,0 +1,130 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Terminology - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Terminology (5 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s4">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s4">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#terminology">4 Terminology</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#2d-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#3d-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#3d-rendering-context">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#accumulated-3d-transformation-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#bounding-box">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#current-transformation-matrix-ctm">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#identity-transform-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#local-coordinate-system">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#perspective-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#transformable-element">
+ <!-- 5 tests -->
+ <tr id="transform-display-001-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-001.xht">transform-display-001</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Inline-Block
+ <ul class="assert">
+ <li>Inline-blocks are atomic inline-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-002-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-002.xht">transform-display-002</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table
+ <ul class="assert">
+ <li>Inline-blocks are block-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-003-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-003.xht">transform-display-003</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Inline-Table
+ <ul class="assert">
+ <li>Inline-tables are atomic inline-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-004-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-004.xht">transform-display-004</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>List-Item
+ <ul class="assert">
+ <li>List-items are block-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-image-001-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-image-001.xht">transform-image-001</a></strong></td>
+ <td><a href="reference/transform-image-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformed &lt;img&gt;
+ <ul class="assert">
+ <li>An &lt;img&gt; is a transformable element, so transforms should work on it the same as any image. This test compares an img element with a 90deg rotation transform applied to a different image that was pre-rotated by 90 degrees.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s4.#transformation-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#user-coordinate-system">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-5.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-5.xht
new file mode 100644
index 00000000000..5bd6acff1c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-5.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Two Dimensional Subset - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Two Dimensional Subset (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s5">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s5">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#two-dimensional-subset">5 Two Dimensional Subset</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-6.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-6.xht
new file mode 100644
index 00000000000..c0f7b9434c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-6.xht
@@ -0,0 +1,614 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The Transform Rendering Model - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Rendering Model (48 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s6">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-rendering">6 The Transform Rendering Model</a></th></tr>
+ <!-- 32 tests -->
+ <tr id="css-transforms-3d-on-anonymous-block-001-6" class="primary">
+ <td><strong>
+ <a href="css-transforms-3d-on-anonymous-block-001.xht">css-transforms-3d-on-anonymous-block-001</a></strong></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.xht">=</a> </td>
+ <td></td>
+ <td>No 3D transforms on anonymous block boxes
+ <ul class="assert">
+ <li>3D transforms can not be applied to anonymous block boxes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-001-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-001.xht">transform-abspos-001</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (left/top)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-002-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-002.xht">transform-abspos-002</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (left/top offsets)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-003-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-003.xht">transform-abspos-003</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (right/bottom offsets)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. (This test differs from the previous in that it uses right/bottom properties for positioning instead of left/top.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-004-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-004.xht">transform-abspos-004</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (bottom/right)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that it uses the right/bottom properties for positioning instead of top/left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-005-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-005.xht">transform-abspos-005</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (bottom/right)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. Therefore, this test should be offset by one pixel from the reference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-006-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-006.xht">transform-abspos-006</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (table)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that the outer div is a table, which might cause buggy rendering engines to treat it differently.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-007-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-007.xht">transform-abspos-007</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (inline-table)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. This test differs from transform-abspos-002.html in that the outer div has display: inline-table, which might cause it to render differently in buggy UAs.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-007-6" class="primary svg">
+ <td><strong>
+ <a href="transform-background-007.xht">transform-background-007</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (propagated body with root element transform)
+ <ul class="assert">
+ <li>&quot;If the root element is transformed, the transformation applies to the entire canvas, including any background specified for the root element. Since the background painting area for the root element is the entire canvas, which is infinite, the transformation might cause parts of the background that were originally off-screen to appear. For example, if the root element's background were repeating dots, and a transformation of 'scale(0.5)' were specified on the root element, the dots would shrink to half their size, but there will be twice as many, so they still cover the whole viewport.&quot; In this case, the background is specified on the body but propagates to the root element. The transform is on the root element, so it needs to affect the background. The rotation 90 degrees clockwise means that most of the screen will be filled with triangles that were originally above the top of the viewport; the original top row of triangles will now be on the left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-008-6" class="primary svg">
+ <td><strong>
+ <a href="transform-background-008.xht">transform-background-008</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (root element background and transform)
+ <ul class="assert">
+ <li>This is exactly the same as transform-background-007.html, except that the background is specified directly on the root element instead of being specified on the body and propagating to the root.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-compound-001-6" class="primary">
+ <td><strong>
+ <a href="transform-compound-001.xht">transform-compound-001</a></strong></td>
+ <td><a href="reference/transform-compound-ref.xht">=</a> <a href="reference/transform-compound-notref-1.xht">&#x2260;</a> <a href="reference/transform-compound-notref-2.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Compound Transforms
+ <ul class="assert">
+ <li>Tests that applying multiple transforms to an element is the same as applying the transforms in the same order to nested elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-descendant-001-6" class="primary">
+ <td><strong>
+ <a href="transform-descendant-001.xht">transform-descendant-001</a></strong></td>
+ <td><a href="reference/transform-descendant-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transform Affects Descendant
+ <ul class="assert">
+ <li>This just tests that a transform on a container div moves its contents, not just the div itself.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-001-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-001.xht">transform-fixed-bg-001</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background
+ <ul class="assert">
+ <li>&quot;Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms.&quot; Thus if we have a div that's 100px square aligned at the top left of the page, giving it a fixed background and translating it 50px down and right should be the same as giving it a non-fixed background that's translated 50px down and right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-002-6" class="primary dom svg">
+ <td><strong>
+ <a href="transform-fixed-bg-002.xht">transform-fixed-bg-002</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with scrolling)
+ <ul class="assert">
+ <li>&quot;Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms.&quot; Here we translate the div 150px down instead of 50px, and also scroll down 100px. This should be the same as the previous test because the background image is 100px square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-003-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-003.xht">transform-fixed-bg-003</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with rotation)
+ <ul class="assert">
+ <li>This is the same as transform-fixed-bg-001, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-004-6" class="primary dom svg">
+ <td><strong>
+ <a href="transform-fixed-bg-004.xht">transform-fixed-bg-004</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with rotation and scrolling)
+ <ul class="assert">
+ <li>This is the same as transform-fixed-bg-002, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-005-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-005.xht">transform-fixed-bg-005</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (no-op transform)
+ <ul class="assert">
+ <li>This affects that adding a no-op transform to an element with a fixed background doesn't affect rendering.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-006-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-006.xht">transform-fixed-bg-006</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (transform of intermediate)
+ <ul class="assert">
+ <li>This tests that adding a rotation to a non-root element doesn't affect rendering of fixed backgrounds on its descendants.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-007-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-007.xht">transform-fixed-bg-007</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (transform on root)
+ <ul class="assert">
+ <li>This tests that a transform on the root element *does* affect the rendering of fixed backgrounds on its descendants.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-generated-001-6" class="primary">
+ <td><strong>
+ <a href="transform-generated-001.xht">transform-generated-001</a></strong></td>
+ <td><a href="reference/transform-generated-001-ref.xht">=</a> <a href="reference/transform-generated-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Generated Content (block)
+ <ul class="assert">
+ <li>Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated block box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-generated-002-6" class="primary">
+ <td><strong>
+ <a href="transform-generated-002.xht">transform-generated-002</a></strong></td>
+ <td><a href="reference/transform-generated-002-ref.xht">=</a> <a href="reference/transform-generated-002-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Generated Content (inline)
+ <ul class="assert">
+ <li>Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated inline box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-iframe-001-6" class="primary">
+ <td><strong>
+ <a href="transform-iframe-001.xht">transform-iframe-001</a></strong></td>
+ <td><a href="reference/transform-iframe-ref.xht">=</a> </td>
+ <td></td>
+ <td>Iframe
+ <ul class="assert">
+ <li>This test ensures that transforms cannot move the contents of an iframe onto the parent page. The iframe here contains a red box shifted 500px down and to the right, outside the iframe's visible area. overflow: hidden ensures that scrollbars are not tested.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-overflow-001-6" class="primary">
+ <td><strong>
+ <a href="transform-overflow-001.xht">transform-overflow-001</a></strong></td>
+ <td><a href="reference/transform-overflow-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>overflow: auto
+ <ul class="assert">
+ <li>&quot;. . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area.&quot; This tests that the effect of overflow: auto for a translation is the same as for an equivalent relative positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-overflow-002-6" class="primary">
+ <td><strong>
+ <a href="transform-overflow-002.xht">transform-overflow-002</a></strong></td>
+ <td><a href="reference/transform-overflow-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>overflow: scroll
+ <ul class="assert">
+ <li>&quot;. . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area.&quot; This tests that the effect of overflow: scroll for a translation is the same as for an equivalent relative positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-001-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-001.xht">transform-root-bg-001</a></strong></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(-1) on Root Element With Background
+ <ul class="assert">
+ <li>The background here extends to the whole canvas, and a transform on the root element must transform the whole canvas, background included. Thus the entire tiled background of left-pointing triangles needs to be rotated 180 degrees (same as scale(-1)) around the top center of the viewport, which is the default transform-origin of 50% 50% in this case. An implementation that doesn't draw the background on parts of the canvas outside the viewport might incorrectly display nothing, because the part of the background that's supposed to be rotated into view was initially above the visible part of the canvas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-002-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-002.xht">transform-root-bg-002</a></strong></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(-1) on Root Element With Background On Body
+ <ul class="assert">
+ <li>Identical to transform-root-bg-001.html, except that the background property is put on the body rather than the root element. This should make no difference, because the body's background propagates up to the canvas if there's no root element background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-003-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-003.xht">transform-root-bg-003</a></strong></td>
+ <td><a href="reference/transform-root-bg-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5) on Root Element With Background
+ <ul class="assert">
+ <li>This is the same as transform-root-bg-001.html, except that it uses scale(0.5) instead of scale(-1). It also specifies a transform-origin, because the default of 50% 50% wouldn't work well with the way the reference image is constructed.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-004-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-004.xht">transform-root-bg-004</a></strong></td>
+ <td><a href="reference/transform-root-bg-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(-1) On Body With Background
+ <ul class="assert">
+ <li>This is like transform-root-bg-002.html, except that the transform is specified on the body element, not just the background. The background gets lifted to the root element, but the transform does not, so the transform has no effect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-001-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-001.xht">transform-stacking-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, transform: scale(1)
+ <ul class="assert">
+ <li>This tests that specifying the identity transform on an element still causes it to create a new stacking context (unlike transform: none).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-002-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-002.xht">transform-stacking-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, transform: none
+ <ul class="assert">
+ <li>This tests that &quot;transform: none&quot; does not create a new stacking context -- it should have no effect at all.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-003-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-003.xht">transform-stacking-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, invalid transform value
+ <ul class="assert">
+ <li>This tests that specifying the transform property with an invalid value does not create a new stacking context -- it should have no effect at all, same as &quot;transform: none&quot;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-004-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-004.xht">transform-stacking-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, inherited transform: none
+ <ul class="assert">
+ <li>This tests that specifying &quot;transform: inherit&quot; (when the parent has no transform) does not create a new stacking context -- it should have no effect at all, same as &quot;transform: none&quot;.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s6.#issue-ca2c412c">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.#transformation-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering">6.1 3D Transform Rendering</a></th></tr>
+ <!-- 17 tests -->
+ <tr id="css-transforms-3d-on-anonymous-block-001-6.1" class="">
+ <td>
+ <a href="css-transforms-3d-on-anonymous-block-001.xht">css-transforms-3d-on-anonymous-block-001</a></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.xht">=</a> </td>
+ <td></td>
+ <td>No 3D transforms on anonymous block boxes
+ <ul class="assert">
+ <li>3D transforms can not be applied to anonymous block boxes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_45deg.xht">rotate_45deg</a></strong></td>
+ <td><a href="reference/rotate_45deg-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_x_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_x_45deg.xht">rotate_x_45deg</a></strong></td>
+ <td><a href="reference/rotate_x_45deg-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_y_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_y_45deg.xht">rotate_y_45deg</a></strong></td>
+ <td><a href="reference/rotate_y_45deg-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scalex-6.1" class="primary">
+ <td><strong>
+ <a href="scalex.xht">scalex</a></strong></td>
+ <td><a href="reference/scalex-ref.xht">=</a> </td>
+ <td></td>
+ <td>test scale x
+ <ul class="assert">
+ <li>scale x 2</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scaley-6.1" class="primary">
+ <td><strong>
+ <a href="scaley.xht">scaley</a></strong></td>
+ <td><a href="reference/scaley-ref.xht">=</a> </td>
+ <td></td>
+ <td>test scale y
+ <ul class="assert">
+ <li>scale y 2</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-3d-rotatey-stair-above-001-6.1" class="primary">
+ <td><strong>
+ <a href="transform-3d-rotateY-stair-above-001.xht">transform-3d-rotatey-stair-above-001</a></strong></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>A rotateY transform with perspective should result in a trapezoid.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-3d-rotatey-stair-below-001-6.1" class="primary">
+ <td><strong>
+ <a href="transform-3d-rotateY-stair-below-001.xht">transform-3d-rotatey-stair-below-001</a></strong></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>A rotateY transform with perspective should result in a trapezoid.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-001-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-001.xht">transform3d-sorting-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting
+ <ul class="assert">
+ <li>The red box here is translated in the negative Z-direction, so it should render beneath the lime box even though it comes later in DOM order.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-002-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-002.xht">transform3d-sorting-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Rotation
+ <ul class="assert">
+ <li>The red box here is translated to the same extent as the lime box, so they should render in stacking context order: the lime box is on top, because it's later in the DOM. But then we apply rotatex(180deg) to the whole thing, so the lime box should wind up on top in the end.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-003-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-003.xht">transform3d-sorting-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With No Preserve-3D
+ <ul class="assert">
+ <li>The red box here is translated to above the lime box, but they aren't in the same 3D rendering context, so they should be drawn in DOM order regardless: lime box on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-004-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-004.xht">transform3d-sorting-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Preserve-3D on Grandparent
+ <ul class="assert">
+ <li>This is the same as transform3d-sorting-003.html, except with two wrapper divs. 'transform-style: preserve-3d' only affects children, not grandchildren, so the two divs with backgrounds are still in different rendering contexts and the Z-position should still not affect stacking.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-005-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-005.xht">transform3d-sorting-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Background on Parent
+ <ul class="assert">
+ <li>This tests that if a parent has 'transform-style: preserve-3d', it's in the same rendering context as its children. Thus the translateZ(10px) puts the child above it, and the rotateX(180deg) puts it below, so the lime parent is rendered on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-006-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-006.xht">transform3d-sorting-006</a></td>
+ <td><a href="reference/transform3d-sorting-006-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Intersection
+ <ul class="assert">
+ <li>This tests that when two boxes intersect in a simple fashion, they're rendered according to Newell's algorithm.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-6.1" class="primary">
+ <td><strong>
+ <a href="translate.xht">translate</a></strong></td>
+ <td><a href="reference/translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>test translate
+ <ul class="assert">
+ <li>translate x, y</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-css-3d-polygon-cycle-6.1" class="primary svg">
+ <td><strong>
+ <a href="ttwf-css-3d-polygon-cycle.xht">ttwf-css-3d-polygon-cycle</a></strong></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>3d transform polygon cycle
+ <ul class="assert">
+ <li>The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-css-3d-polygon-cycle-mismatch-6.1" class="primary svg">
+ <td><strong>
+ <a href="ttwf-css-3d-polygon-cycle-mismatch.xht">ttwf-css-3d-polygon-cycle-mismatch</a></strong></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>3d transform polygon cycle
+ <ul class="assert">
+ <li>The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s6.1.#accumulated-3d-transformation-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#issue-34d952cb">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#issue-878a3175">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#perspective-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#processing-of-perspective-transformed-boxes">6.2 Processing of Perspective-Transformed Boxes</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2.#issue-44e00fb5">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2.#issue-6b4d59fb">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-7.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-7.xht
new file mode 100644
index 00000000000..bb084a722e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-7.xht
@@ -0,0 +1,1149 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The transform Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform Property (102 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s7">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s7">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-property">7 The transform Property</a></th></tr>
+ <!-- 101 tests -->
+ <tr id="2d-rotate-001-7" class="primary css3, rotate, svg">
+ <td><strong>
+ <a href="2d-rotate-001.xht">2d-rotate-001</a></strong></td>
+ <td><a href="reference/2d-rotate-ref.xht">=</a> <a href="reference/2d-rotate-notref.xht">&#x2260;</a> </td>
+ <td><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>CSS Transform using 2d rotate()
+ <ul class="assert">
+ <li>asserting that you can rotate an element with CSS</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="2d-rotate-js-7" class="primary css3, rotate, svg">
+ <td><strong>
+ <a href="2d-rotate-js.xht">2d-rotate-js</a></strong></td>
+ <td></td>
+ <td><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Rotate via javascript must show the correct computed rotation
+ <ul class="assert">
+ <li>Asserting that you can rotate an element with JS and it show up in CSS computed values not as a matrix but as the rotation</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="backface-visibility-hidden-001-7" class="primary">
+ <td><strong>
+ <a href="backface-visibility-hidden-001.xht">backface-visibility-hidden-001</a></strong></td>
+ <td><a href="reference/backface-visibility-hidden-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with backface visibility = hidden
+ <ul class="assert">
+ <li>When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-scale-nested-001-7" class="primary">
+ <td><strong>
+ <a href="css-scale-nested-001.xht">css-scale-nested-001</a></strong></td>
+ <td><a href="reference/css-scale-nested-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale 0 on a parent with a child
+ <ul class="assert">
+ <li>Child square element is transformed (scaled to zero) along with the parent element</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-rotate-7" class="primary">
+ <td><strong>
+ <a href="css-transform-inherit-rotate.xht">css-transform-inherit-rotate</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms rotate inheritance on div element
+ <ul class="assert">
+ <li>Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-scale-7" class="primary">
+ <td><strong>
+ <a href="css-transform-inherit-scale.xht">css-transform-inherit-scale</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms scale 2 inheritance on div elements
+ <ul class="assert">
+ <li>While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-001-7" class="primary">
+ <td><strong>
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></strong></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-7" class="primary">
+ <td><strong>
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></strong></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-style-evaluation-validation-7" class="primary dom script">
+ <td><strong>
+ <a href="css-transform-style-evaluation-validation.xht">css-transform-style-evaluation-validation</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>property
+ </td>
+ </tr>
+ <tr id="css3-transform-rotatey-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-rotateY.xht">css3-transform-rotatey</a></strong></td>
+ <td><a href="reference/css3-transform-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY function
+ <ul class="assert">
+ <li>box width should be equal to projection width if transform rotateY applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-scale.xht">css3-transform-scale</a></strong></td>
+ <td><a href="reference/css3-transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-002-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-scale-002.xht">css3-transform-scale-002</a></strong></td>
+ <td><a href="reference/css3-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-x-7" class="">
+ <td>
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-xy-7" class="">
+ <td>
+ <a href="perspective-origin-xy.xht">perspective-origin-xy</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin '&lt;x,y&gt;' visually moves the objects '&lt;-x,-y&gt;*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-0-7" class="">
+ <td>
+ <a href="perspective-translateZ-0.xht">perspective-translatez-0</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that points on the z=0 plane are unchanged</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-negative-7" class="">
+ <td>
+ <a href="perspective-translateZ-negative.xht">perspective-translatez-negative</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a negative Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-positive-7" class="">
+ <td>
+ <a href="perspective-translateZ-positive.xht">perspective-translatez-positive</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a positive Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate-180-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-180-degrees-001.xht">rotate-180-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 180 deg
+ </td>
+ </tr>
+ <tr id="rotate-270-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-270-degrees-001.xht">rotate-270-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 270 deg
+ </td>
+ </tr>
+ <tr id="rotate-90-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-90-degrees-001.xht">rotate-90-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 90 deg
+ </td>
+ </tr>
+ <tr id="scale-optional-second-001-7" class="primary">
+ <td><strong>
+ <a href="scale-optional-second-001.xht">scale-optional-second-001</a></strong></td>
+ <td><a href="reference/scale-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and one parameter
+ <ul class="assert">
+ <li>If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scale-zero-001-7" class="primary">
+ <td><strong>
+ <a href="scale-zero-001.xht">scale-zero-001</a></strong></td>
+ <td><a href="reference/scale-zero-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and zero values
+ <ul class="assert">
+ <li>If zero value is passed to scale function, it causes the element to disappear.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-2d-getcomputedstyle-001-7" class="primary dom script">
+ <td><strong>
+ <a href="transform-2d-getComputedStyle-001.xht">transform-2d-getcomputedstyle-001</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>CSS 2D transforms correctly report their matrix via getComputedStyle()</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-applies-to-001-7" class="primary">
+ <td><strong>
+ <a href="transform-applies-to-001.xht">transform-applies-to-001</a></strong></td>
+ <td><a href="reference/transform-applies-to-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform applied to elements with 'display' set to 'block'
+ <ul class="assert">
+ <li>The 'transform' property applies to elements with 'display' set to 'block'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-applies-to-002-7" class="primary ahem">
+ <td><strong>
+ <a href="transform-applies-to-002.xht">transform-applies-to-002</a></strong></td>
+ <td><a href="reference/transform-applies-to-002-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>Transform does not apply to non-replaced inline elements
+ <ul class="assert">
+ <li>The 'transform' property does not apply to non-replaced inline elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-001-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-001.xht">transform-background-001</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (rotate right)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-002-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-002.xht">transform-background-002</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (rotate left)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-003-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-003.xht">transform-background-003</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (flip)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-004-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-004.xht">transform-background-004</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (nested flip)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. This file tests that a transform on the parent works correctly, not just on the element itself.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-005-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-005.xht">transform-background-005</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (non-propagated body)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. In this case the scale is applied to the root element, and the background is on the body. The white background on the root element prevents the body's background from propagating to the canvas, so it's just a regular background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-006-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-006.xht">transform-background-006</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> <a href="reference/transform-background-006-notref.xht">&#x2260;</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (propagated body)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. In this case the transform is applied to the body element, but the root element's background is transparent, so the background is actually on the root element instead of the body. Therefore, the transform must not affect the background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-001-7" class="primary">
+ <td><strong>
+ <a href="transform-inherit-001.xht">transform-inherit-001</a></strong></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td></td>
+ <td>'inherit' and em
+ <ul class="assert">
+ <li>The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;As specified, but with relative lengths converted into absolute lengths.&quot; In this test, a parent element has a transform of 1em with a font-size of 25px, and the child has &quot;transform: inherit&quot;. Since the relative length of 1em is converted to an absolute length of 25px before inheritance, the child should be translated by a further 25px, for a total of 50px, even though its font-size is 100px. An implementation that incorrectly inherited 1em without converting it to an absolute length first would translate by 125px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-002-7" class="primary">
+ <td><strong>
+ <a href="transform-inherit-002.xht">transform-inherit-002</a></strong></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td></td>
+ <td>'inherit' and percentages
+ <ul class="assert">
+ <li>The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;As specified, but with relative lengths converted into absolute lengths.&quot; In this test, a parent element has a transform of 10% with a height/width of 400px, and the child has &quot;transform: inherit&quot; and a height/width of 100px. Since percentages are not relative lengths and are inherited as specified, the parent should be translated by 40px and then the child by only 10px, for a total of 50px. An implementation that incorrectly converted the parent's 10% transform into 40px before inheritance would translate the child by a further 40px, for a total of 80px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inline-001-7" class="primary">
+ <td><strong>
+ <a href="transform-inline-001.xht">transform-inline-001</a></strong></td>
+ <td><a href="reference/transform-inline-ref.xht">=</a> <a href="reference/transform-inline-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transformed Inline
+ <ul class="assert">
+ <li>The definition of &quot;transformable element&quot; includes atomic inline-level elements, such as images, but not regular inline-level elements, such as spans. The 'transform' property only applies to transformable elements, so it should have no effect on a span.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-001-7" class="primary">
+ <td><strong>
+ <a href="transform-input-001.xht">transform-input-001</a></strong></td>
+ <td><a href="reference/transform-input-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=text)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-002-7" class="primary">
+ <td><strong>
+ <a href="transform-input-002.xht">transform-input-002</a></strong></td>
+ <td><a href="reference/transform-input-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=file)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-003-7" class="primary">
+ <td><strong>
+ <a href="transform-input-003.xht">transform-input-003</a></strong></td>
+ <td><a href="reference/transform-input-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=search)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-004-7" class="primary">
+ <td><strong>
+ <a href="transform-input-004.xht">transform-input-004</a></strong></td>
+ <td><a href="reference/transform-input-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=tel)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-005-7" class="primary">
+ <td><strong>
+ <a href="transform-input-005.xht">transform-input-005</a></strong></td>
+ <td><a href="reference/transform-input-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=url)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-006-7" class="primary">
+ <td><strong>
+ <a href="transform-input-006.xht">transform-input-006</a></strong></td>
+ <td><a href="reference/transform-input-006-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=email)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-007-7" class="primary">
+ <td><strong>
+ <a href="transform-input-007.xht">transform-input-007</a></strong></td>
+ <td><a href="reference/transform-input-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=password)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-008-7" class="primary">
+ <td><strong>
+ <a href="transform-input-008.xht">transform-input-008</a></strong></td>
+ <td><a href="reference/transform-input-008-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=datetime)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-009-7" class="primary">
+ <td><strong>
+ <a href="transform-input-009.xht">transform-input-009</a></strong></td>
+ <td><a href="reference/transform-input-009-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=date)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-010-7" class="primary">
+ <td><strong>
+ <a href="transform-input-010.xht">transform-input-010</a></strong></td>
+ <td><a href="reference/transform-input-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=month)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-011-7" class="primary">
+ <td><strong>
+ <a href="transform-input-011.xht">transform-input-011</a></strong></td>
+ <td><a href="reference/transform-input-011-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=week)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-012-7" class="primary">
+ <td><strong>
+ <a href="transform-input-012.xht">transform-input-012</a></strong></td>
+ <td><a href="reference/transform-input-012-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=time)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-013-7" class="primary">
+ <td><strong>
+ <a href="transform-input-013.xht">transform-input-013</a></strong></td>
+ <td><a href="reference/transform-input-013-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=datetime-local)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-014-7" class="primary">
+ <td><strong>
+ <a href="transform-input-014.xht">transform-input-014</a></strong></td>
+ <td><a href="reference/transform-input-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=number)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-015-7" class="primary">
+ <td><strong>
+ <a href="transform-input-015.xht">transform-input-015</a></strong></td>
+ <td><a href="reference/transform-input-015-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=range)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-016-7" class="primary">
+ <td><strong>
+ <a href="transform-input-016.xht">transform-input-016</a></strong></td>
+ <td><a href="reference/transform-input-016-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=color)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-017-7" class="primary">
+ <td><strong>
+ <a href="transform-input-017.xht">transform-input-017</a></strong></td>
+ <td><a href="reference/transform-input-017-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=checkbox)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-018-7" class="primary">
+ <td><strong>
+ <a href="transform-input-018.xht">transform-input-018</a></strong></td>
+ <td><a href="reference/transform-input-018-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=radio)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-019-7" class="primary">
+ <td><strong>
+ <a href="transform-input-019.xht">transform-input-019</a></strong></td>
+ <td><a href="reference/transform-input-019-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=submit)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-001-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-001.xht">transform-percent-001</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-002-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-002.xht">transform-percent-002</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateY)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-003-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-003.xht">transform-percent-003</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-004-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-004.xht">transform-percent-004</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translateY)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-005-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-005.xht">transform-percent-005</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translateY and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-006-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-006.xht">transform-percent-006</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-007-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-007.xht">transform-percent-007</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateY and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-008-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-008.xht">transform-percent-008</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (border box)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box. This test adds a thicker border plus margin and padding to make any discrepancies more evident.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-propagate-inherit-boolean-001-7" class="primary">
+ <td><strong>
+ <a href="transform-propagate-inherit-boolean-001.xht">transform-propagate-inherit-boolean-001</a></strong></td>
+ <td><a href="reference/transform-propagate-inherit-boolean-ref.xht">=</a> </td>
+ <td></td>
+ <td>em on Multiple Elements
+ <ul class="assert">
+ <li>This tests that when a 'transform' rule using em affects two elements with different font-sizes, it affects each according to its respective font-size, rather than using the same length for both. See: https://bugzilla.mozilla.org/show_bug.cgi?id=460440</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rounding-001-7" class="primary">
+ <td><strong>
+ <a href="transform-rounding-001.xht">transform-rounding-001</a></strong></td>
+ <td><a href="reference/transform-rounding-ref.xht">=</a> </td>
+ <td></td>
+ <td>Rounding
+ <ul class="assert">
+ <li>This tests that the implementation does not round intermediate matrices to the extent that it significantly distorts the final result. (No requirement in the specification places any specific constraints on rounding, but simple cases like this should not deviate dramatically from the mathematically precise result.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-test-7" class="primary">
+ <td><strong>
+ <a href="transform-scale-test.xht">transform-scale-test</a></strong></td>
+ <td><a href="reference/transform-scale-test-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function.
+ <ul class="assert">
+ <li>This transform shrinks a container by calling scale(.33). It also sets transform-origin to top left in order to visually align with the second green square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-001-7" class="primary">
+ <td><strong>
+ <a href="transform-table-001.xht">transform-table-001</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table
+ <ul class="assert">
+ <li>This tests that an appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-002-7" class="primary">
+ <td><strong>
+ <a href="transform-table-002.xht">transform-table-002</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-002-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Inline-Table
+ <ul class="assert">
+ <li>This tests that an appropriately-crafted transform applied to an inline-table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-003-7" class="primary">
+ <td><strong>
+ <a href="transform-table-003.xht">transform-table-003</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table 2
+ <ul class="assert">
+ <li>This tests that another appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-004-7" class="primary">
+ <td><strong>
+ <a href="transform-table-004.xht">transform-table-004</a></strong></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-004-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table with caption-side: bottom
+ <ul class="assert">
+ <li>This is the same as transform-table-001.html, except the caption has caption-side: bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-005-7" class="primary">
+ <td><strong>
+ <a href="transform-table-005.xht">transform-table-005</a></strong></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table with caption-side: bottom
+ <ul class="assert">
+ <li>This is the same as transform-table-002.html, except the caption has caption-side: bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-inline-block-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-inline-block.xht">transform-transformable-inline-block</a></strong></td>
+ <td><a href="reference/transform-transformable-inline-block-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Inline-Block
+ <ul class="assert">
+ <li>This tests that transforms specified on an inline-block work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-inline-table-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-inline-table.xht">transform-transformable-inline-table</a></strong></td>
+ <td><a href="reference/transform-transformable-inline-table-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Inline-Table
+ <ul class="assert">
+ <li>This tests that transforms specified on an inline-table work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-list-item-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-list-item.xht">transform-transformable-list-item</a></strong></td>
+ <td><a href="reference/transform-transformable-list-item-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of List-Item
+ <ul class="assert">
+ <li>This tests that transforms specified on a list-item work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table.xht">transform-transformable-table</a></strong></td>
+ <td><a href="reference/transform-transformable-table-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table
+ <ul class="assert">
+ <li>This tests that transforms specified on a table work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-caption-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-caption.xht">transform-transformable-table-caption</a></strong></td>
+ <td><a href="reference/transform-transformable-table-caption-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Caption
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-caption work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-cell-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-cell.xht">transform-transformable-table-cell</a></strong></td>
+ <td><a href="reference/transform-transformable-table-cell-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Cell
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-cell work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-footer-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-footer-group.xht">transform-transformable-table-footer-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-footer-group-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Footer-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-footer-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-header-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-header-group.xht">transform-transformable-table-header-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-header-group-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Header-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-header-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-row-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-row.xht">transform-transformable-table-row</a></strong></td>
+ <td><a href="reference/transform-transformable-table-row-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Row
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-row work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-row-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-row-group.xht">transform-transformable-table-row-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-row-group-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Row-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-row-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-006-7" class="primary">
+ <td><strong>
+ <a href="transform-translatex-006.xht">transform-translatex-006</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translateX function
+ <ul class="assert">
+ <li>This tests that translateX(50px) translates a box by 50 pixels in the X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_invalid_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_invalid_prefixed.xht">transform_translate_invalid_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with invalid translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(null, null) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_max_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_max_prefixed.xht">transform_translate_max_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with maximum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_min_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_min_prefixed.xht">transform_translate_min_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with minimum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_neg_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_neg_prefixed.xht">transform_translate_neg_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with negative translation value
+ <ul class="assert">
+ <li>Check if transform supports translate(-1px, -1px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_prefixed.xht">transform_translate_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(100px, 100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_second_omited_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_second_omited_prefixed.xht">transform_translate_second_omited_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with second translation value omited
+ <ul class="assert">
+ <li>Check if transform supports translate(100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_zero_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_zero_prefixed.xht">transform_translate_zero_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(0, 0)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-degree-90-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotate-degree-90.xht">transforms-rotate-degree-90</a></strong></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ <ul class="assert">
+ <li>If the rotate with parameter not provided, greenRectangle will not cover redRectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-translate-scale-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotate-translate-scale.xht">transforms-rotate-translate-scale</a></strong></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and rotate function with one parameter
+ <ul class="assert">
+ <li>If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotatey-degree-60-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotateY-degree-60.xht">transforms-rotatey-degree-60</a></strong></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ </td>
+ </tr>
+ <tr id="transforms-skewx-7" class="primary">
+ <td><strong>
+ <a href="transforms-skewX.xht">transforms-skewx</a></strong></td>
+ <td><a href="reference/transforms-skewX-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for X axis.
+ <ul class="assert">
+ <li>If the skew for X axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-skewy-7" class="primary">
+ <td><strong>
+ <a href="transforms-skewY.xht">transforms-skewy</a></strong></td>
+ <td><a href="reference/transforms-skewY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for Y axis.
+ <ul class="assert">
+ <li>If the skew for Y axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-optional-second-001-7" class="primary">
+ <td><strong>
+ <a href="translate-optional-second-001.xht">translate-optional-second-001</a></strong></td>
+ <td><a href="reference/translate-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translate function and one parameter
+ <ul class="assert">
+ <li>If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-preserve-3d-1-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-preserve-3d-1.xht">transofrmed-preserve-3d-1</a></strong></td>
+ <td><a href="reference/transofrmed-preserve-3d-1-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform preserve-3d
+ <ul class="assert">
+ <li>The transformed div should establishe a 3D rendering context</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-rotatex-3-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-rotateX-3.xht">transofrmed-rotatex-3</a></strong></td>
+ <td><a href="reference/transofrmed-rotateX-3-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotateX
+ <ul class="assert">
+ <li>The transformed div should rotateX by 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-rotatey-1-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-rotateY-1.xht">transofrmed-rotatey-1</a></strong></td>
+ <td><a href="reference/transofrmed-rotateY-1-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotateY
+ <ul class="assert">
+ <li>The transformed div should rotate 90 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-reftest-rotate-7" class="primary">
+ <td><strong>
+ <a href="ttwf-reftest-rotate.xht">ttwf-reftest-rotate</a></strong></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotate
+ <ul class="assert">
+ <li>The transform should rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-skewx-001-7" class="primary">
+ <td><strong>
+ <a href="ttwf-transform-skewx-001.xht">ttwf-transform-skewx-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-skewx-001.xht">=</a> </td>
+ <td></td>
+ <td>CSS Transform Using skewX() function
+ <ul class="assert">
+ <li>Test that the green shape is skew on X axis by 45 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-skewy-001-7" class="primary">
+ <td><strong>
+ <a href="ttwf-transform-skewy-001.xht">ttwf-transform-skewy-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-skewy-001.xht">=</a> </td>
+ <td></td>
+ <td>CSS Transform Using skewY() function
+ <ul class="assert">
+ <li>Test that the green shape is skew on Y axis by 45 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-translatex-001-7" class="primary CSS Transform">
+ <td><strong>
+ <a href="ttwf-transform-translatex-001.xht">ttwf-transform-translatex-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-translatex-001.xht">=</a> </td>
+ <td><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ <td>CSS Transform Using translateX() function
+ <ul class="assert">
+ <li>Test that the green square is moved on X axis 100px</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-translatey-001-7" class="primary CSS Transform">
+ <td><strong>
+ <a href="ttwf-transform-translatey-001.xht">ttwf-transform-translatey-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-translatey-001.xht">=</a> </td>
+ <td><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ <td>CSS Transform Using translateY() function
+ <ul class="assert">
+ <li>Test that the green square is moved on Y axis 100px</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s7.#propdef-transform">
+ <!-- 1 tests -->
+ <tr id="css-transform-property-existence-7.#propdef-transform" class="primary dom script">
+ <td><strong>
+ <a href="css-transform-property-existence.xht">css-transform-property-existence</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>property existence
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s7.#typedef-transform-list">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-8.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-8.xht
new file mode 100644
index 00000000000..7288c4e55be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-8.xht
@@ -0,0 +1,1344 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The transform-origin Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform-origin Property (117 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s8">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s8">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property">8 The transform-origin Property</a></th></tr>
+ <!-- 116 tests -->
+ <tr id="css-transform-scale-001-8" class="">
+ <td>
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-8" class="">
+ <td>
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-014-8" class="">
+ <td>
+ <a href="regions-transforms-014.xht">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transform region with position:absolute and transform-origin
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-001.xht">svg-origin-length-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-002.xht">svg-origin-length-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-003.xht">svg-origin-length-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-004.xht">svg-origin-length-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100px
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-005.xht">svg-origin-length-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50px 50px
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-006.xht">svg-origin-length-006</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-007.xht">svg-origin-length-007</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-008.xht">svg-origin-length-008</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50 50
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-001.xht">svg-origin-length-cm-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in cm - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-002.xht">svg-origin-length-cm-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in cm - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-003.xht">svg-origin-length-cm-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 2cm 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (2cm,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-004.xht">svg-origin-length-cm-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 2cm
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,2cm) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-005.xht">svg-origin-length-cm-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 1cm 1cm
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (1cm,1cm) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-001.xht">svg-origin-length-in-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in inch - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-002.xht">svg-origin-length-in-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in inch - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-003.xht">svg-origin-length-in-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 1.5in 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (1.5in,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-004.xht">svg-origin-length-in-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 1.5in
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,1.5in) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-005.xht">svg-origin-length-in-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0.75in 0.75in
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0.75in, 0.75in) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-001.xht">svg-origin-length-pt-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in pt - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-002.xht">svg-origin-length-pt-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in pt - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-003.xht">svg-origin-length-pt-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 80pt 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (80pt,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-004.xht">svg-origin-length-pt-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 80pt
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,80pt) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-005.xht">svg-origin-length-pt-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 40pt 40pt
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (40pt,40pt) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-origin-001-8" class="primary">
+ <td><strong>
+ <a href="transform-inherit-origin-001.xht">transform-inherit-origin-001</a></strong></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td></td>
+ <td>&quot;transform-origin: inherit&quot; and em
+ <ul class="assert">
+ <li>The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;For &lt;length&gt; the absolute value, otherwise a percentage.&quot; In this test, a parent element has a transform-origin of '5em 10em' with a font-size of 10px, and the child has &quot;transform-origin: inherit&quot;. Since the relative length of 5em is converted to an absolute length before inheritance, the transform-origin should be at the bottom of the child, 50px 100px. The 180deg rotation should thus effectively move the child down 100px. An implementation that incorrectly inherited the transform-origin value before converting to an absolute length would treat it as 100px 200px, since the child has a font-size of 20px, so it would effectively translate the child 100px right and 300px down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-origin-002-8" class="primary">
+ <td><strong>
+ <a href="transform-inherit-origin-002.xht">transform-inherit-origin-002</a></strong></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td></td>
+ <td>&quot;transform-origin: inherit&quot; and percentages
+ <ul class="assert">
+ <li>The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;For &lt;length&gt; the absolute value, otherwise a percentage.&quot; In this test, a parent element has a transform-origin of '50% 100%' with a height/width of 50px, and the child has &quot;transform-origin: inherit&quot; with a height/width of 100px. Since the transform-origin is a percentage, it's inherited before it gets resolved to a length. This means it works out to 50px 100px on the child, at its center, so the 180deg rotation should translate the child down by 100px. An implementation that incorrectly resolved the transform-origin to 25px 50px before inheritance would instead display the child box translated left 75px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-001-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-001.xht">transform-origin-001</a></strong></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Default transform-origin not top left
+ <ul class="assert">
+ <li>A transform-origin of 0% 0% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-002-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-002.xht">transform-origin-002</a></strong></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Default transform-origin not center right
+ <ul class="assert">
+ <li>A transform-origin of 100% 50% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-003-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-003.xht">transform-origin-003</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 1
+ <ul class="assert">
+ <li>A transform-origin of 101px 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-004-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-004.xht">transform-origin-004</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 2
+ <ul class="assert">
+ <li>A transform-origin of 101px 50% must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-005-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-005.xht">transform-origin-005</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 3
+ <ul class="assert">
+ <li>A transform-origin of 50% 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-006-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-006.xht">transform-origin-006</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 4
+ <ul class="assert">
+ <li>Percentages in transform-origin refer to the size of the element's border box. This tests that they don't refer to the content, padding, or margin box by applying nonzero margin, border, and padding. (Note: an implementation that resolves percentages relative to the incorrect box might fail this test by only a few pixels, so it's important to check that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-007-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-007.xht">transform-origin-007</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'bottom' computes to 100% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-008-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-008.xht">transform-origin-008</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - center 0%('center' computes to '50%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-009-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-009.xht">transform-origin-009</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - 0% center('center' computes to '50%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-01-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-01.xht">transform-origin-01</a></strong></td>
+ <td><a href="reference/transform-origin-01-ref.xht">=</a> </td>
+ <td></td>
+ <td>SVG Transform using transform-origin
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be &amp;acirc;&amp;#8364;&amp;#732;center&amp;acirc;&amp;#8364;&amp;#8482;</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-010-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-010.xht">transform-origin-010</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - left 0%('left' computes to '0%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'left' computes to 0% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-011-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-011.xht">transform-origin-011</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - right 100%('right' computes to '100%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'right' computes to 100% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-012-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-012.xht">transform-origin-012</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - 0% top('top' computes to '0%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'top' computes to 0% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-001-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-001.xht">transform-origin-name-001</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top left
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top left' is the same as 'transform-origin: 0% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-002-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-002.xht">transform-origin-name-002</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: left top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: left top' is the same as 'transform-origin: 0% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-003-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-003.xht">transform-origin-name-003</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-004-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-004.xht">transform-origin-name-004</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top center
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top center' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-005-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-005.xht">transform-origin-name-005</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: center top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: center top' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-006-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-006.xht">transform-origin-name-006</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top right
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top right' is the same as 'transform-origin: 100% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-007-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-007.xht">transform-origin-name-007</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: right top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: right top' is the same as 'transform-origin: 100% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translate3d-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></strong></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translatez-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></strong></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s8.#propdef-transform-origin">
+ <!-- 1 tests -->
+ <tr id="transform-origin-8.#propdef-transform-origin" class="primary">
+ <td><strong>
+ <a href="transform-origin.xht">transform-origin</a></strong></td>
+ <td><a href="reference/transform-origin-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin
+ <ul class="assert">
+ <li>The transform should change the transform-origin to the bottom right and rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s8.#valuedef-bottom0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-center0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-left0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-right0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-top0">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-9.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-9.xht
new file mode 100644
index 00000000000..5b8a36419b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/chapter-9.xht
@@ -0,0 +1,331 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The transform-style Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform-style Property (26 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s9">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s9">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-style-property">9 The transform-style Property</a></th></tr>
+ <!-- 26 tests -->
+ <tr id="css-transform-3d-transform-style-9" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-transform-style.xht">css-transform-3d-transform-style</a></strong></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with transform-style on nested elements
+ <ul class="assert">
+ <li>Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-006-9" class="primary">
+ <td><strong>
+ <a href="transform-table-006.xht">transform-table-006</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 1
+ <ul class="assert">
+ <li>This has preserve-3d applied to the outer wrapper of a table, but not the inner wrapper containing its contents. Therefore, the contents should be rotated 90 degrees and vanish, and the 90-degree rotation on the outer wrapper shouldn't restore them. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-007-9" class="primary">
+ <td><strong>
+ <a href="transform-table-007.xht">transform-table-007</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 2
+ <ul class="assert">
+ <li>In this case, preserve-3d is applied to every element that's explicitly specified in the source code. However, the HTML parser will insert an extra &lt;tbody&gt; element around the &lt;tr&gt;, which will not have preserve-3d specified, so the contents should again vainsh. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-008-9" class="primary">
+ <td><strong>
+ <a href="transform-table-008.xht">transform-table-008</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 3
+ <ul class="assert">
+ <li>This is essentially the same as transform-table-006.html, except using divs with 'display' specified instead of actual table elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-009-9" class="primary">
+ <td><strong>
+ <a href="transform-table-009.xht">transform-table-009</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-009-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 1
+ <ul class="assert">
+ <li>This is the same as transform-table-007.html, except that transform-style is also explicitly applied to the intervening &lt;tbody&gt;, so nothing should vanish.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-010-9" class="primary">
+ <td><strong>
+ <a href="transform-table-010.xht">transform-table-010</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-010-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 2
+ <ul class="assert">
+ <li>This is the same as transform-table-007.html, except that now divs are used instead of actual table elements. This means that the parser doesn't create an implicit intervening &lt;tbody&gt;, so preserve-3d is applied to all intervening elements, and the text should display (mirrored).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-011-9" class="primary">
+ <td><strong>
+ <a href="transform-table-011.xht">transform-table-011</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-011-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 3
+ <ul class="assert">
+ <li>This is an even more extreme example of transform-table-010.html. CSS will create several anonymous table boxes wrapping the div with display: table-cell, but none of these have corresponding elements. Every actual element in the DOM still has preserve-3d specified, so the text should not vanish.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-001-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-001.xht">transform3d-preserve3d-001</a></strong></td>
+ <td><a href="reference/transform3d-preserve3d-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Preserve-3D
+ <ul class="assert">
+ <li>This tests that if preserve-3d is specified, four 45deg rotations equal one 180deg rotation.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-002-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-002.xht">transform3d-preserve3d-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 1
+ <ul class="assert">
+ <li>This is the first in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-003-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-003.xht">transform3d-preserve3d-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 2
+ <ul class="assert">
+ <li>This is the second in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-004-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-004.xht">transform3d-preserve3d-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 3
+ <ul class="assert">
+ <li>This is the third in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-005-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-005.xht">transform3d-preserve3d-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Transformed Grandparent and Grandchild
+ <ul class="assert">
+ <li>This is the fourth in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-006-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-006.xht">transform3d-preserve3d-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Two rotatex(), No Preserve-3D
+ <ul class="assert">
+ <li>rotatex(45deg) or rotatex(-45deg), by itself, should both just scale down the element by a factor of sqrt(2) (and perhaps shift it, depending on 'transform-origin'). Without 'transform-style: preserve-3d', the rotations on parent and child shouldn't cancel, so its height should be halved with no other effect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-007-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-007.xht">transform3d-preserve3d-007</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Two rotatey(), No Preserve-3D
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-006.html, except with rotatey() instead of rotatex().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-008-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-008.xht">transform3d-preserve3d-008</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: hidden'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-006.html, except that it has 'transform-style: preserve-3d; overflow: hidden' specified on the parent element. 'transform-style: preserve-3d' would normally make the result different, but 'overflow: hidden' overrides its effect and causes it to work the same as 'transform-style: flat'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-009-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-009.xht">transform3d-preserve3d-009</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: auto'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-008.html, except with 'overflow: auto' instead of 'hidden'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-010-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-010.xht">transform3d-preserve3d-010</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotatex() With Preserve-3D
+ <ul class="assert">
+ <li>This tests that two rotations of 22.5deg properly add when preserve-3d is used. The result, a 45deg rotation around the X-axis, should be equivalent to shrinking the height by a factor of sqrt(2), i.e., 1.41421356....</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-011-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-011.xht">transform3d-preserve3d-011</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With 90-Degree Rotation
+ <ul class="assert">
+ <li>This tests that when preserve-3d is specified, a 90-degree rotation on the parent plus a 90-degree rotation on the child cancel out, adding to a 180-degree rotation (which has no visible effect on a lime square). scale(2) is added to ensure that the test doesn't pass if the transforms are just ignored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-012-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-012.xht">transform3d-preserve3d-012</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>90-Degree Rotations Without Preserve-3D
+ <ul class="assert">
+ <li>This tests that two 90-degree rotations with the default 'transform-style: flat' do not add together to form a 180-degree rotation. Instead, the first causes the contents to vanish and the second does not restore them.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-013-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-013.xht">transform3d-preserve3d-013</a></strong></td>
+ <td><a href="reference/transform3d-preserve3d-013-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: scroll'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-008.html, except with 'overflow: scroll' instead of 'hidden'. (Note that the ref is nontrivial, because the scrollbar has to be scaled appropriately.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-001-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-001.xht">transform3d-sorting-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting
+ <ul class="assert">
+ <li>The red box here is translated in the negative Z-direction, so it should render beneath the lime box even though it comes later in DOM order.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-002-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-002.xht">transform3d-sorting-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Rotation
+ <ul class="assert">
+ <li>The red box here is translated to the same extent as the lime box, so they should render in stacking context order: the lime box is on top, because it's later in the DOM. But then we apply rotatex(180deg) to the whole thing, so the lime box should wind up on top in the end.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-003-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-003.xht">transform3d-sorting-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With No Preserve-3D
+ <ul class="assert">
+ <li>The red box here is translated to above the lime box, but they aren't in the same 3D rendering context, so they should be drawn in DOM order regardless: lime box on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-004-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-004.xht">transform3d-sorting-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Preserve-3D on Grandparent
+ <ul class="assert">
+ <li>This is the same as transform3d-sorting-003.html, except with two wrapper divs. 'transform-style: preserve-3d' only affects children, not grandchildren, so the two divs with backgrounds are still in different rendering contexts and the Z-position should still not affect stacking.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-005-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-005.xht">transform3d-sorting-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Background on Parent
+ <ul class="assert">
+ <li>This tests that if a parent has 'transform-style: preserve-3d', it's in the same rendering context as its children. Thus the translateZ(10px) puts the child above it, and the rotateX(180deg) puts it below, so the lime parent is rendered on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-006-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-006.xht">transform3d-sorting-006</a></strong></td>
+ <td><a href="reference/transform3d-sorting-006-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Intersection
+ <ul class="assert">
+ <li>This tests that when two boxes intersect in a simple fashion, they're rendered according to Newell's algorithm.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s9.#issue-f175efd2">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s9.#propdef-transform-style">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-rotate-2d-3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-rotate-2d-3d-001.xht
new file mode 100644
index 00000000000..114d6bffe74
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-rotate-2d-3d-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: 2D rotation with 3D rotation</title>
+ <link href="mailto:pdr@google.com" rel="author" title="Philip Rogers" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-06-16 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-rotate-2d-3d-001-ref.xht" rel="match" />
+ <meta content="This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 200px;
+ background: green;
+ transform: rotate(90deg) rotate3d(1, 0, 0, 60deg);
+ }
+ .redSquare {
+ position: absolute;
+ top: 101px;
+ left: 101px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-scale-nested-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-scale-nested-001.xht
new file mode 100644
index 00000000000..2d4e9f1f0d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-scale-nested-001.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: scale 0 on a parent with a child</title>
+ <link href="mailto:amolvshanbhag@yahoo.com" rel="author" title="Amol Shanbhag" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="Child square element is transformed (scaled to zero) along with the parent element" name="assert" />
+ <link href="reference/css-scale-nested-ref.xht" rel="match" />
+ <style type="text/css">
+ div{
+ position: absolute;
+ }
+ .greenSquare {
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .parentredSquare {
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: scale(0);
+ }
+ .childredSquare {
+ top: 25px;
+ left: 25px;
+ width: 50px;
+ height: 50px;
+ background: red;
+ }
+ p{
+ padding-top: 130px;
+ }
+ </style>
+</head>
+<body>
+ <div class="greenSquare"></div>
+ <div class="parentredSquare"><div class="childredSquare"></div></div>
+ <p>The test passes if there is a green square and no red.</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-001.xht
new file mode 100644
index 00000000000..ac473cc4819
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: skew function part 1</title>
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <link href="reference/css-skew-001-ref.xht" rel="match" />
+ <style type="text/css">
+ div {
+ top:5px;
+ left:5px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:red;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ svg {
+ top:0;
+ left:0;
+ position:absolute;
+ height: 268.778px;
+ width: 231.642px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <div> </div>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 231.64212,268.77841 73.167806,158.54816 0,0 158.58452,110.15942 z" fill="green"></path>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-002.xht
new file mode 100644
index 00000000000..ff40f4f8f12
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-skew-002.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: skew function part 2</title>
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <link href="reference/css-skew-002-ref.xht" rel="match" />
+ <style type="text/css">
+ div {
+ top:0px;
+ left:0px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:green;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ svg {
+ top:5px;
+ left:5px;
+ position:absolute;
+ height: 253.667px;
+ width: 218.333px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 211.84314,245.80529 66.913984,144.99668 0,0 145.02994,100.74384 z" fill="red"></path>
+ </svg>
+ <div> </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-negative.xht
new file mode 100644
index 00000000000..77a039e7cc5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="Test checks that rotate the 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotate3d(1,0,0,-60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-positive.xht
new file mode 100644
index 00000000000..f83c901aa40
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-X-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotate3d(1,0,0,60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-negative.xht
new file mode 100644
index 00000000000..be87d5b8112
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotate3d(0,1,0,-60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-positive.xht
new file mode 100644
index 00000000000..a3723a78058
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Y-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotate3d(0,1,0,60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-negative.xht
new file mode 100644
index 00000000000..4724af17131
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-negative.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-positive.xht
new file mode 100644
index 00000000000..4826467f184
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotate3d-Z-positive.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for 90 degree on Z-axis would cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-negative.xht
new file mode 100644
index 00000000000..b0685900933
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateX on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotateX(-60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-positive.xht
new file mode 100644
index 00000000000..47d8633d32f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateX-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateX on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotateX(60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-negative.xht
new file mode 100644
index 00000000000..2ed5b6c53d7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotateY(-60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-positive.xht
new file mode 100644
index 00000000000..103ab25bcd5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateY-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotateY(60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-negative.xht
new file mode 100644
index 00000000000..1789db332d7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-negative.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotateZ(-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-positive.xht
new file mode 100644
index 00000000000..a4fac403825
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-rotateZ-positive.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for 90 degree on Z-axis will cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotateZ(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-transform-style.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-transform-style.xht
new file mode 100644
index 00000000000..5a4645cfe60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-3d-transform-style.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY with transform-style on nested elements</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-transform-style-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box." name="assert" />
+ <style>
+ div {
+ position: absolute;
+ }
+ div.container {
+ background-color: gray;
+ height: 200px;
+ width: 200px;
+ left: 65px;
+ top: 45px;
+ }
+ div.blue {
+ background-color: blue;
+ height: 180px;
+ width: 180px;
+ left: 10px;
+ top: 10px;
+ transform: rotateY(-60deg);
+ transform-style: preserve-3d;
+ }
+ div.green {
+ background-color: green;
+ left: 40px;
+ top: 0px;
+ height: 180px;
+ width: 180px;
+ transform: rotateY(120deg);
+ }
+ div.red{
+ background-color: red;
+ left: 140px;
+ top: 10px;
+ height: 180px;
+ width: 20px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a gray square with <b>one blue</b> and <b>one green</b> box <b>inside</b>, and no any red.</p>
+ <div class="container">
+ <div class="red"></div>
+ <div class="blue">
+ <div class="green"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-rotate.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-rotate.xht
new file mode 100644
index 00000000000..e48a1e19b78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-rotate.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: CSS transforms rotate inheritance on div element</title>
+ <link href="mailto:gaodl@uw.edu" rel="author" title="Delong Gao" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <!--<link rel="match" href="reference/ttwf-reftest-tutorial-ref.html">
+ <meta name="flags" content="svg">-->
+ <meta content="Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree." name="assert" />
+ <style type="text/css">
+ * {
+ margin: 0;
+ padding: 0;
+ }
+ .flag {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ z-index: 2;
+ }/*This div is used to show the red square*/
+ .parentSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 200px;
+ height: 200px;
+ transform: rotate(45deg);
+ background-color: green;
+ }
+ .childSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ transform: inherit;/*While inherited, the child div should rotate 90 degree instead of 45*/
+ }
+ p {
+ position: absolute;
+ top: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red. And it is rotated 45 degree.</p>
+ <div class="flag"></div>
+ <div class="parentSquare">
+ <div class="childSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-scale.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-scale.xht
new file mode 100644
index 00000000000..d9862b20313
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-inherit-scale.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: CSS transforms scale 2 inheritance on div elements</title>
+ <link href="mailto:gaodl@uw.edu" rel="author" title="Delong Gao" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <!--<link rel="match" href="reference/ttwf-reftest-tutorial-ref.html">
+ <meta name="flags" content="svg">-->
+ <meta content="While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red. " name="assert" />
+ <style type="text/css">
+ * {
+ margin: 0;
+ padding: 0;
+ }
+ .red {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color: red;
+ }
+ .parent {
+ background: yellow;
+ width: 50px;
+ height: 50px;
+ position: absolute;
+ top: 75px;
+ left: 75px;
+ transform: scale(2);
+
+ }
+ .child {
+ position: absolute;
+ top: 10px;
+ transform: inherit;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red. </p>
+ <div class="red"></div>
+ <div class="parent">
+ <div class="child"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-property-existence.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-property-existence.xht
new file mode 100644
index 00000000000..6194dbc79b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-property-existence.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: property existence</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-transform" rel="help" />
+ <meta content="dom" name="flags" />
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ assert_not_equals(document.getElementById("test").style.transfor, undefined, "expect transform is not undefined");
+ }, "Check the existence of transform.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "transform-origin", "expect transform-origin");
+ }, "Check the existence of transform-origin.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "transform-style", "expect transform-style");
+ }, "Check the existence of transform-style.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "perspective", "expect perspective");
+ }, "Check the existence of perspective.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "perspective-origin", "expect perspective-origin");
+ }, "Check the existence of perspective-origin.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "backface-visibility", "expect backface-visibility");
+ }, "Check the existence of backface-visibility.");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-001.xht
new file mode 100644
index 00000000000..2ec9e5fc4bf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-001.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function on hover state</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#transform-functions" rel="help" />
+ <!-- See also: http://www.w3.org/wiki/CSS/Selectors/pseudo-classes/:hover -->
+ <link href="reference/css-transform-scale-ref-001.xht" rel="match" />
+ <meta content="When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner." name="assert" />
+ <meta content="interactive" name="flag" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ .greenSquare:hover {
+ transform-origin: 0 0;
+ transform: scale(2);
+ }
+
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 100px;
+ top :100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you hover over the green square and it completely covers the red square.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-002.xht
new file mode 100644
index 00000000000..332962c3bab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-scale-002.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and move its origin</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#transform-functions" rel="help" />
+ <link href="reference/css-transform-scale-ref-002.xht" rel="match" />
+ <meta content="The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner." name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform-origin: 0 0;
+ transform: scale(2);
+ }
+
+
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 100px;
+ top :100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if the green square completely covers the red square.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-style-evaluation-validation.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-style-evaluation-validation.xht
new file mode 100644
index 00000000000..56085e13fce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transform-style-evaluation-validation.xht
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: property</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="dom" name="flags" />
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg),rotateX(60deg)"
+ assert_equals(document.getElementById("test").style.transform, "", "expect NULL");
+ }, "transform: Check bad-format multi-expr input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg)|rotateX(60deg)";
+ assert_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with tab.");
+
+ test(function() {
+ document.getElementById("test").style.transform = " rotate(30deg) rotateX(60deg) ";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with spaces start and end.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg) rotateX(60deg)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with two spaces.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg) rotateX(60deg)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check valied multi-expr input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotate(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateX(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateX(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateY(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateY(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateZ(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateZ(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotate(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateX(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateX(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateY(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateY(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateZ(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateZ(string) input.");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-3d-on-anonymous-block-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-3d-on-anonymous-block-001.xht
new file mode 100644
index 00000000000..f5c4c462bfd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-3d-on-anonymous-block-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: No 3D transforms on anonymous block boxes</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="mailto:eoconnor@apple.com" rel="reviewer" title="Edward O'Connor" /> <!-- 2012-10-27 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/css-transforms-3d-anonymous-block-ref.xht" rel="match" />
+ <meta content="3D transforms can not be applied to anonymous block boxes." name="assert" />
+</head>
+<body>
+ <p>You should see three lines of text written from left to right and unmirrored.</p><p>
+ </p><div style="transform-style: preserve-3d;">
+ <span style="transform-style: preserve-3d; transform: rotateX(90deg)">Test</span>
+ <p style="transform-style: preserve-3d;">Test</p>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-transformlist.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-transformlist.xht
new file mode 100644
index 00000000000..2f8bc28fd41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css-transforms-transformlist.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: SVG transform in baseVal list</title>
+ <link href="mailto:cabanier@adobe.com" rel="author" title="Rik Cabanier" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-dom" rel="help" />
+ <link href="reference/css-transforms-transformlist-ref.xht" rel="match" />
+ <meta content="This test verifies that the CSS transform ends up in the list of SVG transforms" name="assert" />
+ <style type="text/css">
+
+ #rect {
+ fill: green;
+ transform: translate(10px, 10px);
+ }
+
+ #result {
+ width:100px;
+ height:100px;
+ background-color: red;
+ }
+
+ </style>
+ <script>
+ window.addEventListener('load', function(){
+ var r = document.getElementById("rect");
+ var result = document.getElementById("result");
+ if(r.transform.baseVal.length&gt;0)
+ result.style.backgroundColor = "rgb(0, 255, 0)";
+
+ document.getElementById("svgelement").style.display="none";
+ }, false);
+ </script>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg id="svgelement" xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" id="rect" height="100"></rect>
+ </svg>
+ <div id="result"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-perspective.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-perspective.xht
new file mode 100644
index 00000000000..b6d17150eeb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-perspective.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateX 90 degrees with perspective make it invisible</title>
+ <link href="mailto:robin.webkit@gmail.com" rel="author" title="caoqixing" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective" rel="help" />
+ <link href="reference/css3-transform-perspective-ref.xht" rel="match" />
+ <meta content="Test passes if rotateX 90 degrees with perspective make it invisible" name="assert" />
+ <style type="text/css">
+ div {
+ width: 200px;
+ height: 200px;
+ }
+ #container {
+ position: relative;
+ background-color: green;
+ perspective: 1000px;
+ }
+ #rotated {
+ background-color: red;
+ transform: rotateX(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="container">
+ <div id="rotated"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-rotateY.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-rotateY.xht
new file mode 100644
index 00000000000..82c7f551698
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-rotateY.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotateY function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/css3-transform-rotateY-ref.xht" rel="match" />
+ <meta content="box width should be equal to projection width if transform rotateY applied" name="assert" />
+ <style type="text/css">
+ .red,
+ .green{
+ width:198px;
+ height: 200px;
+ background-color:green;
+ position: absolute;
+ top: 50px;
+ left:51px;
+ z-index:10;
+ }
+ .red{
+ background-color:red;
+ width: 140px;
+ left:80px;
+ z-index:9;
+ }
+ .green{
+ transform:rotateY(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="green"></div>
+ <div class="red"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale-002.xht
new file mode 100644
index 00000000000..0456d0c63fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale-002.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/css3-transform-scale-ref-002.xht" rel="match" />
+ <meta content="box width and height will be twice larger if transform scale(2) applied" name="assert" />
+ <style type="text/css">
+ .red,
+ .green{
+ width:100px;
+ height: 100px;
+ background-color:green;
+ position: absolute;
+ top: 150px;
+ left:150px;
+ z-index:10;
+ }
+ .red{
+ background-color:red;
+ width: 200px;
+ height: 200px;
+ left:100px;
+ top:100px;
+ z-index:9;
+ }
+ .green{
+ transform:scale(2);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="red"></div>
+ <div class="green"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale.xht
new file mode 100644
index 00000000000..8404aaebdf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/css3-transform-scale.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/css3-transform-scale-ref.xht" rel="match" />
+ <meta content="box width and height will be twice larger if transform scale(2) applied" name="assert" />
+ <style type="text/css">
+ .red,
+ .green{
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ position: absolute;
+ top: 150px;
+ left: 150px;
+ z-index: 10;
+ }
+ .red{
+ background-color: red;
+ width: 200px;
+ height: 200px;
+ left: 100px;
+ top: 100px;
+ z-index:9;
+ }
+ .green{
+ transform:scale(2);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="red"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/iframe-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/iframe-001.xht
new file mode 100644
index 00000000000..472331bd1b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/iframe-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: flowing an iframe that loads content with 3D transform</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/iframe-001-ref.xht" rel="match" />
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see horizontal green rectangle and no red.</p>
+
+ <iframe width="400" height="300" class="flow" frameborder="0" src="support/3d-filler.html"></iframe>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-001.xht
new file mode 100644
index 00000000000..8a3d9e5a923
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-001.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - 0px center('center' computes to '50%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'center' computes to 50% for the vertical position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 0px center;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 0px 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-002.xht
new file mode 100644
index 00000000000..00eaed47975
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-002.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - center 0px('center' computes to '50%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'center' computes to 50% for the horizontal position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: center 0px;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 0px;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-003.xht
new file mode 100644
index 00000000000..088f9c51015
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-003.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 50% bottom;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 100%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ top: 50px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-004.xht
new file mode 100644
index 00000000000..dc1e529c95a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-004.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - 50% top('top' computes to '0%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'top' computes to 0% for the vertical position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 50% top;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 0%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-005.xht
new file mode 100644
index 00000000000..ec7ac36930d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-005.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - left 50%('left' computes to '0%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'left' computes to 0% for the horizontal position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: left 50%;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 0% 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-006.xht
new file mode 100644
index 00000000000..92be904714a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-006.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - right 50%('right' computes to '100%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'right' computes to 100% for the horizontal position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: right 50%;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 100% 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-x.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-x.xht
new file mode 100644
index 00000000000..7eb496cb7cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-x.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:pancha0.0@gmail.com" rel="author" title="Francisca Gil" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-origin-reftest.xht" rel="match" />
+ <meta content="Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)' " name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ perspective-origin: 0px 50%;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-xy.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-xy.xht
new file mode 100644
index 00000000000..e43bd3ac9f8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-origin-xy.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:pancha0.0@gmail.com" rel="author" title="Francisca Gil" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that origin '&lt;x,y>' visually moves the objects '&lt;-x,-y>*d/(d-1)' " name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ perspective-origin: 0px 0px;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-0.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-0.xht
new file mode 100644
index 00000000000..154b74f80f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-0.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that points on the z=0 plane are unchanged" name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 25px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-negative.xht
new file mode 100644
index 00000000000..33a330e97a9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-negative.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that the scaling is proportional to d/(d − Z) for a negative Z" name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ }
+ .redSquare {
+ position: absolute;
+ top: -25px;
+ left: -25px;
+ width: 200px;
+ height: 200px;
+ background: red;
+ transform: translateZ(-1px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 150px;
+ height: 150px;
+ background: green;
+ transform: translateZ(0px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-positive.xht
new file mode 100644
index 00000000000..3eca048bd10
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/perspective-translateZ-positive.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that the scaling is proportional to d/(d − Z) for a positive Z" name="assert" />
+ <style type="text/css">
+ .redContainer {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ background: red;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 25px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redContainer">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-notref.xht
new file mode 100644
index 00000000000..e00994742c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-notref.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="reference/2d-rotate-ref.xht" rel="mismatch" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ article, svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ article{
+ border: 10px solid green;
+ display: block;
+ height: 100px;
+ width: 100px;
+ z-index: 2;
+ cursor:pointer;
+ }
+ section article{
+ transform: rotate(30deg);
+ transform-origin: 19% 197%;
+ }
+
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <article></article>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200" xmlns="http://www.w3.org/2000/svg">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: red;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="FAIL_ME(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-ref.xht
new file mode 100644
index 00000000000..add6e9f62f8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/2d-rotate-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="reference/2d-rotate-notref.xht" rel="mismatch" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200" xmlns="http://www.w3.org/2000/svg">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: green;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="rotate(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/animations-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/animations-001-ref.xht
new file mode 100644
index 00000000000..abae131eff2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/animations-001-ref.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="../support/animations.css" rel="stylesheet" />
+ <style>
+ .transformed {
+ transform: rotateZ(45deg);
+ }
+ .flow {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+
+ .region {
+ width: 100px;
+ height: 100px;
+ background-color: lightblue;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a rotating green square on top of a static blue square and no red.</p>
+
+ <div class="region">
+ <div class="transformed flow rotate once">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/backface-visibility-hidden-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/backface-visibility-hidden-ref.xht
new file mode 100644
index 00000000000..3e84054a05f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/backface-visibility-hidden-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ z-index: 2;
+ }
+
+ .card {
+ transform-style: preserve-3d;
+ }
+
+ .container {
+ width: 200px;
+ height: 200px;
+ perspective: 1000;
+ transform: rotateY(45deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green retangle and no red.</p>
+ <div class="container">
+ <div class="card">
+ <div class="greenSquare face"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-001-ref.xht
new file mode 100644
index 00000000000..3bc1b0bc046
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-001-ref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <script src="../support/Three.js" type="text/javascript"></script>
+ <script src="../support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow,
+ .region {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
+
+ <div class="region">
+ <div class="flow" id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-002-ref.xht
new file mode 100644
index 00000000000..9073f507410
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/canvas3d-002-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <script src="../support/Three.js" type="text/javascript"></script>
+ <script src="../support/static-cube.js" type="text/javascript"></script>
+ <style>
+ #container {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ width: 200px;
+ height: 300px;
+ margin: -250px 100px 0px 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
+
+ <div id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-rotate-2d-3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-rotate-2d-3d-001-ref.xht
new file mode 100644
index 00000000000..0c6f959fb60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-rotate-2d-3d-001-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: 2D rotation with 3D rotation</title>
+ <link href="mailto:pdr@google.com" rel="author" title="Philip Rogers" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-06-16 -->
+ <style type="text/css">
+ .greenSquareRef {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquareRef"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-scale-nested-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-scale-nested-ref.xht
new file mode 100644
index 00000000000..00ec0f6be6a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-scale-nested-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:amolvshanbhag@yahoo.com" rel="author" title="Amol Shanbhag" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <style type="text/css">
+ div{
+ position: absolute;
+ }
+ .greenSquare {
+
+ width: 100px;
+ height: 100px;
+ background: green;
+
+ }
+ p{
+ padding-top: 130px;
+ }
+ </style>
+</head>
+<body>
+ <div class="greenSquare"></div>
+ <p>The test passes if there is a green square and no red.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-001-ref.xht
new file mode 100644
index 00000000000..cf5df7a8561
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-001-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test Reference: skew function part 1</title>
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <style type="text/css">
+ svg {
+ top:0;
+ left:0;
+ position:absolute;
+ height: 268.778px;
+ width: 231.642px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 231.64212,268.77841 73.167806,158.54816 0,0 158.58452,110.15942 z" fill="green"></path>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-002-ref.xht
new file mode 100644
index 00000000000..3382bfd2b56
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-skew-002-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test Reference: skew function part 2</title>
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <style type="text/css">
+ div {
+ top:0px;
+ left:0px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:green;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <div> </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateX-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateX-ref.xht
new file mode 100644
index 00000000000..5a3bb413db1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateX-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms rotateX Reference</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.greensquare {
+ background-color: green;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateY-ref.xht
new file mode 100644
index 00000000000..73bba298083
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateY-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms rotateX Reference</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.greensquare {
+ background-color: green;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateZ-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateZ-ref.xht
new file mode 100644
index 00000000000..a1d33b3c292
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-rotateZ-ref.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-transform-style-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-transform-style-ref.xht
new file mode 100644
index 00000000000..c41aeebf6f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-3d-transform-style-ref.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY with transform-style on nested elements</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ position: absolute;
+ }
+ div.container {
+ background-color: gray;
+ height: 200px;
+ left: 65px;
+ top: 45px;
+ width: 200px;
+ }
+ div.blue {
+ background-color: blue;
+ height: 180px;
+ width: 90px;
+ left: 120px;
+ top: 55px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 180px;
+ left: 140px;
+ top: 55px;
+ width: 90px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a gray square with <b>one blue</b> and <b>one green</b> box inside, and no any red.</p>
+ <div class="container"></div>
+ <div class="blue"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-001.xht
new file mode 100644
index 00000000000..29512d418b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color:green;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if you hover over the green square and it completely covers the red square.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-002.xht
new file mode 100644
index 00000000000..2b84afd8992
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transform-scale-ref-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference - CSS Transforms Test: transform property with scale function and move its origin</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color:green;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if the green square completely covers the red square.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-3d-anonymous-block-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-3d-anonymous-block-ref.xht
new file mode 100644
index 00000000000..1332601f384
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-3d-anonymous-block-ref.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: Reference file</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="mailto:eoconnor@apple.com" rel="reviewer" title="Edward O'Connor" /> <!-- 2012-10-27 -->
+</head>
+<body>
+ <p>You should see three lines of text written from left to right and unmirrored.</p><p>
+ </p><div>
+ <span>Test</span>
+ <p>Test</p>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-transformlist-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-transformlist-ref.xht
new file mode 100644
index 00000000000..b6a13838b57
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css-transforms-transformlist-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: UNIQUE TEST DESCRIPTION</title>
+ <link href="mailto:cabanier@adobe.com" rel="author" title="Rik Cabanier" />
+ <style type="text/css">
+
+ #result {
+ width:100px;
+ height:100px;
+ background-color: green;
+ }
+
+ </style>
+
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="result"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-perspective-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-perspective-ref.xht
new file mode 100644
index 00000000000..3cbf882b423
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-perspective-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: transform perspective Reference</title>
+ <link href="mailto:robin.webkit@gmail.com" rel="author" title="caoqixing" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ div {
+ width: 200px;
+ height: 200px;
+ }
+ #container {
+ position: relative;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="container"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-rotateY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-rotateY-ref.xht
new file mode 100644
index 00000000000..5d5c4f5bde9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-rotateY-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotateY function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css3-transform#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <style type="text/css">
+ .green{
+ width: 140px;
+ height: 200px;
+ background-color:green;
+ position: absolute;
+ top: 50px;
+ left:80px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref-002.xht
new file mode 100644
index 00000000000..e96d443071b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <style type="text/css">
+ .green{
+ width: 200px;
+ height: 200px;
+ background-color: green;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref.xht
new file mode 100644
index 00000000000..1b8aa35cb7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/css3-transform-scale-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <style type="text/css">
+ .green {
+ width: 200px;
+ height: 200px;
+ background-color: green;
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/iframe-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/iframe-001-ref.xht
new file mode 100644
index 00000000000..fc3bd86aa85
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/iframe-001-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <style>
+ .region {
+ width: 400px;
+ height: 300px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see horizontal green rectangle and no red.</p>
+
+ <div class="region">
+ <iframe width="400" height="300" class="flow" frameborder="0" src="../support/3d-filler.html"></iframe>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-origin-reftest.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-origin-reftest.xht
new file mode 100644
index 00000000000..dea006b51e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-origin-reftest.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-reftest.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-reftest.xht
new file mode 100644
index 00000000000..dea006b51e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/perspective-reftest.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ref-filled-green-100px-square.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ref-filled-green-100px-square.xht
new file mode 100644
index 00000000000..ee772e2d7d3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ref-filled-green-100px-square.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <style type="text/css"><![CDATA[
+ div
+ {
+ background-color: green;
+ height: 100px;
+ width: 100px;
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-001-ref.xht
new file mode 100644
index 00000000000..19db34aa47e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-001-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-008-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-008-ref.xht
new file mode 100644
index 00000000000..aab004e44bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-008-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .square {
+ float: left;
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ margin-left: 10px;
+ color: green;
+ width: 100px;
+ height: 100px;
+ border: 1px solid black;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="square">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="square">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-010-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-010-ref.xht
new file mode 100644
index 00000000000..580dd235054
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-010-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ position: absolute;
+ left: 58px;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-alt-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-alt-ref.xht
new file mode 100644
index 00000000000..e393e082bf9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-alt-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-rect {
+ width: 100px;
+ height: 200px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div class="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-ref.xht
new file mode 100644
index 00000000000..5a6a3049a08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-013-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-square {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div class="green-square"></div>
+ <div class="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-014-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-014-ref.xht
new file mode 100644
index 00000000000..2d3ede7ac1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-014-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-016-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-016-ref.xht
new file mode 100644
index 00000000000..33bcaf38e60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-016-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 200px;
+ height: 200px;
+ margin-left: 51px;
+ background-color: green;
+ transform: perspective(600px) rotateX(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green trapezoid and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-017-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-017-ref.xht
new file mode 100644
index 00000000000..73710ecf2af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-017-ref.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ #blue-square {
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and a blue square below it, and no red.</p>
+ <div id="green-square"></div>
+ <div id="blue-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-018-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-018-ref.xht
new file mode 100644
index 00000000000..04be8423feb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-018-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style>
+ #vertical {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 100px;
+ transform: rotateZ(90deg);
+ }
+ #horizontal {
+ border-bottom: 20px solid green;
+ width: 100px;
+ height: 80px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green cross and no red.</p>
+ <div id="horizontal">
+ <div id="vertical">
+ XXXXXXXXX
+ </div>
+ </div>
+
+ </body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-019-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-019-ref.xht
new file mode 100644
index 00000000000..aed8324a03d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-019-ref.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style>
+ .transformed {
+ transform: rotateY(45deg);
+ transition: 2s;
+ }
+ .flow {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ .perspective {
+ perspective: 200px;
+ perspective-origin: 100% 50%;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin: 20px;
+ }
+
+
+ #failure {
+ position: absolute;
+ left: 25px;
+ width: 10px;
+ height: 112px;
+ background-color: red;
+ z-index: -1;
+ }
+
+
+
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green trapezoid and no red.</p>
+ <div id="failure"></div>
+ <div class="region perspective">
+ <div class="flow transformed">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-020-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-020-ref.xht
new file mode 100644
index 00000000000..aae13775fd8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/regions-transforms-020-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-square {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div class="green-square"></div>
+ <div class="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotateY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotateY-ref.xht
new file mode 100644
index 00000000000..2f7ab861761
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotateY-ref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:zrxldl@gmail.com" rel="author" title="Zou Rui" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .container {
+ position: relative;
+ width: 200px;
+ height: 200px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_45deg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_45deg-ref.xht
new file mode 100644
index 00000000000..e8d86371511
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_45deg-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ left:15px;
+ height: 100px;
+ width: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+ <p>45 degree rotate on y axis</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_x_45deg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_x_45deg-ref.xht
new file mode 100644
index 00000000000..42d07bcf261
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_x_45deg-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ top:15px;
+ width: 100px;
+ height: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_y_45deg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_y_45deg-ref.xht
new file mode 100644
index 00000000000..50e8fdad6c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/rotate_y_45deg-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ left:15px;
+ height: 100px;
+ width: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-optional-second-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-optional-second-ref.xht
new file mode 100644
index 00000000000..140b3fa461c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-optional-second-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-zero-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-zero-ref.xht
new file mode 100644
index 00000000000..0b1d1c6fa56
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scale-zero-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scalex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scalex-ref.xht
new file mode 100644
index 00000000000..8d31fbb0c29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scalex-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <style type="text/css">
+ .container {
+ background-color: green;
+ height: 100px;
+ width: 200px;
+ margin-left: 450px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green area, no red area.</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scaley-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scaley-ref.xht
new file mode 100644
index 00000000000..b432b2797b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/scaley-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <style type="text/css">
+ .container {
+ position: absolute;
+ border: 1px solid green;
+ height: 200px;
+ width: 100px;
+ background-color:green;
+ margin-top: 150px;
+
+ }
+
+ .hidden {
+ position: absolute;
+ border: 2px solid red;
+ height: 200px;
+ width: 100px;
+ background-color:red;
+ margin-top: 150px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green box.</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/skew-test1-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/skew-test1-ref.xht
new file mode 100644
index 00000000000..8e5a886eca8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/skew-test1-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <meta charset="utf-8" />
+ <title>Testing 1 - skew()</title>
+ <link href="mailto:mymygo@gmail.com" rel="author" title="Myriam Goude" />
+ <meta content="svg" name="flags" />
+ <style>
+
+ h4 {clear:both;}
+
+ /* Test 1 - skew on block types */
+
+ svg {
+ position:absolute;
+ }
+
+ </style>
+</head>
+<body>
+
+ <h3>
+ Test 1 - Tests with degrees on block elements.
+ </h3>
+ <h4>
+ There should be a green block on the page.
+ </h4>
+ <svg xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <polygon style="fill:lime" points="0,0 150,55 235,205 88,150"></polygon>
+ </svg>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-green.png
new file mode 100644
index 00000000000..b98ca0ba0a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-lime.png
new file mode 100644
index 00000000000..cb397fb090e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-maroon.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-maroon.png
new file mode 100644
index 00000000000..3f86b072195
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-maroon.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-navy.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-navy.png
new file mode 100644
index 00000000000..9b9a03955ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-navy.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-red.png
new file mode 100644
index 00000000000..6bd73ac1018
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-white.png
new file mode 100644
index 00000000000..dd43faec54a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/1x1-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/3d-filler.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/3d-filler.html
new file mode 100644
index 00000000000..11e7649eb08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/3d-filler.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+ <meta charset="UTF-8">
+ <title>3D transformed Lorem Ipsum</title>
+ <style>
+ body > p {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ color: green;
+ float: left;
+ position: relative;
+ }
+ .transformed {
+ transform: rotateX(0.001deg) rotateZ(-90deg);
+ transform-origin: top center;
+ }
+ .front {
+ z-index: 10;
+ }
+ .back {
+ z-index: 0;
+ }
+ .marker {
+ color: red;
+ }
+ </style>
+</head>
+<body>
+ <p class="transformed front">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </p>
+ <p class="marker back">
+ xx<br>
+ xx
+ </p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-gg-rr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-gg-rr.png
new file mode 100644
index 00000000000..84f5b2a4f1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-gg-rr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-green.png
new file mode 100644
index 00000000000..b3c8cf3eb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-red.png
new file mode 100644
index 00000000000..823f125b8e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/60x60-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/Three.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/Three.js
new file mode 100644
index 00000000000..60747148474
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/Three.js
@@ -0,0 +1,682 @@
+// Three.js r44 - http://github.com/mrdoob/three.js
+var THREE=THREE||{};if(!window.Int32Array)window.Int32Array=Array,window.Float32Array=Array;THREE.Color=function(b){b!==void 0&&this.setHex(b);return this};
+THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(b){this.r=b.r;this.g=b.g;this.b=b.b;return this},setRGB:function(b,c,e){this.r=b;this.g=c;this.b=e;return this},setHSV:function(b,c,e){var f,h,m;if(e==0)this.r=this.g=this.b=0;else switch(f=Math.floor(b*6),h=b*6-f,b=e*(1-c),m=e*(1-c*h),c=e*(1-c*(1-h)),f){case 1:this.r=m;this.g=e;this.b=b;break;case 2:this.r=b;this.g=e;this.b=c;break;case 3:this.r=b;this.g=m;this.b=e;break;case 4:this.r=c;this.g=b;this.b=e;break;case 5:this.r=
+e;this.g=b;this.b=m;break;case 6:case 0:this.r=e,this.g=c,this.b=b}return this},setHex:function(b){b=Math.floor(b);this.r=(b>>16&255)/255;this.g=(b>>8&255)/255;this.b=(b&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};
+THREE.Vector2=function(b,c){this.x=b||0;this.y=c||0};
+THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(b,c){this.x=b;this.y=c;return this},copy:function(b){this.x=b.x;this.y=b.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;return this},
+divideScalar:function(b){b?(this.x/=b,this.y/=b):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){var c=this.x-b.x,b=this.y-b.y;return c*c+b*b},setLength:function(b){return this.normalize().multiplyScalar(b)},
+equals:function(b){return b.x==this.x&&b.y==this.y}};THREE.Vector3=function(b,c,e){this.x=b||0;this.y=c||0;this.z=e||0};
+THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(b,c,e){this.x=b;this.y=c;this.z=e;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;return this},addScalar:function(b){this.x+=b;this.y+=b;this.z+=b;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=
+b.z-c.z;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;return this},multiply:function(b,c){this.x=b.x*c.x;this.y=b.y*c.y;this.z=b.z*c.z;return this},multiplySelf:function(b){this.x*=b.x;this.y*=b.y;this.z*=b.z;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;return this},divideSelf:function(b){this.x/=b.x;this.y/=b.y;this.z/=b.z;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b):this.set(0,0,0);return this},negate:function(){return this.multiplyScalar(-1)},
+dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},cross:function(b,c){this.x=b.y*c.z-b.z*c.y;this.y=b.z*c.x-b.x*c.z;this.z=b.x*c.y-b.y*c.x;return this},crossSelf:function(b){return this.set(this.y*
+b.z-this.z*b.y,this.z*b.x-this.x*b.z,this.x*b.y-this.y*b.x)},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){return(new THREE.Vector3).sub(this,b).lengthSq()},setPositionFromMatrix:function(b){this.x=b.n14;this.y=b.n24;this.z=b.n34},setRotationFromMatrix:function(b){var c=Math.cos(this.y);this.y=Math.asin(b.n13);Math.abs(c)>1.0E-5?(this.x=Math.atan2(-b.n23/c,b.n33/c),this.z=Math.atan2(-b.n12/c,b.n11/c)):(this.x=0,this.z=Math.atan2(b.n21,b.n22))},isZero:function(){return this.lengthSq()<
+1.0E-4}};THREE.Vector4=function(b,c,e,f){this.x=b||0;this.y=c||0;this.z=e||0;this.w=f||1};
+THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w||1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;this.w=b.w+c.w;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;this.w+=b.w;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=b.z-c.z;this.w=
+b.w-c.w;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;this.w-=b.w;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;this.w*=b;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b,this.w/=b):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z+this.w*b.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},
+normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},lerpSelf:function(b,c){this.x+=(b.x-this.x)*c;this.y+=(b.y-this.y)*c;this.z+=(b.z-this.z)*c;this.w+=(b.w-this.w)*c;return this}};THREE.Ray=function(b,c){this.origin=b||new THREE.Vector3;this.direction=c||new THREE.Vector3};
+THREE.Ray.prototype={constructor:THREE.Ray,intersectScene:function(b){return this.intersectObjects(b.objects)},intersectObjects:function(b){var c,e,f=[];c=0;for(e=b.length;c<e;c++)f=f.concat(this.intersectObject(b[c]));f.sort(function(b,e){return b.distance-e.distance});return f},intersectObject:function(b){function c(b,e,c){var f;f=c.clone().subSelf(b).dot(e);if(f<=0)return null;b=b.clone().addSelf(e.clone().multiplyScalar(f));return c.distanceTo(b)}function e(b,e,c,f){var f=f.clone().subSelf(e),
+c=c.clone().subSelf(e),h=b.clone().subSelf(e),b=f.dot(f),e=f.dot(c),f=f.dot(h),k=c.dot(c),c=c.dot(h),h=1/(b*k-e*e),k=(k*f-e*c)*h,b=(b*c-e*f)*h;return k>0&&b>0&&k+b<1}if(b instanceof THREE.Particle){var f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.scale.x)return[];return[{distance:f,point:b.position,face:null,object:b}]}else if(b instanceof THREE.Mesh){f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.geometry.boundingSphere.radius*Math.max(b.scale.x,
+Math.max(b.scale.y,b.scale.z)))return[];var h,m,k,n,u,p,v,t,x,w,z=b.geometry,y=z.vertices,B=[],f=0;for(h=z.faces.length;f<h;f++)if(m=z.faces[f],x=this.origin.clone(),w=this.direction.clone(),p=b.matrixWorld,k=p.multiplyVector3(m.centroid.clone()).subSelf(x),t=k.dot(w),!(t<=0)&&(k=p.multiplyVector3(y[m.a].position.clone()),n=p.multiplyVector3(y[m.b].position.clone()),u=p.multiplyVector3(y[m.c].position.clone()),p=m instanceof THREE.Face4?p.multiplyVector3(y[m.d].position.clone()):null,v=b.matrixRotationWorld.multiplyVector3(m.normal.clone()),
+t=w.dot(v),b.doubleSided||(b.flipSided?t>0:t<0)))if(t=v.dot((new THREE.Vector3).sub(k,x))/t,x=x.addSelf(w.multiplyScalar(t)),m instanceof THREE.Face3)e(x,k,n,u)&&(m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m));else if(m instanceof THREE.Face4&&(e(x,k,n,p)||e(x,n,u,p)))m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m);B.sort(function(b,e){return b.distance-e.distance});return B}else return[]}};
+THREE.Rectangle=function(){function b(){m=f-c;k=h-e}var c,e,f,h,m,k,n=!0;this.getX=function(){return c};this.getY=function(){return e};this.getWidth=function(){return m};this.getHeight=function(){return k};this.getLeft=function(){return c};this.getTop=function(){return e};this.getRight=function(){return f};this.getBottom=function(){return h};this.set=function(k,m,v,t){n=!1;c=k;e=m;f=v;h=t;b()};this.addPoint=function(k,m){n?(n=!1,c=k,e=m,f=k,h=m):(c=c<k?c:k,e=e<m?e:m,f=f>k?f:k,h=h>m?h:m);b()};this.add3Points=
+function(k,m,v,t,x,w){n?(n=!1,c=k<v?k<x?k:x:v<x?v:x,e=m<t?m<w?m:w:t<w?t:w,f=k>v?k>x?k:x:v>x?v:x,h=m>t?m>w?m:w:t>w?t:w):(c=k<v?k<x?k<c?k:c:x<c?x:c:v<x?v<c?v:c:x<c?x:c,e=m<t?m<w?m<e?m:e:w<e?w:e:t<w?t<e?t:e:w<e?w:e,f=k>v?k>x?k>f?k:f:x>f?x:f:v>x?v>f?v:f:x>f?x:f,h=m>t?m>w?m>h?m:h:w>h?w:h:t>w?t>h?t:h:w>h?w:h);b()};this.addRectangle=function(k){n?(n=!1,c=k.getLeft(),e=k.getTop(),f=k.getRight(),h=k.getBottom()):(c=c<k.getLeft()?c:k.getLeft(),e=e<k.getTop()?e:k.getTop(),f=f>k.getRight()?f:k.getRight(),h=h>
+k.getBottom()?h:k.getBottom());b()};this.inflate=function(k){c-=k;e-=k;f+=k;h+=k;b()};this.minSelf=function(k){c=c>k.getLeft()?c:k.getLeft();e=e>k.getTop()?e:k.getTop();f=f<k.getRight()?f:k.getRight();h=h<k.getBottom()?h:k.getBottom();b()};this.instersects=function(b){return Math.min(f,b.getRight())-Math.max(c,b.getLeft())>=0&&Math.min(h,b.getBottom())-Math.max(e,b.getTop())>=0};this.empty=function(){n=!0;h=f=e=c=0;b()};this.isEmpty=function(){return n}};THREE.Matrix3=function(){this.m=[]};
+THREE.Matrix3.prototype={constructor:THREE.Matrix3,transpose:function(){var b,c=this.m;b=c[1];c[1]=c[3];c[3]=b;b=c[2];c[2]=c[6];c[6]=b;b=c[5];c[5]=c[7];c[7]=b;return this},transposeIntoArray:function(b){var c=this.m;b[0]=c[0];b[1]=c[3];b[2]=c[6];b[3]=c[1];b[4]=c[4];b[5]=c[7];b[6]=c[2];b[7]=c[5];b[8]=c[8];return this}};THREE.Matrix4=function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.set(b||1,c||0,e||0,f||0,h||0,m||1,k||0,n||0,u||0,p||0,v||1,t||0,x||0,w||0,z||0,y||1);this.flat=Array(16);this.m33=new THREE.Matrix3};
+THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.n11=b;this.n12=c;this.n13=e;this.n14=f;this.n21=h;this.n22=m;this.n23=k;this.n24=n;this.n31=u;this.n32=p;this.n33=v;this.n34=t;this.n41=x;this.n42=w;this.n43=z;this.n44=y;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(b){this.set(b.n11,b.n12,b.n13,b.n14,b.n21,b.n22,b.n23,b.n24,b.n31,b.n32,b.n33,b.n34,b.n41,b.n42,b.n43,b.n44);return this},lookAt:function(b,
+c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;m.sub(b,c).normalize();if(m.length()===0)m.z=1;f.cross(e,m).normalize();f.length()===0&&(m.x+=1.0E-4,f.cross(e,m).normalize());h.cross(m,f).normalize();this.n11=f.x;this.n12=h.x;this.n13=m.x;this.n21=f.y;this.n22=h.y;this.n23=m.y;this.n31=f.z;this.n32=h.z;this.n33=m.z;return this},multiplyVector3:function(b){var c=b.x,e=b.y,f=b.z,h=1/(this.n41*c+this.n42*e+this.n43*f+this.n44);b.x=(this.n11*c+this.n12*e+this.n13*f+this.n14)*h;
+b.y=(this.n21*c+this.n22*e+this.n23*f+this.n24)*h;b.z=(this.n31*c+this.n32*e+this.n33*f+this.n34)*h;return b},multiplyVector4:function(b){var c=b.x,e=b.y,f=b.z,h=b.w;b.x=this.n11*c+this.n12*e+this.n13*f+this.n14*h;b.y=this.n21*c+this.n22*e+this.n23*f+this.n24*h;b.z=this.n31*c+this.n32*e+this.n33*f+this.n34*h;b.w=this.n41*c+this.n42*e+this.n43*f+this.n44*h;return b},rotateAxis:function(b){var c=b.x,e=b.y,f=b.z;b.x=c*this.n11+e*this.n12+f*this.n13;b.y=c*this.n21+e*this.n22+f*this.n23;b.z=c*this.n31+
+e*this.n32+f*this.n33;b.normalize();return b},crossVector:function(b){var c=new THREE.Vector4;c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=b.w?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44,G=c.n11,H=c.n12,
+E=c.n13,N=c.n14,F=c.n21,I=c.n22,C=c.n23,K=c.n24,U=c.n31,L=c.n32,O=c.n33,S=c.n34,P=c.n41,o=c.n42,W=c.n43,na=c.n44;this.n11=e*G+f*F+h*U+m*P;this.n12=e*H+f*I+h*L+m*o;this.n13=e*E+f*C+h*O+m*W;this.n14=e*N+f*K+h*S+m*na;this.n21=k*G+n*F+u*U+p*P;this.n22=k*H+n*I+u*L+p*o;this.n23=k*E+n*C+u*O+p*W;this.n24=k*N+n*K+u*S+p*na;this.n31=v*G+t*F+x*U+w*P;this.n32=v*H+t*I+x*L+w*o;this.n33=v*E+t*C+x*O+w*W;this.n34=v*N+t*K+x*S+w*na;this.n41=z*G+y*F+B*U+D*P;this.n42=z*H+y*I+B*L+D*o;this.n43=z*E+y*C+B*O+D*W;this.n44=z*
+N+y*K+B*S+D*na;return this},multiplyToArray:function(b,c,e){this.multiply(b,c);e[0]=this.n11;e[1]=this.n21;e[2]=this.n31;e[3]=this.n41;e[4]=this.n12;e[5]=this.n22;e[6]=this.n32;e[7]=this.n42;e[8]=this.n13;e[9]=this.n23;e[10]=this.n33;e[11]=this.n43;e[12]=this.n14;e[13]=this.n24;e[14]=this.n34;e[15]=this.n44;return this},multiplySelf:function(b){this.multiply(this,b);return this},multiplyScalar:function(b){this.n11*=b;this.n12*=b;this.n13*=b;this.n14*=b;this.n21*=b;this.n22*=b;this.n23*=b;this.n24*=
+b;this.n31*=b;this.n32*=b;this.n33*=b;this.n34*=b;this.n41*=b;this.n42*=b;this.n43*=b;this.n44*=b;return this},determinant:function(){var b=this.n11,c=this.n12,e=this.n13,f=this.n14,h=this.n21,m=this.n22,k=this.n23,n=this.n24,u=this.n31,p=this.n32,v=this.n33,t=this.n34,x=this.n41,w=this.n42,z=this.n43,y=this.n44;return f*k*p*x-e*n*p*x-f*m*v*x+c*n*v*x+e*m*t*x-c*k*t*x-f*k*u*w+e*n*u*w+f*h*v*w-b*n*v*w-e*h*t*w+b*k*t*w+f*m*u*z-c*n*u*z-f*h*p*z+b*n*p*z+c*h*t*z-b*m*t*z-e*m*u*y+c*k*u*y+e*h*p*y-b*k*p*y-c*h*
+v*y+b*m*v*y},transpose:function(){var b;b=this.n21;this.n21=this.n12;this.n12=b;b=this.n31;this.n31=this.n13;this.n13=b;b=this.n32;this.n32=this.n23;this.n23=b;b=this.n41;this.n41=this.n14;this.n14=b;b=this.n42;this.n42=this.n24;this.n24=b;b=this.n43;this.n43=this.n34;this.n43=b;return this},clone:function(){var b=new THREE.Matrix4;b.n11=this.n11;b.n12=this.n12;b.n13=this.n13;b.n14=this.n14;b.n21=this.n21;b.n22=this.n22;b.n23=this.n23;b.n24=this.n24;b.n31=this.n31;b.n32=this.n32;b.n33=this.n33;b.n34=
+this.n34;b.n41=this.n41;b.n42=this.n42;b.n43=this.n43;b.n44=this.n44;return b},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(b){b[0]=
+this.n11;b[1]=this.n21;b[2]=this.n31;b[3]=this.n41;b[4]=this.n12;b[5]=this.n22;b[6]=this.n32;b[7]=this.n42;b[8]=this.n13;b[9]=this.n23;b[10]=this.n33;b[11]=this.n43;b[12]=this.n14;b[13]=this.n24;b[14]=this.n34;b[15]=this.n44;return b},flattenToArrayOffset:function(b,c){b[c]=this.n11;b[c+1]=this.n21;b[c+2]=this.n31;b[c+3]=this.n41;b[c+4]=this.n12;b[c+5]=this.n22;b[c+6]=this.n32;b[c+7]=this.n42;b[c+8]=this.n13;b[c+9]=this.n23;b[c+10]=this.n33;b[c+11]=this.n43;b[c+12]=this.n14;b[c+13]=this.n24;b[c+14]=
+this.n34;b[c+15]=this.n44;return b},setTranslation:function(b,c,e){this.set(1,0,0,b,0,1,0,c,0,0,1,e,0,0,0,1);return this},setScale:function(b,c,e){this.set(b,0,0,0,0,c,0,0,0,0,e,0,0,0,0,1);return this},setRotationX:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(1,0,0,0,0,c,-b,0,0,b,c,0,0,0,0,1);return this},setRotationY:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,0,b,0,0,1,0,0,-b,0,c,0,0,0,0,1);return this},setRotationZ:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,-b,0,
+0,b,c,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(b,c){var e=Math.cos(c),f=Math.sin(c),h=1-e,m=b.x,k=b.y,n=b.z,u=h*m,p=h*k;this.set(u*m+e,u*k-f*n,u*n+f*k,0,u*k+f*n,p*k+e,p*n-f*m,0,u*n-f*k,p*n+f*m,h*n*n+e,0,0,0,0,1);return this},setPosition:function(b){this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},getPosition:function(){if(!this.position)this.position=new THREE.Vector3;this.position.set(this.n14,this.n24,this.n34);return this.position},getColumnX:function(){if(!this.columnX)this.columnX=
+new THREE.Vector3;this.columnX.set(this.n11,this.n21,this.n31);return this.columnX},getColumnY:function(){if(!this.columnY)this.columnY=new THREE.Vector3;this.columnY.set(this.n12,this.n22,this.n32);return this.columnY},getColumnZ:function(){if(!this.columnZ)this.columnZ=new THREE.Vector3;this.columnZ.set(this.n13,this.n23,this.n33);return this.columnZ},setRotationFromEuler:function(b,c){var e=b.x,f=b.y,h=b.z,m=Math.cos(e),e=Math.sin(e),k=Math.cos(f),f=Math.sin(f),n=Math.cos(h),h=Math.sin(h);switch(c){case "YXZ":var u=
+k*n,p=k*h,v=f*n,t=f*h;this.n11=u+t*e;this.n12=v*e-p;this.n13=m*f;this.n21=m*h;this.n22=m*n;this.n23=-e;this.n31=p*e-v;this.n32=t+u*e;this.n33=m*k;break;case "ZXY":u=k*n;p=k*h;v=f*n;t=f*h;this.n11=u-t*e;this.n12=-m*h;this.n13=v+p*e;this.n21=p+v*e;this.n22=m*n;this.n23=t-u*e;this.n31=-m*f;this.n32=e;this.n33=m*k;break;case "ZYX":u=m*n;p=m*h;v=e*n;t=e*h;this.n11=k*n;this.n12=v*f-p;this.n13=u*f+t;this.n21=k*h;this.n22=t*f+u;this.n23=p*f-v;this.n31=-f;this.n32=e*k;this.n33=m*k;break;case "YZX":u=m*k;p=
+m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=t-u*h;this.n13=v*h+p;this.n21=h;this.n22=m*n;this.n23=-e*n;this.n31=-f*n;this.n32=p*h+v;this.n33=u-t*h;break;case "XZY":u=m*k;p=m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=-h;this.n13=f*n;this.n21=u*h+t;this.n22=m*n;this.n23=p*h-v;this.n31=v*h-p;this.n32=e*n;this.n33=t*h+u;break;default:u=m*n,p=m*h,v=e*n,t=e*h,this.n11=k*n,this.n12=-k*h,this.n13=f,this.n21=p+v*f,this.n22=u-t*f,this.n23=-e*k,this.n31=t-u*f,this.n32=v+p*f,this.n33=m*k}return this},setRotationFromQuaternion:function(b){var c=
+b.x,e=b.y,f=b.z,h=b.w,m=c+c,k=e+e,n=f+f,b=c*m,u=c*k;c*=n;var p=e*k;e*=n;f*=n;m*=h;k*=h;h*=n;this.n11=1-(p+f);this.n12=u-h;this.n13=c+k;this.n21=u+h;this.n22=1-(b+f);this.n23=e-m;this.n31=c-k;this.n32=e+m;this.n33=1-(b+p);return this},scale:function(b){var c=b.x,e=b.y,b=b.z;this.n11*=c;this.n12*=e;this.n13*=b;this.n21*=c;this.n22*=e;this.n23*=b;this.n31*=c;this.n32*=e;this.n33*=b;this.n41*=c;this.n42*=e;this.n43*=b;return this},compose:function(b,c,e){var f=THREE.Matrix4.__m1,h=THREE.Matrix4.__m2;
+f.identity();f.setRotationFromQuaternion(c);h.setScale(e.x,e.y,e.z);this.multiply(f,h);this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},decompose:function(b,c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;f.set(this.n11,this.n21,this.n31);h.set(this.n12,this.n22,this.n32);m.set(this.n13,this.n23,this.n33);b=b instanceof THREE.Vector3?b:new THREE.Vector3;c=c instanceof THREE.Quaternion?c:new THREE.Quaternion;e=e instanceof THREE.Vector3?e:new THREE.Vector3;e.x=f.length();
+e.y=h.length();e.z=m.length();b.x=this.n14;b.y=this.n24;b.z=this.n34;f=THREE.Matrix4.__m1;f.copy(this);f.n11/=e.x;f.n21/=e.x;f.n31/=e.x;f.n12/=e.y;f.n22/=e.y;f.n32/=e.y;f.n13/=e.z;f.n23/=e.z;f.n33/=e.z;c.setFromRotationMatrix(f);return[b,c,e]},extractPosition:function(b){this.n14=b.n14;this.n24=b.n24;this.n34=b.n34},extractRotation:function(b,c){var e=1/c.x,f=1/c.y,h=1/c.z;this.n11=b.n11*e;this.n21=b.n21*e;this.n31=b.n31*e;this.n12=b.n12*f;this.n22=b.n22*f;this.n32=b.n32*f;this.n13=b.n13*h;this.n23=
+b.n23*h;this.n33=b.n33*h}};
+THREE.Matrix4.makeInvert=function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44;c===void 0&&(c=new THREE.Matrix4);c.n11=u*w*y-p*x*y+p*t*B-n*w*B-u*t*D+n*x*D;c.n12=m*x*y-h*w*y-m*t*B+f*w*B+h*t*D-f*x*D;c.n13=h*p*y-m*u*y+m*n*B-f*p*B-h*n*D+f*u*D;c.n14=m*u*t-h*p*t-m*n*x+f*p*x+h*n*w-f*u*w;c.n21=p*x*z-u*w*z-p*v*B+k*w*B+u*v*D-k*x*D;c.n22=h*w*z-m*x*z+m*v*B-e*w*B-h*v*D+e*x*D;c.n23=m*u*z-h*p*z-m*k*B+e*p*B+h*k*D-e*u*D;c.n24=
+h*p*v-m*u*v+m*k*x-e*p*x-h*k*w+e*u*w;c.n31=n*w*z-p*t*z+p*v*y-k*w*y-n*v*D+k*t*D;c.n32=m*t*z-f*w*z-m*v*y+e*w*y+f*v*D-e*t*D;c.n33=h*p*z-m*n*z+m*k*y-e*p*y-f*k*D+e*n*D;c.n34=m*n*v-f*p*v-m*k*t+e*p*t+f*k*w-e*n*w;c.n41=u*t*z-n*x*z-u*v*y+k*x*y+n*v*B-k*t*B;c.n42=f*x*z-h*t*z+h*v*y-e*x*y-f*v*B+e*t*B;c.n43=h*n*z-f*u*z-h*k*y+e*u*y+f*k*B-e*n*B;c.n44=f*u*v-h*n*v+h*k*t-e*u*t-f*k*x+e*n*x;c.multiplyScalar(1/b.determinant());return c};
+THREE.Matrix4.makeInvert3x3=function(b){var c=b.m33,e=c.m,f=b.n33*b.n22-b.n32*b.n23,h=-b.n33*b.n21+b.n31*b.n23,m=b.n32*b.n21-b.n31*b.n22,k=-b.n33*b.n12+b.n32*b.n13,n=b.n33*b.n11-b.n31*b.n13,u=-b.n32*b.n11+b.n31*b.n12,p=b.n23*b.n12-b.n22*b.n13,v=-b.n23*b.n11+b.n21*b.n13,t=b.n22*b.n11-b.n21*b.n12,b=b.n11*f+b.n21*k+b.n31*p;b==0&&console.error("THREE.Matrix4.makeInvert3x3: Matrix not invertible.");b=1/b;e[0]=b*f;e[1]=b*h;e[2]=b*m;e[3]=b*k;e[4]=b*n;e[5]=b*u;e[6]=b*p;e[7]=b*v;e[8]=b*t;return c};
+THREE.Matrix4.makeFrustum=function(b,c,e,f,h,m){var k;k=new THREE.Matrix4;k.n11=2*h/(c-b);k.n12=0;k.n13=(c+b)/(c-b);k.n14=0;k.n21=0;k.n22=2*h/(f-e);k.n23=(f+e)/(f-e);k.n24=0;k.n31=0;k.n32=0;k.n33=-(m+h)/(m-h);k.n34=-2*m*h/(m-h);k.n41=0;k.n42=0;k.n43=-1;k.n44=0;return k};THREE.Matrix4.makePerspective=function(b,c,e,f){var h,b=e*Math.tan(b*Math.PI/360);h=-b;return THREE.Matrix4.makeFrustum(h*c,b*c,h,b,e,f)};
+THREE.Matrix4.makeOrtho=function(b,c,e,f,h,m){var k,n,u,p;k=new THREE.Matrix4;n=c-b;u=e-f;p=m-h;k.n11=2/n;k.n12=0;k.n13=0;k.n14=-((c+b)/n);k.n21=0;k.n22=2/u;k.n23=0;k.n24=-((e+f)/u);k.n31=0;k.n32=0;k.n33=-2/p;k.n34=-((m+h)/p);k.n41=0;k.n42=0;k.n43=0;k.n44=1;return k};THREE.Matrix4.__v1=new THREE.Vector3;THREE.Matrix4.__v2=new THREE.Vector3;THREE.Matrix4.__v3=new THREE.Vector3;THREE.Matrix4.__m1=new THREE.Matrix4;THREE.Matrix4.__m2=new THREE.Matrix4;
+THREE.Object3D=function(){this.id=THREE.Object3DCount++;this.name="";this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder="XYZ";this.scale=new THREE.Vector3(1,1,1);this.flipSided=this.doubleSided=this.dynamic=!1;this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
+!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.boundRadius=0;this.boundRadiusScale=1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
+THREE.Object3D.prototype={constructor:THREE.Object3D,translate:function(b,c){this.matrix.rotateAxis(c);this.position.addSelf(c.multiplyScalar(b))},translateX:function(b){this.translate(b,this._vector.set(1,0,0))},translateY:function(b){this.translate(b,this._vector.set(0,1,0))},translateZ:function(b){this.translate(b,this._vector.set(0,0,1))},lookAt:function(b){this.matrix.lookAt(b,this.position,this.up);this.rotationAutoUpdate&&this.rotation.setRotationFromMatrix(this.matrix)},addChild:function(b){if(this.children.indexOf(b)===
+-1){b.parent!==void 0&&b.parent.removeChild(b);b.parent=this;this.children.push(b);for(var c=this;c.parent!==void 0;)c=c.parent;c!==void 0&&c instanceof THREE.Scene&&c.addChildRecurse(b)}},removeChild:function(b){var c=this.children.indexOf(b);if(c!==-1)b.parent=void 0,this.children.splice(c,1)},getChildByName:function(b,c){var e,f,h;e=0;for(f=this.children.length;e<f;e++){h=this.children[e];if(h.name===b)return h;if(c&&(h=h.getChildByName(b,c),h!==void 0))return h}},updateMatrix:function(){this.matrix.setPosition(this.position);
+this.useQuaternion?this.matrix.setRotationFromQuaternion(this.quaternion):this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder);if(this.scale.x!==1||this.scale.y!==1||this.scale.z!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,Math.max(this.scale.y,this.scale.z));this.matrixWorldNeedsUpdate=!0},update:function(b,c,e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||c)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),
+this.matrixRotationWorld.extractRotation(this.matrixWorld,this.scale),this.matrixWorldNeedsUpdate=!1,c=!0;for(var b=0,f=this.children.length;b<f;b++)this.children[b].update(this.matrixWorld,c,e)}};THREE.Object3DCount=0;
+THREE.Projector=function(){function b(){var b=u[n]=u[n]||new THREE.RenderableVertex;n++;return b}function c(b,e){return e.z-b.z}function e(b,e){var c=0,f=1,k=b.z+b.w,h=e.z+e.w,m=-b.z+b.w,n=-e.z+e.w;return k>=0&&h>=0&&m>=0&&n>=0?!0:k<0&&h<0||m<0&&n<0?!1:(k<0?c=Math.max(c,k/(k-h)):h<0&&(f=Math.min(f,k/(k-h))),m<0?c=Math.max(c,m/(m-n)):n<0&&(f=Math.min(f,m/(m-n))),f<c?!1:(b.lerpSelf(e,c),e.lerpSelf(b,1-f),!0))}var f,h,m=[],k,n,u=[],p,v,t=[],x,w=[],z,y,B=[],D,G,H=[],E=[],N=[],F=new THREE.Vector4,I=new THREE.Vector4,
+C=new THREE.Matrix4,K=new THREE.Matrix4,U=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],L=new THREE.Vector4,O=new THREE.Vector4;this.projectVector=function(b,e){C.multiply(e.projectionMatrix,e.matrixWorldInverse);C.multiplyVector3(b);return b};this.unprojectVector=function(b,e){C.multiply(e.matrixWorld,THREE.Matrix4.makeInvert(e.projectionMatrix));C.multiplyVector3(b);return b};this.projectObjects=function(b,e,k){var n,u;h=E.length=0;
+n=b.objects;b=0;for(e=n.length;b<e;b++){u=n[b];var w;if(!(w=!u.visible))if(w=u instanceof THREE.Mesh)if(w=u.frustumCulled){a:{w=void 0;for(var t=u.matrixWorld,p=-u.geometry.boundingSphere.radius*Math.max(u.scale.x,Math.max(u.scale.y,u.scale.z)),v=0;v<6;v++)if(w=U[v].x*t.n14+U[v].y*t.n24+U[v].z*t.n34+U[v].w,w<=p){w=!1;break a}w=!0}w=!w}if(!w)w=m[h]=m[h]||new THREE.RenderableObject,h++,f=w,F.copy(u.position),C.multiplyVector3(F),f.object=u,f.z=F.z,E.push(f)}k&&E.sort(c);return E};this.projectScene=
+function(f,h,m){var E=h.near,F=h.far,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa,V,pa,va,ra;G=y=x=v=N.length=0;h.matrixAutoUpdate&&h.update(void 0,!0);f.update(void 0,!1,h);C.multiply(h.projectionMatrix,h.matrixWorldInverse);U[0].set(C.n41-C.n11,C.n42-C.n12,C.n43-C.n13,C.n44-C.n14);U[1].set(C.n41+C.n11,C.n42+C.n12,C.n43+C.n13,C.n44+C.n14);U[2].set(C.n41+C.n21,C.n42+C.n22,C.n43+C.n23,C.n44+C.n24);U[3].set(C.n41-C.n21,C.n42-C.n22,C.n43-C.n23,C.n44-C.n24);U[4].set(C.n41-C.n31,C.n42-C.n32,C.n43-C.n33,C.n44-C.n34);
+U[5].set(C.n41+C.n31,C.n42+C.n32,C.n43+C.n33,C.n44+C.n34);for(R=0;R<6;R++)ca=U[R],ca.divideScalar(Math.sqrt(ca.x*ca.x+ca.y*ca.y+ca.z*ca.z));ca=this.projectObjects(f,h,!0);f=0;for(R=ca.length;f<R;f++)if(X=ca[f].object,X.visible)if(ja=X.matrixWorld,ea=X.matrixRotationWorld,qa=X.materials,V=X.overdraw,n=0,X instanceof THREE.Mesh){pa=X.geometry;ma=pa.vertices;va=pa.faces;pa=pa.faceVertexUvs;ia=0;for(aa=ma.length;ia<aa;ia++)k=b(),k.positionWorld.copy(ma[ia].position),ja.multiplyVector3(k.positionWorld),
+k.positionScreen.copy(k.positionWorld),C.multiplyVector4(k.positionScreen),k.positionScreen.x/=k.positionScreen.w,k.positionScreen.y/=k.positionScreen.w,k.visible=k.positionScreen.z>E&&k.positionScreen.z<F;ma=0;for(ia=va.length;ma<ia;ma++){aa=va[ma];if(aa instanceof THREE.Face3)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],fa.visible&&ga.visible&&da.visible&&(X.doubleSided||X.flipSided!=(da.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-(da.positionScreen.y-fa.positionScreen.y)*
+(ga.positionScreen.x-fa.positionScreen.x)<0))$=t[v]=t[v]||new THREE.RenderableFace3,v++,p=$,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da);else continue;else if(aa instanceof THREE.Face4)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],$=u[aa.d],fa.visible&&ga.visible&&da.visible&&$.visible&&(X.doubleSided||X.flipSided!=(($.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-($.positionScreen.y-fa.positionScreen.y)*(ga.positionScreen.x-fa.positionScreen.x)<0||(ga.positionScreen.x-da.positionScreen.x)*
+($.positionScreen.y-da.positionScreen.y)-(ga.positionScreen.y-da.positionScreen.y)*($.positionScreen.x-da.positionScreen.x)<0)))ra=w[x]=w[x]||new THREE.RenderableFace4,x++,p=ra,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da),p.v4.copy($);else continue;p.normalWorld.copy(aa.normal);ea.multiplyVector3(p.normalWorld);p.centroidWorld.copy(aa.centroid);ja.multiplyVector3(p.centroidWorld);p.centroidScreen.copy(p.centroidWorld);C.multiplyVector3(p.centroidScreen);da=aa.vertexNormals;fa=0;for(ga=da.length;fa<ga;fa++)$=
+p.vertexNormalsWorld[fa],$.copy(da[fa]),ea.multiplyVector3($);fa=0;for(ga=pa.length;fa<ga;fa++)if(ra=pa[fa][ma]){da=0;for($=ra.length;da<$;da++)p.uvs[fa][da]=ra[da]}p.meshMaterials=qa;p.faceMaterials=aa.materials;p.overdraw=V;p.z=p.centroidScreen.z;N.push(p)}}else if(X instanceof THREE.Line){K.multiply(C,ja);ma=X.geometry.vertices;fa=b();fa.positionScreen.copy(ma[0].position);K.multiplyVector4(fa.positionScreen);ia=1;for(aa=ma.length;ia<aa;ia++)if(fa=b(),fa.positionScreen.copy(ma[ia].position),K.multiplyVector4(fa.positionScreen),
+ga=u[n-2],L.copy(fa.positionScreen),O.copy(ga.positionScreen),e(L,O))L.multiplyScalar(1/L.w),O.multiplyScalar(1/O.w),ja=B[y]=B[y]||new THREE.RenderableLine,y++,z=ja,z.v1.positionScreen.copy(L),z.v2.positionScreen.copy(O),z.z=Math.max(L.z,O.z),z.materials=X.materials,N.push(z)}else if(X instanceof THREE.Particle&&(I.set(X.matrixWorld.n14,X.matrixWorld.n24,X.matrixWorld.n34,1),C.multiplyVector4(I),I.z/=I.w,I.z>0&&I.z<1))ja=H[G]=H[G]||new THREE.RenderableParticle,G++,D=ja,D.x=I.x/I.w,D.y=I.y/I.w,D.z=
+I.z,D.rotation=X.rotation.z,D.scale.x=X.scale.x*Math.abs(D.x-(I.x+h.projectionMatrix.n11)/(I.w+h.projectionMatrix.n14)),D.scale.y=X.scale.y*Math.abs(D.y-(I.y+h.projectionMatrix.n22)/(I.w+h.projectionMatrix.n24)),D.materials=X.materials,N.push(D);m&&N.sort(c);return N}};THREE.Quaternion=function(b,c,e,f){this.set(b||0,c||0,e||0,f!==void 0?f:1)};
+THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w;return this},setFromEuler:function(b){var c=0.5*Math.PI/360,e=b.x*c,f=b.y*c,h=b.z*c,b=Math.cos(f),f=Math.sin(f),c=Math.cos(-h),h=Math.sin(-h),m=Math.cos(e),e=Math.sin(e),k=b*c,n=f*h;this.w=k*m-n*e;this.x=k*e+n*m;this.y=f*c*m+b*h*e;this.z=b*h*m-f*c*e;return this},setFromAxisAngle:function(b,c){var e=c/2,f=Math.sin(e);
+this.x=b.x*f;this.y=b.y*f;this.z=b.z*f;this.w=Math.cos(e);return this},setFromRotationMatrix:function(b){var c=Math.pow(b.determinant(),1/3);this.w=Math.sqrt(Math.max(0,c+b.n11+b.n22+b.n33))/2;this.x=Math.sqrt(Math.max(0,c+b.n11-b.n22-b.n33))/2;this.y=Math.sqrt(Math.max(0,c-b.n11+b.n22-b.n33))/2;this.z=Math.sqrt(Math.max(0,c-b.n11-b.n22+b.n33))/2;this.x=b.n32-b.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=b.n13-b.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=b.n21-b.n12<0?-Math.abs(this.z):Math.abs(this.z);
+this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var b=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);b==0?this.w=this.z=this.y=this.x=0:(b=1/b,this.x*=b,this.y*=b,this.z*=b,this.w*=b);return this},multiplySelf:function(b){var c=
+this.x,e=this.y,f=this.z,h=this.w,m=b.x,k=b.y,n=b.z,b=b.w;this.x=c*b+h*m+e*n-f*k;this.y=e*b+h*k+f*m-c*n;this.z=f*b+h*n+c*k-e*m;this.w=h*b-c*m-e*k-f*n;return this},multiply:function(b,c){this.x=b.x*c.w+b.y*c.z-b.z*c.y+b.w*c.x;this.y=-b.x*c.z+b.y*c.w+b.z*c.x+b.w*c.y;this.z=b.x*c.y-b.y*c.x+b.z*c.w+b.w*c.z;this.w=-b.x*c.x-b.y*c.y-b.z*c.z+b.w*c.w;return this},multiplyVector3:function(b,c){c||(c=b);var e=b.x,f=b.y,h=b.z,m=this.x,k=this.y,n=this.z,u=this.w,p=u*e+k*h-n*f,v=u*f+n*e-m*h,t=u*h+m*f-k*e,e=-m*
+e-k*f-n*h;c.x=p*u+e*-m+v*-n-t*-k;c.y=v*u+e*-k+t*-m-p*-n;c.z=t*u+e*-n+p*-k-v*-m;return c}};THREE.Quaternion.slerp=function(b,c,e,f){var h=b.w*c.w+b.x*c.x+b.y*c.y+b.z*c.z;if(Math.abs(h)>=1)return e.w=b.w,e.x=b.x,e.y=b.y,e.z=b.z,e;var m=Math.acos(h),k=Math.sqrt(1-h*h);if(Math.abs(k)<0.001)return e.w=0.5*(b.w+c.w),e.x=0.5*(b.x+c.x),e.y=0.5*(b.y+c.y),e.z=0.5*(b.z+c.z),e;h=Math.sin((1-f)*m)/k;f=Math.sin(f*m)/k;e.w=b.w*h+c.w*f;e.x=b.x*h+c.x*f;e.y=b.y*h+c.y*f;e.z=b.z*h+c.z*f;return e};
+THREE.Vertex=function(b){this.position=b||new THREE.Vector3};THREE.Face3=function(b,c,e,f,h,m){this.a=b;this.b=c;this.c=e;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=h instanceof THREE.Color?h:new THREE.Color;this.vertexColors=h instanceof Array?h:[];this.vertexTangents=[];this.materials=m instanceof Array?m:[m];this.centroid=new THREE.Vector3};
+THREE.Face4=function(b,c,e,f,h,m,k){this.a=b;this.b=c;this.c=e;this.d=f;this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3;this.vertexNormals=h instanceof Array?h:[];this.color=m instanceof THREE.Color?m:new THREE.Color;this.vertexColors=m instanceof Array?m:[];this.vertexTangents=[];this.materials=k instanceof Array?k:[k];this.centroid=new THREE.Vector3};THREE.UV=function(b,c){this.u=b||0;this.v=c||0};
+THREE.UV.prototype={constructor:THREE.UV,set:function(b,c){this.u=b;this.v=c;return this},copy:function(b){this.u=b.u;this.v=b.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}};
+THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.faces=[];this.edges=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1};
+THREE.Geometry.prototype={constructor:THREE.Geometry,computeCentroids:function(){var b,c,e;b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e.centroid.set(0,0,0),e instanceof THREE.Face3?(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),e.centroid.divideScalar(3)):e instanceof THREE.Face4&&(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),
+e.centroid.addSelf(this.vertices[e.d].position),e.centroid.divideScalar(4))},computeFaceNormals:function(b){var c,e,f,h,m,k,n=new THREE.Vector3,u=new THREE.Vector3;f=0;for(h=this.faces.length;f<h;f++){m=this.faces[f];if(b&&m.vertexNormals.length){n.set(0,0,0);c=0;for(e=m.vertexNormals.length;c<e;c++)n.addSelf(m.vertexNormals[c]);n.divideScalar(3)}else c=this.vertices[m.a],e=this.vertices[m.b],k=this.vertices[m.c],n.sub(k.position,e.position),u.sub(c.position,e.position),n.crossSelf(u);n.isZero()||
+n.normalize();m.normal.copy(n)}},computeVertexNormals:function(){var b,c,e,f;if(this.__tmpVertices==void 0){f=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)f[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)if(e=this.faces[b],e instanceof THREE.Face3)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(e instanceof THREE.Face4)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}else{f=
+this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)f[b].set(0,0,0)}b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal)):e instanceof THREE.Face4&&(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal),f[e.d].addSelf(e.normal));b=0;for(c=this.vertices.length;b<c;b++)f[b].normalize();b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(e.vertexNormals[0].copy(f[e.a]),
+e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c])):e instanceof THREE.Face4&&(e.vertexNormals[0].copy(f[e.a]),e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c]),e.vertexNormals[3].copy(f[e.d]))},computeTangents:function(){function b(b,e,c,f,h,m,o){n=b.vertices[e].position;u=b.vertices[c].position;p=b.vertices[f].position;v=k[h];t=k[m];x=k[o];w=u.x-n.x;z=p.x-n.x;y=u.y-n.y;B=p.y-n.y;D=u.z-n.z;G=p.z-n.z;H=t.u-v.u;E=x.u-v.u;N=t.v-v.v;F=x.v-v.v;I=1/(H*F-E*N);L.set((F*w-N*z)*
+I,(F*y-N*B)*I,(F*D-N*G)*I);O.set((H*z-E*w)*I,(H*B-E*y)*I,(H*G-E*D)*I);K[e].addSelf(L);K[c].addSelf(L);K[f].addSelf(L);U[e].addSelf(O);U[c].addSelf(O);U[f].addSelf(O)}var c,e,f,h,m,k,n,u,p,v,t,x,w,z,y,B,D,G,H,E,N,F,I,C,K=[],U=[],L=new THREE.Vector3,O=new THREE.Vector3,S=new THREE.Vector3,P=new THREE.Vector3,o=new THREE.Vector3;c=0;for(e=this.vertices.length;c<e;c++)K[c]=new THREE.Vector3,U[c]=new THREE.Vector3;c=0;for(e=this.faces.length;c<e;c++)m=this.faces[c],k=this.faceVertexUvs[0][c],m instanceof
+THREE.Face3?b(this,m.a,m.b,m.c,0,1,2):m instanceof THREE.Face4&&(b(this,m.a,m.b,m.c,0,1,2),b(this,m.a,m.b,m.d,0,1,3));var W=["a","b","c","d"];c=0;for(e=this.faces.length;c<e;c++){m=this.faces[c];for(f=0;f<m.vertexNormals.length;f++)o.copy(m.vertexNormals[f]),h=m[W[f]],C=K[h],S.copy(C),S.subSelf(o.multiplyScalar(o.dot(C))).normalize(),P.cross(m.vertexNormals[f],C),h=P.dot(U[h]),h=h<0?-1:1,m.vertexTangents[f]=new THREE.Vector4(S.x,S.y,S.z,h)}this.hasTangents=!0},computeBoundingBox:function(){var b;
+if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,e=this.vertices.length;c<e;c++){b=this.vertices[c];if(b.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=b.position.x;else if(b.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=b.position.x;if(b.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=b.position.y;
+else if(b.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=b.position.y;if(b.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=b.position.z;else if(b.position.z>this.boundingBox.z[1])this.boundingBox.z[1]=b.position.z}}},computeBoundingSphere:function(){for(var b=0,c=0,e=this.vertices.length;c<e;c++)b=Math.max(b,this.vertices[c].position.length());this.boundingSphere={radius:b}},computeEdgeFaces:function(){function b(b,e){return Math.min(b,e)+"_"+Math.max(b,e)}function c(b,e,c){b[e]===
+void 0?(b[e]={set:{},array:[]},b[e].set[c]=1,b[e].array.push(c)):b[e].set[c]===void 0&&(b[e].set[c]=1,b[e].array.push(c))}var e,f,h,m,k,n={};e=0;for(f=this.faces.length;e<f;e++)k=this.faces[e],k instanceof THREE.Face3?(h=b(k.a,k.b),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.a,k.c),c(n,h,e)):k instanceof THREE.Face4&&(h=b(k.b,k.d),c(n,h,e),h=b(k.a,k.b),c(n,h,e),h=b(k.a,k.d),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.c,k.d),c(n,h,e));e=0;for(f=this.edges.length;e<f;e++){k=this.edges[e];h=k.vertexIndices[0];m=k.vertexIndices[1];
+k.faceIndices=n[b(h,m)].array;for(h=0;h<k.faceIndices.length;h++)m=k.faceIndices[h],k.faces.push(this.faces[m])}}};THREE.GeometryCount=0;
+THREE.Spline=function(b){function c(b,e,c,f,k,h,m){b=(c-b)*0.5;f=(f-e)*0.5;return(2*(e-c)+b+f)*m+(-3*(e-c)-2*b-f)*h+b*k+e}this.points=b;var e=[],f={x:0,y:0,z:0},h,m,k,n,u,p,v,t,x;this.initFromArray=function(b){this.points=[];for(var e=0;e<b.length;e++)this.points[e]={x:b[e][0],y:b[e][1],z:b[e][2]}};this.getPoint=function(b){h=(this.points.length-1)*b;m=Math.floor(h);k=h-m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>this.points.length-2?m:m+1;e[3]=m>this.points.length-3?m:m+2;p=this.points[e[0]];v=this.points[e[1]];
+t=this.points[e[2]];x=this.points[e[3]];n=k*k;u=k*n;f.x=c(p.x,v.x,t.x,x.x,k,n,u);f.y=c(p.y,v.y,t.y,x.y,k,n,u);f.z=c(p.z,v.z,t.z,x.z,k,n,u);return f};this.getControlPointsArray=function(){var b,e,c=this.points.length,f=[];for(b=0;b<c;b++)e=this.points[b],f[b]=[e.x,e.y,e.z];return f};this.getLength=function(b){var e,c,f=e=e=0,k=new THREE.Vector3,h=new THREE.Vector3,m=[],n=0;m[0]=0;b||(b=100);c=this.points.length*b;k.copy(this.points[0]);for(b=1;b<c;b++)e=b/c,position=this.getPoint(e),h.copy(position),
+n+=h.distanceTo(k),k.copy(position),e*=this.points.length-1,e=Math.floor(e),e!=f&&(m[e]=n,f=e);m[m.length]=n;return{chunks:m,total:n}};this.reparametrizeByArcLength=function(b){var e,c,f,k,h,m,n=[],u=new THREE.Vector3,t=this.getLength();n.push(u.copy(this.points[0]).clone());for(e=1;e<this.points.length;e++){c=t.chunks[e]-t.chunks[e-1];m=Math.ceil(b*c/t.total);k=(e-1)/(this.points.length-1);h=e/(this.points.length-1);for(c=1;c<m-1;c++)f=k+c*(1/m)*(h-k),position=this.getPoint(f),n.push(u.copy(position).clone());
+n.push(u.copy(this.points[e]).clone())}this.points=n}};THREE.Edge=function(b,c,e,f){this.vertices=[b,c];this.vertexIndices=[e,f];this.faces=[];this.faceIndices=[]};THREE.Camera=function(b,c,e,f,h){THREE.Object3D.call(this);this.fov=b||50;this.aspect=c||1;this.near=e||0.1;this.far=f||2E3;this.target=h||new THREE.Object3D;this.useTarget=!0;this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=null;this.updateProjectionMatrix()};THREE.Camera.prototype=new THREE.Object3D;
+THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.supr=THREE.Object3D.prototype;THREE.Camera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);c.multiplyScalar(b);this.position.addSelf(c);this.target.position.addSelf(c)};
+THREE.Camera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var b=this.fullWidth/this.fullHeight,c=Math.tan(this.fov*Math.PI/360)*this.near,e=-c,f=b*e,b=Math.abs(b*c-f),e=Math.abs(c-e);this.projectionMatrix=THREE.Matrix4.makeFrustum(f+this.x*b/this.fullWidth,f+(this.x+this.width)*b/this.fullWidth,c-(this.y+this.height)*e/this.fullHeight,c-this.y*e/this.fullHeight,this.near,this.far)}else this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};
+THREE.Camera.prototype.setViewOffset=function(b,c,e,f,h,m){this.fullWidth=b;this.fullHeight=c;this.x=e;this.y=f;this.width=h;this.height=m;this.updateProjectionMatrix()};
+THREE.Camera.prototype.update=function(b,c,e){if(this.useTarget)this.matrix.lookAt(this.position,this.target.position,this.up),this.matrix.setPosition(this.position),b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse),c=!0;else if(this.matrixAutoUpdate&&this.updateMatrix(),c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=
+!1,c=!0,THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse);for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};THREE.OrthoCamera=function(b,c,e,f,h,m,k){THREE.Camera.call(this,45,1,h,m,k);this.left=b;this.right=c;this.top=e;this.bottom=f;this.updateProjectionMatrix()};THREE.OrthoCamera.prototype=new THREE.Camera;THREE.OrthoCamera.prototype.constructor=THREE.OrthoCamera;
+THREE.OrthoCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makeOrtho(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.Light=function(b){THREE.Object3D.call(this);this.color=new THREE.Color(b)};THREE.Light.prototype=new THREE.Object3D;THREE.Light.prototype.constructor=THREE.Light;THREE.Light.prototype.supr=THREE.Object3D.prototype;THREE.AmbientLight=function(b){THREE.Light.call(this,b)};THREE.AmbientLight.prototype=new THREE.Light;
+THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.DirectionalLight.prototype=new THREE.Light;THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,c,e){THREE.Light.call(this,b);this.position=new THREE.Vector3;this.intensity=c||1;this.distance=e||0};
+THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;THREE.SpotLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.SpotLight.prototype=new THREE.Light;THREE.SpotLight.prototype.constructor=THREE.SpotLight;
+THREE.Material=function(b){this.id=THREE.MaterialCount++;b=b||{};this.opacity=b.opacity!==void 0?b.opacity:1;this.transparent=b.transparent!==void 0?b.transparent:!1;this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.depthTest=b.depthTest!==void 0?b.depthTest:!0;this.polygonOffset=b.polygonOffset!==void 0?b.polygonOffset:!1;this.polygonOffsetFactor=b.polygonOffsetFactor!==void 0?b.polygonOffsetFactor:0;this.polygonOffsetUnits=b.polygonOffsetUnits!==void 0?b.polygonOffsetUnits:
+0;this.alphaTest=b.alphaTest!==void 0?b.alphaTest:0};THREE.MaterialCount=0;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;THREE.MultiplyBlending=3;THREE.AdditiveAlphaBlending=4;
+THREE.LineBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.linewidth=b.linewidth!==void 0?b.linewidth:1;this.linecap=b.linecap!==void 0?b.linecap:"round";this.linejoin=b.linejoin!==void 0?b.linejoin:"round";this.vertexColors=b.vertexColors?b.vertexColors:!1};THREE.LineBasicMaterial.prototype=new THREE.Material;THREE.LineBasicMaterial.prototype.constructor=THREE.LineBasicMaterial;
+THREE.MeshBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshBasicMaterial.prototype=new THREE.Material;THREE.MeshBasicMaterial.prototype.constructor=THREE.MeshBasicMaterial;
+THREE.MeshLambertMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshLambertMaterial.prototype=new THREE.Material;THREE.MeshLambertMaterial.prototype.constructor=THREE.MeshLambertMaterial;
+THREE.MeshPhongMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.ambient=b.ambient!==void 0?new THREE.Color(b.ambient):new THREE.Color(328965);this.specular=b.specular!==void 0?new THREE.Color(b.specular):new THREE.Color(1118481);this.shininess=b.shininess!==void 0?b.shininess:30;this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;
+this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==
+void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshPhongMaterial.prototype=new THREE.Material;THREE.MeshPhongMaterial.prototype.constructor=THREE.MeshPhongMaterial;
+THREE.MeshDepthMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1};THREE.MeshDepthMaterial.prototype=new THREE.Material;THREE.MeshDepthMaterial.prototype.constructor=THREE.MeshDepthMaterial;
+THREE.MeshNormalMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading?b.shading:THREE.FlatShading;this.wireframe=b.wireframe?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth?b.wireframeLinewidth:1};THREE.MeshNormalMaterial.prototype=new THREE.Material;THREE.MeshNormalMaterial.prototype.constructor=THREE.MeshNormalMaterial;THREE.MeshFaceMaterial=function(){};
+THREE.MeshShaderMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.fragmentShader=b.fragmentShader!==void 0?b.fragmentShader:"void main() {}";this.vertexShader=b.vertexShader!==void 0?b.vertexShader:"void main() {}";this.uniforms=b.uniforms!==void 0?b.uniforms:{};this.attributes=b.attributes;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.fog=
+b.fog!==void 0?b.fog:!1;this.lights=b.lights!==void 0?b.lights:!1;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshShaderMaterial.prototype=new THREE.Material;THREE.MeshShaderMaterial.prototype.constructor=THREE.MeshShaderMaterial;
+THREE.ParticleBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.size=b.size!==void 0?b.size:1;this.sizeAttenuation=b.sizeAttenuation!==void 0?b.sizeAttenuation:!0;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1};THREE.ParticleBasicMaterial.prototype=new THREE.Material;THREE.ParticleBasicMaterial.prototype.constructor=THREE.ParticleBasicMaterial;
+THREE.ParticleCanvasMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.program=b.program!==void 0?b.program:function(){}};THREE.ParticleCanvasMaterial.prototype=new THREE.Material;THREE.ParticleCanvasMaterial.prototype.constructor=THREE.ParticleCanvasMaterial;THREE.ParticleDOMMaterial=function(b){THREE.Material.call(this);this.domElement=b};
+THREE.Texture=function(b,c,e,f,h,m){this.id=THREE.TextureCount++;this.image=b;this.mapping=c!==void 0?c:new THREE.UVMapping;this.wrapS=e!==void 0?e:THREE.ClampToEdgeWrapping;this.wrapT=f!==void 0?f:THREE.ClampToEdgeWrapping;this.magFilter=h!==void 0?h:THREE.LinearFilter;this.minFilter=m!==void 0?m:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.needsUpdate=!1};
+THREE.Texture.prototype={constructor:THREE.Texture,clone:function(){var b=new THREE.Texture(this.image,this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b}};THREE.TextureCount=0;THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
+THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;
+THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;THREE.DataTexture=function(b,c,e,f,h,m,k,n,u){THREE.Texture.call(this,null,h,m,k,n,u);this.image={data:b,width:c,height:e};this.format=f!==void 0?f:THREE.RGBAFormat};THREE.DataTexture.prototype=new THREE.Texture;THREE.DataTexture.prototype.constructor=THREE.DataTexture;
+THREE.DataTexture.prototype.clone=function(){var b=new THREE.DataTexture(this.data.slice(0),this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b};THREE.Particle=function(b){THREE.Object3D.call(this);this.materials=b instanceof Array?b:[b]};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;
+THREE.ParticleSystem=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.sortParticles=!1};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;THREE.Line=function(b,c,e){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.type=e!=void 0?e:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;
+THREE.Line.prototype.constructor=THREE.Line;
+THREE.Mesh=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c&&c.length?c:[c];this.overdraw=!1;if(this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere(),this.boundRadius=b.boundingSphere.radius,this.geometry.morphTargets.length)){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var e=0;e<this.geometry.morphTargets.length;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[e].name]=
+e}};THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.supr=THREE.Object3D.prototype;THREE.Mesh.prototype.getMorphTargetIndexByName=function(b){if(this.morphTargetDictionary[b]!==void 0)return this.morphTargetDictionary[b];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+b+" does not exist. Returning 0.");return 0};
+THREE.Bone=function(b){THREE.Object3D.call(this);this.skin=b;this.skinMatrix=new THREE.Matrix4;this.hasNoneBoneChildren=!1};THREE.Bone.prototype=new THREE.Object3D;THREE.Bone.prototype.constructor=THREE.Bone;THREE.Bone.prototype.supr=THREE.Object3D.prototype;
+THREE.Bone.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.skinMatrix.multiply(b,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;if(this.hasNoneBoneChildren){this.matrixWorld.multiply(this.skin.matrixWorld,this.skinMatrix);for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.skinMatrix,c,e):b.update(this.matrixWorld,!0,e)}else for(f=0;f<h;f++)this.children[f].update(this.skinMatrix,
+c,e)};THREE.Bone.prototype.addChild=function(b){if(this.children.indexOf(b)===-1&&(b.parent!==void 0&&b.parent.removeChild(b),b.parent=this,this.children.push(b),!(b instanceof THREE.Bone)))this.hasNoneBoneChildren=!0};
+THREE.SkinnedMesh=function(b,c){THREE.Mesh.call(this,b,c);this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var e,f,h,m,k,n;if(this.geometry.bones!==void 0){for(e=0;e<this.geometry.bones.length;e++)h=this.geometry.bones[e],m=h.pos,k=h.rotq,n=h.scl,f=this.addBone(),f.name=h.name,f.position.set(m[0],m[1],m[2]),f.quaternion.set(k[0],k[1],k[2],k[3]),f.useQuaternion=!0,n!==void 0?f.scale.set(n[0],n[1],n[2]):f.scale.set(1,1,1);for(e=0;e<this.bones.length;e++)h=this.geometry.bones[e],
+f=this.bones[e],h.parent===-1?this.addChild(f):this.bones[h.parent].addChild(f);this.boneMatrices=new Float32Array(16*this.bones.length);this.pose()}};THREE.SkinnedMesh.prototype=new THREE.Mesh;THREE.SkinnedMesh.prototype.constructor=THREE.SkinnedMesh;
+THREE.SkinnedMesh.prototype.update=function(b,c,e){if(this.visible){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.identityMatrix,!1,e):b.update(this.matrixWorld,c,e);e=this.bones.length;ba=this.bones;bm=this.boneMatrices;for(c=0;c<e;c++)ba[c].skinMatrix.flattenToArrayOffset(bm,
+c*16)}};THREE.SkinnedMesh.prototype.addBone=function(b){b===void 0&&(b=new THREE.Bone(this));this.bones.push(b);return b};
+THREE.SkinnedMesh.prototype.pose=function(){this.update(void 0,!0);for(var b,c=[],e=0;e<this.bones.length;e++)b=this.bones[e],c.push(THREE.Matrix4.makeInvert(b.skinMatrix)),b.skinMatrix.flattenToArrayOffset(this.boneMatrices,e*16);if(this.geometry.skinVerticesA===void 0){this.geometry.skinVerticesA=[];this.geometry.skinVerticesB=[];var f;for(b=0;b<this.geometry.skinIndices.length;b++){var e=this.geometry.vertices[b].position,h=this.geometry.skinIndices[b].x,m=this.geometry.skinIndices[b].y;f=new THREE.Vector3(e.x,
+e.y,e.z);this.geometry.skinVerticesA.push(c[h].multiplyVector3(f));f=new THREE.Vector3(e.x,e.y,e.z);this.geometry.skinVerticesB.push(c[m].multiplyVector3(f));this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y!==1&&(e=(1-(this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y))*0.5,this.geometry.skinWeights[b].x+=e,this.geometry.skinWeights[b].y+=e)}}};THREE.Ribbon=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c]};
+THREE.Ribbon.prototype=new THREE.Object3D;THREE.Ribbon.prototype.constructor=THREE.Ribbon;THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=new THREE.Object3D;THREE.LOD.prototype.constructor=THREE.LOD;THREE.LOD.prototype.supr=THREE.Object3D.prototype;THREE.LOD.prototype.add=function(b,c){c===void 0&&(c=0);for(var c=Math.abs(c),e=0;e<this.LODs.length;e++)if(c<this.LODs[e].visibleAtDistance)break;this.LODs.splice(e,0,{visibleAtDistance:c,object3D:b});this.addChild(b)};
+THREE.LOD.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;if(this.LODs.length>1){b=e.matrixWorldInverse;b=-(b.n31*this.position.x+b.n32*this.position.y+b.n33*this.position.z+b.n34);this.LODs[0].object3D.visible=!0;for(var f=1;f<this.LODs.length;f++)if(b>=this.LODs[f].visibleAtDistance)this.LODs[f-1].object3D.visible=!1,
+this.LODs[f].object3D.visible=!0;else break;for(;f<this.LODs.length;f++)this.LODs[f].object3D.visible=!1}for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};
+THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==void 0)this.material=b.material,this.map=void 0,this.blending=material.blending;else if(b.map!==void 0)this.map=b.map instanceof THREE.Texture?b.map:THREE.ImageUtils.loadTexture(b.map),this.material=void 0,this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.useScreenCoordinates=b.useScreenCoordinates!==void 0?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==void 0?b.mergeWith3D:!this.useScreenCoordinates;
+this.affectedByDistance=b.affectedByDistance!==void 0?b.affectedByDistance:!this.useScreenCoordinates;this.scaleByViewport=b.scaleByViewport!==void 0?b.scaleByViewport:!this.affectedByDistance;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.Sprite;
+THREE.Sprite.prototype.supr=THREE.Object3D.prototype;THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,this.scale.y);this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
+THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
+THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.collisions=this.overrideMaterial=this.fog=null;this.objects=[];this.lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
+THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1)this.objects.push(b),this.__objectsAdded.push(b);for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};
+THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else b instanceof THREE.Camera||(c=this.objects.indexOf(b),c!==-1&&(this.objects.splice(c,1),this.__objectsRemoved.push(b)));for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};THREE.Scene.prototype.addObject=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeObject=THREE.Scene.prototype.removeChild;
+THREE.Scene.prototype.addLight=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeLight=THREE.Scene.prototype.removeChild;THREE.Fog=function(b,c,e){this.color=new THREE.Color(b);this.near=c||1;this.far=e||1E3};THREE.FogExp2=function(b,c){this.color=new THREE.Color(b);this.density=c!==void 0?c:2.5E-4};
+THREE.DOMRenderer=function(){THREE.Renderer.call(this);var b=null,c=new THREE.Projector,e,f,h,m;this.domElement=document.createElement("div");this.setSize=function(b,c){e=b;f=c;h=e/2;m=f/2};this.render=function(e,f){var u,p,v,t,x,w,z,y;b=c.projectScene(e,f);u=0;for(p=b.length;u<p;u++)if(x=b[u],x instanceof THREE.RenderableParticle){z=x.x*h+h;y=x.y*m+m;v=0;for(t=x.material.length;v<t;v++)if(w=x.material[v],w instanceof THREE.ParticleDOMMaterial)w=w.domElement,w.style.left=z+"px",w.style.top=y+"px"}}};
+THREE.CanvasRenderer=function(b){function c(b){if(B!=b)w.globalAlpha=B=b}function e(b){if(D!=b){switch(b){case THREE.NormalBlending:w.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:w.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:w.globalCompositeOperation="darker"}D=b}}function f(b){if(G!=b)w.strokeStyle=G=b}function h(b){if(H!=b)w.fillStyle=H=b}var m=this,k=null,n=new THREE.Projector,b=b||{},u=b.canvas!==void 0?b.canvas:document.createElement("canvas"),
+p,v,t,x,w=u.getContext("2d"),z=new THREE.Color(0),y=0,B=1,D=0,G=null,H=null,E=null,N=null,F=null,I,C,K,U,L=new THREE.RenderableVertex,O=new THREE.RenderableVertex,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$=new THREE.Color(0),ca=new THREE.Color(0),X=new THREE.Color(0),ja=new THREE.Color(0),ea=new THREE.Color(0),qa=[],V,pa,va,ra,sa,Ca,wa,Aa,za,Fa,M=new THREE.Rectangle,Z=new THREE.Rectangle,T=new THREE.Rectangle,xa=!1,ha=new THREE.Color,ka=new THREE.Color,ya=new THREE.Color,ta=new THREE.Color,oa=new THREE.Vector3,
+Y,Ga,la,Ba,Va,Da,b=16;Y=document.createElement("canvas");Y.width=Y.height=2;Ga=Y.getContext("2d");Ga.fillStyle="rgba(0,0,0,1)";Ga.fillRect(0,0,2,2);la=Ga.getImageData(0,0,2,2);Ba=la.data;Va=document.createElement("canvas");Va.width=Va.height=b;Da=Va.getContext("2d");Da.translate(-b/2,-b/2);Da.scale(b,b);b--;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setSize=function(b,e){p=b;v=e;t=Math.floor(p/2);x=Math.floor(v/2);u.width=p;u.height=
+v;M.set(-t,-x,t,x);Z.set(-t,-x,t,x);B=1;D=0;F=N=E=H=G=null};this.setClearColor=function(b,e){z.copy(b);y=e;Z.set(-t,-x,t,x)};this.setClearColorHex=function(b,e){z.setHex(b);y=e;Z.set(-t,-x,t,x)};this.clear=function(){w.setTransform(1,0,0,-1,t,x);Z.isEmpty()||(Z.minSelf(M),Z.inflate(2),y<1&&w.clearRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight())),y>0&&(e(THREE.NormalBlending),c(1),h("rgba("+Math.floor(z.r*255)+","+Math.floor(z.g*255)+","+Math.floor(z.b*
+255)+","+y+")"),w.fillRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(b,u){function p(b){var e,c,f,k=b.lights;ka.setRGB(0,0,0);ya.setRGB(0,0,0);ta.setRGB(0,0,0);b=0;for(e=k.length;b<e;b++)c=k[b],f=c.color,c instanceof THREE.AmbientLight?(ka.r+=f.r,ka.g+=f.g,ka.b+=f.b):c instanceof THREE.DirectionalLight?(ya.r+=f.r,ya.g+=f.g,ya.b+=f.b):c instanceof THREE.PointLight&&(ta.r+=f.r,ta.g+=f.g,ta.b+=f.b)}function v(b,e,c,
+f){var k,h,m,o,n=b.lights,b=0;for(k=n.length;b<k;b++)h=n[b],m=h.color,h instanceof THREE.DirectionalLight?(o=c.dot(h.position),o<=0||(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)):h instanceof THREE.PointLight&&(o=c.dot(oa.sub(h.position,e).normalize()),o<=0||(o*=h.distance==0?1:1-Math.min(e.distanceTo(h.position)/h.distance,1),o!=0&&(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)))}function z(b,k,m){c(m.opacity);e(m.blending);var o,n,u,la,p,v;if(m instanceof THREE.ParticleBasicMaterial){if(m.map)la=
+m.map.image,p=la.width>>1,v=la.height>>1,m=k.scale.x*t,u=k.scale.y*x,o=m*p,n=u*v,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(m,-u),w.translate(-p,-v),w.drawImage(la,0,0),w.restore())}else m instanceof THREE.ParticleCanvasMaterial&&(o=k.scale.x*t,n=k.scale.y*x,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(f(m.color.getContextStyle()),h(m.color.getContextStyle()),w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(o,n),m.program(w),
+w.restore()))}function B(b,k,h,m){c(m.opacity);e(m.blending);w.beginPath();w.moveTo(b.positionScreen.x,b.positionScreen.y);w.lineTo(k.positionScreen.x,k.positionScreen.y);w.closePath();if(m instanceof THREE.LineBasicMaterial){b=m.linewidth;if(E!=b)w.lineWidth=E=b;b=m.linecap;if(N!=b)w.lineCap=N=b;b=m.linejoin;if(F!=b)w.lineJoin=F=b;f(m.color.getContextStyle());w.stroke();T.inflate(m.linewidth*2)}}function y(b,f,k,h,n,t,la,p,w){m.data.vertices+=3;m.data.faces++;c(p.opacity);e(p.blending);S=b.positionScreen.x;
+P=b.positionScreen.y;o=f.positionScreen.x;W=f.positionScreen.y;na=k.positionScreen.x;R=k.positionScreen.y;G(S,P,o,W,na,R);if(p instanceof THREE.MeshBasicMaterial)if(p.map)p.map.mapping instanceof THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map));else if(p.envMap){if(p.envMap.mapping instanceof THREE.SphericalReflectionMapping)b=u.matrixWorldInverse,oa.copy(la.vertexNormalsWorld[0]),sa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Ca=-(oa.x*b.n21+oa.y*
+b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[1]),wa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Aa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[2]),za=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Fa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,Ya(S,P,o,W,na,R,sa,Ca,wa,Aa,za,Fa,p.envMap)}else p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshLambertMaterial)p.map&&!p.wireframe&&(p.map.mapping instanceof
+THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map)),e(THREE.SubtractiveBlending)),xa?!p.wireframe&&p.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==3?(ca.r=X.r=ja.r=ka.r,ca.g=X.g=ja.g=ka.g,ca.b=X.b=ja.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ja),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,
+ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(p.color.r*ha.r,1)),$.g=Math.max(0,Math.min(p.color.g*ha.g,1)),$.b=Math.max(0,Math.min(p.color.b*ha.b,1)),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)):p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-
+Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(k.positionScreen.z,V,pa),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va);else if(p instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)}function D(b,f,k,h,n,p,la,t,w){m.data.vertices+=4;m.data.faces++;c(t.opacity);
+e(t.blending);if(t.map||t.envMap)y(b,f,h,0,1,3,la,t,w),y(n,k,p,1,2,3,la,t,w);else if(S=b.positionScreen.x,P=b.positionScreen.y,o=f.positionScreen.x,W=f.positionScreen.y,na=k.positionScreen.x,R=k.positionScreen.y,ia=h.positionScreen.x,aa=h.positionScreen.y,ma=n.positionScreen.x,fa=n.positionScreen.y,ga=p.positionScreen.x,da=p.positionScreen.y,t instanceof THREE.MeshBasicMaterial)H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color);else if(t instanceof
+THREE.MeshLambertMaterial)xa?!t.wireframe&&t.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==4?(ca.r=X.r=ja.r=ea.r=ka.r,ca.g=X.g=ja.g=ea.g=ka.g,ca.b=X.b=ja.b=ea.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v4.positionWorld,la.vertexNormalsWorld[3],ja),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ea),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,da,1,
+0,1,1,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(t.color.r*ha.r,1)),$.g=Math.max(0,Math.min(t.color.g*ha.g,1)),$.b=Math.max(0,Math.min(t.color.b*ha.b,1)),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($)):(H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color));else if(t instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),
+$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($);else if(t instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(h.positionScreen.z,V,pa),ea.r=ea.g=ea.b=1-Na(k.positionScreen.z,V,pa),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,
+da,1,0,1,1,0,1,va)}function G(b,e,c,f,k,h){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(b,e);w.closePath()}function H(b,e,c,f,k,h,m,o){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(m,o);w.lineTo(b,e);w.closePath()}function Ja(b,e,c,k){if(E!=e)w.lineWidth=E=e;if(N!=c)w.lineCap=N=c;if(F!=k)w.lineJoin=F=k;f(b.getContextStyle());w.stroke();T.inflate(e*2)}function Ka(b){h(b.getContextStyle());w.fill()}function Ya(b,e,c,f,k,m,o,n,t,p,la,u,v){if(v.image.width!=0){if(v.needsUpdate==
+!0||qa[v.id]==void 0){var x=v.wrapS==THREE.RepeatWrapping,Da=v.wrapT==THREE.RepeatWrapping;qa[v.id]=w.createPattern(v.image,x&&Da?"repeat":x&&!Da?"repeat-x":!x&&Da?"repeat-y":"no-repeat");v.needsUpdate=!1}h(qa[v.id]);var x=v.offset.x/v.repeat.x,Da=v.offset.y/v.repeat.y,M=(v.image.width-1)*v.repeat.x,v=(v.image.height-1)*v.repeat.y,o=(o+x)*M,n=(n+Da)*v,t=(t+x)*M,p=(p+Da)*v,la=(la+x)*M,u=(u+Da)*v;c-=b;f-=e;k-=b;m-=e;t-=o;p-=n;la-=o;u-=n;x=1/(t*u-la*p);v=(u*c-p*k)*x;p=(u*f-p*m)*x;c=(t*k-la*c)*x;f=(t*
+m-la*f)*x;b=b-v*o-c*n;e=e-p*o-f*n;w.save();w.transform(v,p,c,f,b,e);w.fill();w.restore()}}function Sa(b,e,c,f,k,h,m,o,n,t,p,la,u){var v,x;v=u.width-1;x=u.height-1;m*=v;o*=x;n*=v;t*=x;p*=v;la*=x;c-=b;f-=e;k-=b;h-=e;n-=m;t-=o;p-=m;la-=o;x=1/(n*la-p*t);v=(la*c-t*k)*x;t=(la*f-t*h)*x;c=(n*k-p*c)*x;f=(n*h-p*f)*x;b=b-v*m-c*o;e=e-t*m-f*o;w.save();w.transform(v,t,c,f,b,e);w.clip();w.drawImage(u,0,0);w.restore()}function Wa(b,e,c,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(e.r*255),o=~~(e.g*255),
+e=~~(e.b*255),n=~~(c.r*255),t=~~(c.g*255),c=~~(c.b*255),p=~~(f.r*255),u=~~(f.g*255),f=~~(f.b*255);Ba[0]=k<0?0:k>255?255:k;Ba[1]=h<0?0:h>255?255:h;Ba[2]=b<0?0:b>255?255:b;Ba[4]=m<0?0:m>255?255:m;Ba[5]=o<0?0:o>255?255:o;Ba[6]=e<0?0:e>255?255:e;Ba[8]=n<0?0:n>255?255:n;Ba[9]=t<0?0:t>255?255:t;Ba[10]=c<0?0:c>255?255:c;Ba[12]=p<0?0:p>255?255:p;Ba[13]=u<0?0:u>255?255:u;Ba[14]=f<0?0:f>255?255:f;Ga.putImageData(la,0,0);Da.drawImage(Y,0,0);return Va}function Na(b,e,c){b=(b-e)/(c-e);return b*b*(3-2*b)}function Ta(b){b=
+(b+1)*0.5;return b<0?0:b>1?1:b}function La(b,e){var c=e.x-b.x,f=e.y-b.y,k=c*c+f*f;k!=0&&(k=1/Math.sqrt(k),c*=k,f*=k,e.x+=c,e.y+=f,b.x-=c,b.y-=f)}var Xa,bb,ua,Ea,Ma,Ua,J,A;this.autoClear?this.clear():w.setTransform(1,0,0,-1,t,x);m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,u,this.sortElements);(xa=b.lights.length>0)&&p(b);Xa=0;for(bb=k.length;Xa<bb;Xa++){ua=k[Xa];T.empty();if(ua instanceof THREE.RenderableParticle){I=ua;I.x*=t;I.y*=x;Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],
+A.opacity!=0&&z(I,ua,A,b)}else if(ua instanceof THREE.RenderableLine){if(I=ua.v1,C=ua.v2,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],A.opacity!=0&&B(I,C,ua,A,b)}}else if(ua instanceof THREE.RenderableFace3){if(I=ua.v1,C=ua.v2,K=ua.v3,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=
+t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,K.positionScreen),La(K.positionScreen,I.positionScreen)),T.add3Points(I.positionScreen.x,I.positionScreen.y,C.positionScreen.x,C.positionScreen.y,K.positionScreen.x,K.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}else A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}}else if(ua instanceof THREE.RenderableFace4&&(I=ua.v1,C=ua.v2,K=ua.v3,U=ua.v4,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,U.positionScreen.x*=t,U.positionScreen.y*=x,L.positionScreen.copy(C.positionScreen),O.positionScreen.copy(U.positionScreen),ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,U.positionScreen),
+La(U.positionScreen,I.positionScreen),La(K.positionScreen,L.positionScreen),La(K.positionScreen,O.positionScreen)),T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),T.addPoint(K.positionScreen.x,K.positionScreen.y),T.addPoint(U.positionScreen.x,U.positionScreen.y),M.instersects(T))){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}else A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}Z.addRectangle(T)}w.setTransform(1,0,0,1,0,0)}};
+THREE.SVGRenderer=function(){function b(b,e,c){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.lights[f],h instanceof THREE.DirectionalLight?(m=e.normalWorld.dot(h.position)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m)):h instanceof THREE.PointLight&&(U.sub(h.position,e.centroidWorld),U.normalize(),m=e.normalWorld.dot(U)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m))}function c(e,c,k,o,n,t){m.data.vertices+=3;m.data.faces++;S=f(P++);S.setAttribute("d",
+"M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+"z");n instanceof THREE.MeshBasicMaterial?E.copy(n.color):n instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(t,o,N),E.r=Math.max(0,Math.min(n.color.r*N.r,1)),E.g=Math.max(0,Math.min(n.color.g*N.g,1)),E.b=Math.max(0,Math.min(n.color.b*N.b,1))):E.copy(n.color):n instanceof THREE.MeshDepthMaterial?(K=1-n.__2near/(n.__farPlusNear-o.z*n.__farMinusNear),
+E.setRGB(K,K,K)):n instanceof THREE.MeshNormalMaterial&&E.setRGB(h(o.normalWorld.x),h(o.normalWorld.y),h(o.normalWorld.z));n.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+n.wireframeLinewidth+"; stroke-opacity: "+n.opacity+"; stroke-linecap: "+n.wireframeLinecap+"; stroke-linejoin: "+n.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+n.opacity);u.appendChild(S)}function e(e,c,k,o,n,t,p){m.data.vertices+=4;m.data.faces++;
+S=f(P++);S.setAttribute("d","M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+" L "+o.positionScreen.x+","+o.positionScreen.y+"z");t instanceof THREE.MeshBasicMaterial?E.copy(t.color):t instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(p,n,N),E.r=Math.max(0,Math.min(t.color.r*N.r,1)),E.g=Math.max(0,Math.min(t.color.g*N.g,1)),E.b=Math.max(0,Math.min(t.color.b*N.b,1))):E.copy(t.color):t instanceof
+THREE.MeshDepthMaterial?(K=1-t.__2near/(t.__farPlusNear-n.z*t.__farMinusNear),E.setRGB(K,K,K)):t instanceof THREE.MeshNormalMaterial&&E.setRGB(h(n.normalWorld.x),h(n.normalWorld.y),h(n.normalWorld.z));t.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+t.wireframeLinewidth+"; stroke-opacity: "+t.opacity+"; stroke-linecap: "+t.wireframeLinecap+"; stroke-linejoin: "+t.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+
+t.opacity);u.appendChild(S)}function f(b){L[b]==null&&(L[b]=document.createElementNS("http://www.w3.org/2000/svg","path"),W==0&&L[b].setAttribute("shape-rendering","crispEdges"));return L[b]}function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}var m=this,k=null,n=new THREE.Projector,u=document.createElementNS("http://www.w3.org/2000/svg","svg"),p,v,t,x,w,z,y,B,D=new THREE.Rectangle,G=new THREE.Rectangle,H=!1,E=new THREE.Color(16777215),N=new THREE.Color(16777215),F=new THREE.Color(0),I=new THREE.Color(0),
+C=new THREE.Color(0),K,U=new THREE.Vector3,L=[],O=[],S,P,o,W=1;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setQuality=function(b){switch(b){case "high":W=1;break;case "low":W=0}};this.setSize=function(b,e){p=b;v=e;t=p/2;x=v/2;u.setAttribute("viewBox",-t+" "+-x+" "+p+" "+v);u.setAttribute("width",p);u.setAttribute("height",v);D.set(-t,-x,t,x)};this.clear=function(){for(;u.childNodes.length>0;)u.removeChild(u.childNodes[0])};this.render=
+function(b,f){var h,p,v,E,N,L,K,ca;this.autoClear&&this.clear();m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,f,this.sortElements);o=P=0;if(H=b.lights.length>0){K=b.lights;F.setRGB(0,0,0);I.setRGB(0,0,0);C.setRGB(0,0,0);h=0;for(p=K.length;h<p;h++)v=K[h],E=v.color,v instanceof THREE.AmbientLight?(F.r+=E.r,F.g+=E.g,F.b+=E.b):v instanceof THREE.DirectionalLight?(I.r+=E.r,I.g+=E.g,I.b+=E.b):v instanceof THREE.PointLight&&(C.r+=E.r,C.g+=E.g,C.b+=E.b)}h=0;for(p=k.length;h<p;h++)if(K=k[h],G.empty(),
+K instanceof THREE.RenderableParticle){w=K;w.x*=t;w.y*=-x;v=0;for(E=K.materials.length;v<E;)v++}else if(K instanceof THREE.RenderableLine){if(w=K.v1,z=K.v2,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),D.instersects(G)){v=0;for(E=K.materials.length;v<E;)if((ca=K.materials[v++])&&ca.opacity!=0){N=w;L=z;var X=o++;O[X]==null&&(O[X]=document.createElementNS("http://www.w3.org/2000/svg",
+"line"),W==0&&O[X].setAttribute("shape-rendering","crispEdges"));S=O[X];S.setAttribute("x1",N.positionScreen.x);S.setAttribute("y1",N.positionScreen.y);S.setAttribute("x2",L.positionScreen.x);S.setAttribute("y2",L.positionScreen.y);ca instanceof THREE.LineBasicMaterial&&(S.setAttribute("style","fill: none; stroke: "+ca.color.getContextStyle()+"; stroke-width: "+ca.linewidth+"; stroke-opacity: "+ca.opacity+"; stroke-linecap: "+ca.linecap+"; stroke-linejoin: "+ca.linejoin),u.appendChild(S))}}}else if(K instanceof
+THREE.RenderableFace3){if(w=K.v1,z=K.v2,y=K.v3,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),D.instersects(G)){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&
+ca.opacity!=0&&c(w,z,y,K,ca,b)}else ca&&ca.opacity!=0&&c(w,z,y,K,ca,b)}}else if(K instanceof THREE.RenderableFace4&&(w=K.v1,z=K.v2,y=K.v3,B=K.v4,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,B.positionScreen.x*=t,B.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),G.addPoint(B.positionScreen.x,
+B.positionScreen.y),D.instersects(G))){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}else ca&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}}};
+THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform int combine;\n#endif",
+envmap_fragment:"#ifdef USE_ENVMAP\nvec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = vec4( mix( gl_FragColor.xyz, cubeColor.xyz, reflectivity ), opacity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
+map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, gl_PointCoord );\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif",
+lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
+lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat pointLightWeighting = max( dot( transformedNormal, lVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef PHONG\nvPointLight[ i ] = vec4( lVector, lDistance );\n#endif\n}\n#endif\n}",
+lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mColor = vec4( diffuse, opacity );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 pointSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight * pointDistance;\npointSpecular += mSpecular * pointSpecularWeight * pointDistance;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 dirSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\nvColor = color;\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n#endif",skinning_vertex:"#ifdef USE_SKINNING\ngl_Position = ( boneGlobalMatrices[ int( skinIndex.x ) ] * skinVertexA ) * skinWeight.x;\ngl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;\ngl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;\n#endif",
+morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\nuniform float morphTargetInfluences[ 8 ];\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0, 0.0, 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif",
+default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform float shadowDarkness;\nuniform float shadowBias;\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",
+shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_SOFT\nconst float xPixelOffset = 1.0 / SHADOWMAP_WIDTH;\nconst float yPixelOffset = 1.0 / SHADOWMAP_HEIGHT;\n#endif\nvec4 shadowColor = vec4( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nif ( shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0 ) {\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nfor ( float y = -1.25; y <= 1.25; y += 1.25 )\nfor ( float x = -1.25; x <= 1.25; x += 1.25 ) {\nvec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadow += 1.0;\n}\nshadow /= 9.0;\nshadowColor = shadowColor * vec4( vec3( ( 1.0 - shadowDarkness * shadow ) ), 1.0 );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadowColor = shadowColor * vec4( vec3( shadowDarkness ), 1.0 );\n#endif\n}\n}\ngl_FragColor = gl_FragColor * shadowColor;\n#endif",
+shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif"};
+THREE.UniformsUtils={merge:function(b){var c,e,f,h={};for(c=0;c<b.length;c++)for(e in f=this.clone(b[c]),f)h[e]=f[e];return h},clone:function(b){var c,e,f,h={};for(c in b)for(e in h[c]={},b[c])f=b[c][e],h[c][e]=f instanceof THREE.Color||f instanceof THREE.Vector2||f instanceof THREE.Vector3||f instanceof THREE.Vector4||f instanceof THREE.Matrix4||f instanceof THREE.Texture?f.clone():f instanceof Array?f.slice():f;return h}};
+THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:2,texture:null},envMap:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",
+value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",value:1},scale:{type:"f",
+value:1},map:{type:"t",value:0,texture:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:3,texture:[]},shadowMatrix:{type:"m4v",value:[]},shadowBias:{type:"f",value:0.0039},shadowDarkness:{type:"f",value:0.2}}};
+THREE.ShaderLib={lensFlareVertexTexture:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = ( visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n( visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * vVisibility;\ngl_FragColor = color;\n}\n}"},
+lensFlare:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * visibility;\ngl_FragColor = color;\n}\n}"},
+sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int affectedByDistance;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( affectedByDistance == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
+fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity;\ngl_FragColor = color;\n}"},shadowPost:{vertexShader:"uniform \tmat4 \tprojectionMatrix;\nattribute \tvec3 \tposition;\nvoid main() {\ngl_Position = projectionMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform \tfloat \tdarkness;\nvoid main() {\ngl_FragColor = vec4( 0, 0, 0, darkness );\n}"},
+shadowVolumeDynamic:{uniforms:{directionalLightDirection:{type:"fv",value:[]}},vertexShader:"uniform \tvec3 \tdirectionalLightDirection;\nvoid main() {\nvec4 pos = objectMatrix * vec4( position, 1.0 );\nvec3 norm = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nvec4 extruded = vec4( directionalLightDirection * 5000.0 * step( 0.0, dot( directionalLightDirection, norm ) ), 0.0 );\ngl_Position = projectionMatrix * viewMatrix * ( pos + extruded );\n}",
+fragmentShader:"void main() {\ngl_FragColor = vec4( 1.0 );\n}"},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}",vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},
+normal:{uniforms:{opacity:{type:"f",value:1}},fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}",vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),
+fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,
+THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
+THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,"gl_FragColor = gl_FragColor * vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,
+"}"].join("\n"),vertexShader:["varying vec3 vLightWeighting;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(328965)},
+specular:{type:"c",value:new THREE.Color(1118481)},shininess:{type:"f",value:30}}]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lights_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,
+THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = -mvPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
+THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
+THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},depthRGBA:{uniforms:{},fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}",vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,
+"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n")}};
+THREE.WebGLRenderer=function(b){function c(b,e,c){var f,k,h,m=b.vertices,n=m.length,t=b.colors,p=t.length,u=b.__vertexArray,v=b.__colorArray,w=b.__sortArray,x=b.__dirtyVertices,M=b.__dirtyColors,T=b.__webglCustomAttributes,z,y;if(T)for(z in T)T[z].offset=0;if(c.sortParticles){pa.multiplySelf(c.matrixWorld);for(f=0;f<n;f++)k=m[f].position,sa.copy(k),pa.multiplyVector3(sa),w[f]=[sa.z,f];w.sort(function(b,e){return e[0]-b[0]});for(f=0;f<n;f++)k=m[w[f][1]].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;
+for(f=0;f<p;f++)h=f*3,color=t[w[f][1]],v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T){f=T[z];t=f.value.length;for(h=0;h<t;h++){index=w[h][1];p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[index]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[index];f.size===2?(f.array[p]=y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=
+y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}else{if(x)for(f=0;f<n;f++)k=m[f].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;if(M)for(f=0;f<p;f++)color=t[f],h=f*3,v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T)if(f=T[z],f.__original.needsUpdate){t=f.value.length;for(h=0;h<t;h++){p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[h]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[h];f.size===2?(f.array[p]=
+y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}if(x||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,u,e);if(M||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,v,e);if(T)for(z in T)if(f=T[z],f.__original.needsUpdate||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,
+f.buffer),o.bufferData(o.ARRAY_BUFFER,f.array,e)}function e(b,e,c,f,h){f.program||P.initMaterial(f,e,c,h);if(f.morphTargets&&!h.__webglMorphTargetInfluences){h.__webglMorphTargetInfluences=new Float32Array(P.maxMorphTargets);for(var k=0,m=P.maxMorphTargets;k<m;k++)h.__webglMorphTargetInfluences[k]=0}var k=f.program,m=k.uniforms,n=f.uniforms;k!=na&&(o.useProgram(k),na=k);o.uniformMatrix4fv(m.projectionMatrix,!1,va);if(c&&(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||
+f instanceof THREE.MeshPhongMaterial||f instanceof THREE.LineBasicMaterial||f instanceof THREE.ParticleBasicMaterial||f.fog))if(n.fogColor.value=c.color,c instanceof THREE.Fog)n.fogNear.value=c.near,n.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)n.fogDensity.value=c.density;if(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f.lights){var p,t,u,v=0,w=0,x=0,M,T,z,y=Ca,B=y.directional.colors,Z=y.directional.positions,D=y.point.colors,G=y.point.positions,H=y.point.distances,
+E=0,V=0,c=t=z=0;for(p=e.length;c<p;c++)if(t=e[c],u=t.color,M=t.position,T=t.intensity,z=t.distance,t instanceof THREE.AmbientLight)v+=u.r,w+=u.g,x+=u.b;else if(t instanceof THREE.DirectionalLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,Z[z]=M.x,Z[z+1]=M.y,Z[z+2]=M.z,E+=1;else if(t instanceof THREE.SpotLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,u=1/M.length(),Z[z]=M.x*u,Z[z+1]=M.y*u,Z[z+2]=M.z*u,E+=1;else if(t instanceof THREE.PointLight)t=V*3,D[t]=u.r*T,D[t+1]=u.g*T,D[t+2]=u.b*T,G[t]=M.x,
+G[t+1]=M.y,G[t+2]=M.z,H[V]=z,V+=1;for(c=E*3;c<B.length;c++)B[c]=0;for(c=V*3;c<D.length;c++)D[c]=0;y.point.length=V;y.directional.length=E;y.ambient[0]=v;y.ambient[1]=w;y.ambient[2]=x;e=Ca;n.enableLighting.value=e.directional.length+e.point.length;n.ambientLightColor.value=e.ambient;n.directionalLightColor.value=e.directional.colors;n.directionalLightDirection.value=e.directional.positions;n.pointLightColor.value=e.point.colors;n.pointLightPosition.value=e.point.positions;n.pointLightDistance.value=
+e.point.distances}if(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshPhongMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity,(n.map.texture=f.map)&&n.offsetRepeat.value.set(f.map.offset.x,f.map.offset.y,f.map.repeat.x,f.map.repeat.y),n.lightMap.texture=f.lightMap,n.envMap.texture=f.envMap,n.reflectivity.value=f.reflectivity,n.refractionRatio.value=f.refractionRatio,n.combine.value=f.combine,n.useRefract.value=f.envMap&&f.envMap.mapping instanceof
+THREE.CubeRefractionMapping;if(f instanceof THREE.LineBasicMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity;else if(f instanceof THREE.ParticleBasicMaterial)n.psColor.value=f.color,n.opacity.value=f.opacity,n.size.value=f.size,n.scale.value=wa.height/2,n.map.texture=f.map;else if(f instanceof THREE.MeshPhongMaterial)n.ambient.value=f.ambient,n.specular.value=f.specular,n.shininess.value=f.shininess;else if(f instanceof THREE.MeshDepthMaterial)n.mNear.value=b.near,n.mFar.value=b.far,n.opacity.value=
+f.opacity;else if(f instanceof THREE.MeshNormalMaterial)n.opacity.value=f.opacity;if(h.receiveShadow&&!f._shadowPass&&n.shadowMatrix){for(e=0;e<xa.length;e++)n.shadowMatrix.value[e]=xa[e],n.shadowMap.texture[e]=P.shadowMap[e];n.shadowDarkness.value=P.shadowMapDarkness;n.shadowBias.value=P.shadowMapBias}for(var ka in n)if(p=k.uniforms[ka])if(c=n[ka],v=c.type,e=c.value,v=="i")o.uniform1i(p,e);else if(v=="f")o.uniform1f(p,e);else if(v=="v2")o.uniform2f(p,e.x,e.y);else if(v=="v3")o.uniform3f(p,e.x,e.y,
+e.z);else if(v=="v4")o.uniform4f(p,e.x,e.y,e.z,e.w);else if(v=="c")o.uniform3f(p,e.r,e.g,e.b);else if(v=="fv1")o.uniform1fv(p,e);else if(v=="fv")o.uniform3fv(p,e);else if(v=="v3v"){if(!c._array)c._array=new Float32Array(3*e.length);v=0;for(w=e.length;v<w;v++)x=v*3,c._array[x]=e[v].x,c._array[x+1]=e[v].y,c._array[x+2]=e[v].z;o.uniform3fv(p,c._array)}else if(v=="m4"){if(!c._array)c._array=new Float32Array(16);e.flattenToArray(c._array);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="m4v"){if(!c._array)c._array=
+new Float32Array(16*e.length);v=0;for(w=e.length;v<w;v++)e[v].flattenToArrayOffset(c._array,v*16);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="t"){if(o.uniform1i(p,e),p=c.texture)if(p.image instanceof Array&&p.image.length==6){if(c=p,c.image.length==6)if(c.needsUpdate){if(!c.image.__webglTextureCube)c.image.__webglTextureCube=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);for(e=0;e<6;e++)o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,
+o.RGBA,o.RGBA,o.UNSIGNED_BYTE,c.image[e]);I(o.TEXTURE_CUBE_MAP,c,c.image[0]);c.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else p instanceof THREE.WebGLRenderTargetCube?(c=p,o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.__webglTexture)):C(p,e)}else if(v=="tv"){if(!c._array){c._array=[];v=0;for(w=c.texture.length;v<w;v++)c._array[v]=e+v}o.uniform1iv(p,c._array);v=0;for(w=c.texture.length;v<w;v++)(p=c.texture[v])&&
+C(p,c._array[v])}o.uniformMatrix4fv(m.modelViewMatrix,!1,h._modelViewMatrixArray);m.normalMatrix&&o.uniformMatrix3fv(m.normalMatrix,!1,h._normalMatrixArray);(f instanceof THREE.MeshShaderMaterial||f instanceof THREE.MeshPhongMaterial||f.envMap)&&m.cameraPosition!==null&&o.uniform3f(m.cameraPosition,b.position.x,b.position.y,b.position.z);(f instanceof THREE.MeshShaderMaterial||f.envMap||f.skinning||h.receiveShadow)&&m.objectMatrix!==null&&o.uniformMatrix4fv(m.objectMatrix,!1,h._objectMatrixArray);
+(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshShaderMaterial||f.skinning)&&m.viewMatrix!==null&&o.uniformMatrix4fv(m.viewMatrix,!1,ra);f.skinning&&(o.uniformMatrix4fv(m.cameraInverseMatrix,!1,ra),o.uniformMatrix4fv(m.boneGlobalMatrices,!1,h.boneMatrices));return k}function f(b,c,f,h,k,m){if(h.opacity!=0){var n,b=e(b,c,f,h,m).attributes;if(!h.morphTargets&&b.position>=0)o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(b.position,
+3,o.FLOAT,!1,0,0);else if(m.morphTargetBase){c=h.program.attributes;m.morphTargetBase!==-1?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[m.morphTargetBase]),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0)):c.position>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0));if(m.morphTargetForcedOrder.length)for(var f=0,p=m.morphTargetForcedOrder,t=m.morphTargetInfluences;f<h.numSupportedMorphTargets&&f<p.length;)o.bindBuffer(o.ARRAY_BUFFER,
+k.__webglMorphTargetsBuffers[p[f]]),o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0),m.__webglMorphTargetInfluences[f]=t[p[f]],f++;else{var p=[],u=-1,v=0,t=m.morphTargetInfluences,w,x=t.length,f=0;for(m.morphTargetBase!==-1&&(p[m.morphTargetBase]=!0);f<h.numSupportedMorphTargets;){for(w=0;w<x;w++)!p[w]&&t[w]>u&&(v=w,u=t[v]);o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[v]);o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0);m.__webglMorphTargetInfluences[f]=u;p[v]=1;u=
+-1;f++}}h.program.uniforms.morphTargetInfluences!==null&&o.uniform1fv(h.program.uniforms.morphTargetInfluences,m.__webglMorphTargetInfluences)}if(k.__webglCustomAttributes)for(n in k.__webglCustomAttributes)b[n]>=0&&(c=k.__webglCustomAttributes[n],o.bindBuffer(o.ARRAY_BUFFER,c.buffer),o.vertexAttribPointer(b[n],c.size,o.FLOAT,!1,0,0));b.color>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer),o.vertexAttribPointer(b.color,3,o.FLOAT,!1,0,0));b.normal>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglNormalBuffer),
+o.vertexAttribPointer(b.normal,3,o.FLOAT,!1,0,0));b.tangent>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglTangentBuffer),o.vertexAttribPointer(b.tangent,4,o.FLOAT,!1,0,0));b.uv>=0&&(k.__webglUVBuffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUVBuffer),o.vertexAttribPointer(b.uv,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv)):o.disableVertexAttribArray(b.uv));b.uv2>=0&&(k.__webglUV2Buffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUV2Buffer),o.vertexAttribPointer(b.uv2,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv2)):
+o.disableVertexAttribArray(b.uv2));h.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexABuffer),o.vertexAttribPointer(b.skinVertexA,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexBBuffer),o.vertexAttribPointer(b.skinVertexB,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinIndicesBuffer),o.vertexAttribPointer(b.skinIndex,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinWeightsBuffer),
+o.vertexAttribPointer(b.skinWeight,4,o.FLOAT,!1,0,0));m instanceof THREE.Mesh?(h.wireframe?(o.lineWidth(h.wireframeLinewidth),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglLineBuffer),o.drawElements(o.LINES,k.__webglLineCount,o.UNSIGNED_SHORT,0)):(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglFaceBuffer),o.drawElements(o.TRIANGLES,k.__webglFaceCount,o.UNSIGNED_SHORT,0)),P.data.vertices+=k.__webglFaceCount,P.data.faces+=k.__webglFaceCount/3,P.data.drawCalls++):m instanceof THREE.Line?(m=m.type==THREE.LineStrip?
+o.LINE_STRIP:o.LINES,o.lineWidth(h.linewidth),o.drawArrays(m,0,k.__webglLineCount),P.data.drawCalls++):m instanceof THREE.ParticleSystem?(o.drawArrays(o.POINTS,0,k.__webglParticleCount),P.data.drawCalls++):m instanceof THREE.Ribbon&&(o.drawArrays(o.TRIANGLE_STRIP,0,k.__webglVertexCount),P.data.drawCalls++)}}function h(b,e,c){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.createBuffer();if(!b.__webglNormalBuffer)b.__webglNormalBuffer=o.createBuffer();b.hasPos&&(o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),
+o.bufferData(o.ARRAY_BUFFER,b.positionArray,o.DYNAMIC_DRAW),o.enableVertexAttribArray(e.attributes.position),o.vertexAttribPointer(e.attributes.position,3,o.FLOAT,!1,0,0));if(b.hasNormal){o.bindBuffer(o.ARRAY_BUFFER,b.__webglNormalBuffer);if(c==THREE.FlatShading){var f,k,h,m,n,p,t,u,v,w,x=b.count*3;for(w=0;w<x;w+=9)c=b.normalArray,f=c[w],k=c[w+1],h=c[w+2],m=c[w+3],p=c[w+4],u=c[w+5],n=c[w+6],t=c[w+7],v=c[w+8],f=(f+m+n)/3,k=(k+p+t)/3,h=(h+u+v)/3,c[w]=f,c[w+1]=k,c[w+2]=h,c[w+3]=f,c[w+4]=k,c[w+5]=h,c[w+
+6]=f,c[w+7]=k,c[w+8]=h}o.bufferData(o.ARRAY_BUFFER,b.normalArray,o.DYNAMIC_DRAW);o.enableVertexAttribArray(e.attributes.normal);o.vertexAttribPointer(e.attributes.normal,3,o.FLOAT,!1,0,0)}o.drawArrays(o.TRIANGLES,0,b.count);b.count=0}function m(b){if(aa!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):o.enable(o.CULL_FACE),aa=b.doubleSided;if(ma!=b.flipSided)b.flipSided?o.frontFace(o.CW):o.frontFace(o.CCW),ma=b.flipSided}function k(b){ga!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),ga=
+b)}function n(b,e,c){da!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o.POLYGON_OFFSET_FILL),da=b);if(b&&($!=e||ca!=c))o.polygonOffset(e,c),$=e,ca=c}function u(b){V[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-b.n14);V[1].set(b.n41+b.n11,b.n42+b.n12,b.n43+b.n13,b.n44+b.n14);V[2].set(b.n41+b.n21,b.n42+b.n22,b.n43+b.n23,b.n44+b.n24);V[3].set(b.n41-b.n21,b.n42-b.n22,b.n43-b.n23,b.n44-b.n24);V[4].set(b.n41-b.n31,b.n42-b.n32,b.n43-b.n33,b.n44-b.n34);V[5].set(b.n41+b.n31,b.n42+b.n32,b.n43+b.n33,
+b.n44+b.n34);for(var e,b=0;b<6;b++)e=V[b],e.divideScalar(Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z))}function p(b){for(var e=b.matrixWorld,c=-b.geometry.boundingSphere.radius*Math.max(b.scale.x,Math.max(b.scale.y,b.scale.z)),f=0;f<6;f++)if(b=V[f].x*e.n14+V[f].y*e.n24+V[f].z*e.n34+V[f].w,b<=c)return!1;return!0}function v(b,e){b.list[b.count]=e;b.count+=1}function t(b){var e,c,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=k.count=0;for(e=f.materials.length;b<e;b++)c=f.materials[b],c.transparent?v(h,c):
+v(k,c)}function x(b){var e,c,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transparent;o.count=0;b=n.count=0;for(f=h.materials.length;b<f;b++)if(e=h.materials[b],e instanceof THREE.MeshFaceMaterial){e=0;for(c=m.materials.length;e<c;e++)(k=m.materials[e])&&(k.transparent?v(o,k):v(n,k))}else(k=e)&&(k.transparent?v(o,k):v(n,k))}function w(b,e){return e.z-b.z}function z(b,c){var n,t,v,w=0,x,z,y,D,G=b.lights;T||(T=new THREE.Camera(P.shadowCameraFov,c.aspect,P.shadowCameraNear,P.shadowCameraFar));n=0;for(t=
+G.length;n<t;n++)if(v=G[n],v instanceof THREE.SpotLight&&v.castShadow){P.shadowMap[w]||(P.shadowMap[w]=new THREE.WebGLRenderTarget(P.shadowMapWidth,P.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}));xa[w]||(xa[w]=new THREE.Matrix4);x=P.shadowMap[w];z=xa[w];T.position.copy(v.position);T.target.position.copy(v.target.position);T.update(void 0,!0);b.update(void 0,!1,T);z.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);z.multiplySelf(T.projectionMatrix);
+z.multiplySelf(T.matrixWorldInverse);T.matrixWorldInverse.flattenToArray(ra);T.projectionMatrix.flattenToArray(va);pa.multiply(T.projectionMatrix,T.matrixWorldInverse);u(pa);P.initWebGLObjects(b);K(x);o.clearColor(1,1,1,1);P.clear();o.clearColor(M.r,M.g,M.b,Z);z=b.__webglObjects.length;v=b.__webglObjectsImmediate.length;for(x=0;x<z;x++)y=b.__webglObjects[x],D=y.object,D.visible&&D.castShadow?!(D instanceof THREE.Mesh)||!D.frustumCulled||p(D)?(D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,
+T,!1),y.render=!0):y.render=!1:y.render=!1;k(!0);F(THREE.NormalBlending);for(x=0;x<z;x++)if(y=b.__webglObjects[x],y.render)D=y.object,buffer=y.buffer,m(D),y=D.customDepthMaterial?D.customDepthMaterial:D.geometry.morphTargets.length?ya:ka,f(T,G,null,y,buffer,D);for(x=0;x<v;x++)y=b.__webglObjectsImmediate[x],D=y.object,D.visible&&D.castShadow&&(D.matrixAutoUpdate&&D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,T,!1),m(D),program=e(T,G,null,ka,D),D.render(function(b){h(b,program,ka.shading)}));
+w++}}function y(b,e){var c,f,k;c=Y.attributes;var h=Y.uniforms,m=qa/ea,n,p=[],t=ea*0.5,u=qa*0.5,v=!0;o.useProgram(Y.program);na=Y.program;ga=fa=-1;Ga||(o.enableVertexAttribArray(Y.attributes.position),o.enableVertexAttribArray(Y.attributes.uv),Ga=!0);o.disable(o.CULL_FACE);o.enable(o.BLEND);o.depthMask(!0);o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.vertexAttribPointer(c.position,2,o.FLOAT,!1,16,0);o.vertexAttribPointer(c.uv,2,o.FLOAT,!1,16,8);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);
+o.uniformMatrix4fv(h.projectionMatrix,!1,va);o.activeTexture(o.TEXTURE0);o.uniform1i(h.map,0);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.useScreenCoordinates?k.z=-k.position.z:(k._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,k.matrixWorld,k._modelViewMatrixArray),k.z=-k._modelViewMatrix.n34);b.__webglSprites.sort(w);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.material===void 0&&k.map&&k.map.image&&k.map.image.width&&(k.useScreenCoordinates?(o.uniform1i(h.useScreenCoordinates,
+1),o.uniform3f(h.screenPosition,(k.position.x-t)/t,(u-k.position.y)/u,Math.max(0,Math.min(1,k.position.z)))):(o.uniform1i(h.useScreenCoordinates,0),o.uniform1i(h.affectedByDistance,k.affectedByDistance?1:0),o.uniformMatrix4fv(h.modelViewMatrix,!1,k._modelViewMatrixArray)),n=k.map.image.width/(k.scaleByViewport?qa:1),p[0]=n*m*k.scale.x,p[1]=n*k.scale.y,o.uniform2f(h.uvScale,k.uvScale.x,k.uvScale.y),o.uniform2f(h.uvOffset,k.uvOffset.x,k.uvOffset.y),o.uniform2f(h.alignment,k.alignment.x,k.alignment.y),
+o.uniform1f(h.opacity,k.opacity),o.uniform1f(h.rotation,k.rotation),o.uniform2fv(h.scale,p),k.mergeWith3D&&!v?(o.enable(o.DEPTH_TEST),v=!0):!k.mergeWith3D&&v&&(o.disable(o.DEPTH_TEST),v=!1),F(k.blending),C(k.map,0),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));o.enable(o.CULL_FACE);o.enable(o.DEPTH_TEST);o.depthMask(ia)}function B(b,e,c){b._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,b.matrixWorld,b._modelViewMatrixArray);c&&THREE.Matrix4.makeInvert3x3(b._modelViewMatrix).transposeIntoArray(b._normalMatrixArray)}
+function D(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)if(f.attributes[e].needsUpdate)return!0;return!1}function G(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)f.attributes[e].needsUpdate=!1}function H(b,e){var c;for(c=b.length-1;c>=0;c--)b[c].object==e&&b.splice(c,1)}function E(b){function e(b){var k=[];c=0;for(f=b.length;c<f;c++)b[c]==void 0?k.push("undefined"):k.push(b[c].id);return k.join("_")}
+var c,f,k,h,m,n,o,p,t={},u=b.morphTargets!==void 0?b.morphTargets.length:0;b.geometryGroups={};k=0;for(h=b.faces.length;k<h;k++)m=b.faces[k],n=m.materials,o=e(n),t[o]==void 0&&(t[o]={hash:o,counter:0}),p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],materials:n,vertices:0,numMorphTargets:u}),m=m instanceof THREE.Face3?3:4,b.geometryGroups[p].vertices+m>65535&&(t[o].counter+=1,p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],
+materials:n,vertices:0,numMorphTargets:u})),b.geometryGroups[p].faces.push(k),b.geometryGroups[p].vertices+=m;b.geometryGroupsList=[];for(var v in b.geometryGroups)b.geometryGroupsList.push(b.geometryGroups[v])}function N(b,e,c){b.push({buffer:e,object:c,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function F(b){if(b!=fa){switch(b){case THREE.AdditiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE);break;case THREE.SubtractiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,
+o.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,o.SRC_COLOR);break;default:o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}fa=b}}function I(b,e,c){(c.width&c.width-1)==0&&(c.height&c.height-1)==0?(o.texParameteri(b,o.TEXTURE_WRAP_S,S(e.wrapS)),o.texParameteri(b,o.TEXTURE_WRAP_T,S(e.wrapT)),o.texParameteri(b,o.TEXTURE_MAG_FILTER,S(e.magFilter)),o.texParameteri(b,
+o.TEXTURE_MIN_FILTER,S(e.minFilter)),o.generateMipmap(b)):(o.texParameteri(b,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_MAG_FILTER,O(e.magFilter)),o.texParameteri(b,o.TEXTURE_MIN_FILTER,O(e.minFilter)))}function C(b,e){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b.__webglTexture=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_2D,b.__webglTexture);b instanceof THREE.DataTexture?o.texImage2D(o.TEXTURE_2D,
+0,S(b.format),b.image.width,b.image.height,0,S(b.format),o.UNSIGNED_BYTE,b.image.data):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,b.image);I(o.TEXTURE_2D,b,b.image);b.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_2D,b.__webglTexture)}function K(b){var e=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.depthBuffer=!0;if(b.stencilBuffer===void 0)b.stencilBuffer=!0;b.__webglRenderbuffer=o.createRenderbuffer();
+b.__webglTexture=o.createTexture();if(e){o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture);I(o.TEXTURE_CUBE_MAP,b,b);b.__webglFramebuffer=[];for(var c=0;c<6;c++)b.__webglFramebuffer[c]=o.createFramebuffer(),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),null)}else b.__webglFramebuffer=o.createFramebuffer(),o.bindTexture(o.TEXTURE_2D,b.__webglTexture),I(o.TEXTURE_2D,b,b),o.texImage2D(o.TEXTURE_2D,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),
+null);o.bindRenderbuffer(o.RENDERBUFFER,b.__webglRenderbuffer);if(e)for(c=0;c<6;++c)o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer[c]),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+c,b.__webglTexture,0);else o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,b.__webglTexture,0);b.depthBuffer&&!b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,b.width,b.height),
+o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):b.depthBuffer&&b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,b.width,b.height),o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_STENCIL_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,b.width,b.height);e?o.bindTexture(o.TEXTURE_CUBE_MAP,null):o.bindTexture(o.TEXTURE_2D,null);o.bindRenderbuffer(o.RENDERBUFFER,null);o.bindFramebuffer(o.FRAMEBUFFER,
+null)}var f,k;b?(e=e?b.__webglFramebuffer[b.activeCubeFace]:b.__webglFramebuffer,c=b.width,b=b.height,k=f=0):(e=null,c=ea,b=qa,f=X,k=ja);e!=R&&(o.bindFramebuffer(o.FRAMEBUFFER,e),o.viewport(f,k,c,b),R=e)}function U(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture),o.generateMipmap(o.TEXTURE_CUBE_MAP),o.bindTexture(o.TEXTURE_CUBE_MAP,null)):(o.bindTexture(o.TEXTURE_2D,b.__webglTexture),o.generateMipmap(o.TEXTURE_2D),o.bindTexture(o.TEXTURE_2D,null))}function L(b,
+e){var c;b=="fragment"?c=o.createShader(o.FRAGMENT_SHADER):b=="vertex"&&(c=o.createShader(o.VERTEX_SHADER));o.shaderSource(c,e);o.compileShader(c);if(!o.getShaderParameter(c,o.COMPILE_STATUS))return console.error(o.getShaderInfoLog(c)),console.error(e),null;return c}function O(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return o.NEAREST;default:return o.LINEAR}}function S(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;case THREE.ClampToEdgeWrapping:return o.CLAMP_TO_EDGE;
+case THREE.MirroredRepeatWrapping:return o.MIRRORED_REPEAT;case THREE.NearestFilter:return o.NEAREST;case THREE.NearestMipMapNearestFilter:return o.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return o.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return o.LINEAR;case THREE.LinearMipMapNearestFilter:return o.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return o.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return o.BYTE;case THREE.UnsignedByteType:return o.UNSIGNED_BYTE;case THREE.ShortType:return o.SHORT;
+case THREE.UnsignedShortType:return o.UNSIGNED_SHORT;case THREE.IntType:return o.INT;case THREE.UnsignedShortType:return o.UNSIGNED_INT;case THREE.FloatType:return o.FLOAT;case THREE.AlphaFormat:return o.ALPHA;case THREE.RGBFormat:return o.RGB;case THREE.RGBAFormat:return o.RGBA;case THREE.LuminanceFormat:return o.LUMINANCE;case THREE.LuminanceAlphaFormat:return o.LUMINANCE_ALPHA}return 0}var P=this,o,W=[],na=null,R=null,ia=!0,aa=null,ma=null,fa=null,ga=null,da=null,$=null,ca=null,X=0,ja=0,ea=0,qa=
+0,V=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],pa=new THREE.Matrix4,va=new Float32Array(16),ra=new Float32Array(16),sa=new THREE.Vector4,Ca={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]}},b=b||{},wa=b.canvas!==void 0?b.canvas:document.createElement("canvas"),Aa=b.stencil!==void 0?b.stencil:!0,za=b.preserveDrawingBuffer!==void 0?b.preserveDrawingBuffer:!1,Fa=b.antialias!==
+void 0?b.antialias:!1,M=b.clearColor!==void 0?new THREE.Color(b.clearColor):new THREE.Color(0),Z=b.clearAlpha!==void 0?b.clearAlpha:0;_maxLights=b.maxLights!==void 0?b.maxLights:4;this.data={vertices:0,faces:0,drawCalls:0};this.maxMorphTargets=8;this.domElement=wa;this.sortObjects=this.autoClear=!0;this.shadowMapBias=0.0039;this.shadowMapDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCameraNear=1;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowMap=[];this.shadowMapEnabled=
+!1;this.shadowMapSoft=!0;var T,xa=[],b=THREE.ShaderLib.depthRGBA,ha=THREE.UniformsUtils.clone(b.uniforms),ka=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha}),ya=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha,morphTargets:!0});ka._shadowPass=!0;ya._shadowPass=!0;try{if(!(o=wa.getContext("experimental-webgl",{antialias:Fa,stencil:Aa,preserveDrawingBuffer:za})))throw"Error creating WebGL context.";
+console.log(navigator.userAgent+" | "+o.getParameter(o.VERSION)+" | "+o.getParameter(o.VENDOR)+" | "+o.getParameter(o.RENDERER)+" | "+o.getParameter(o.SHADING_LANGUAGE_VERSION))}catch(ta){console.error(ta)}o.clearColor(0,0,0,1);o.clearDepth(1);o.clearStencil(0);o.enable(o.DEPTH_TEST);o.depthFunc(o.LEQUAL);o.frontFace(o.CCW);o.cullFace(o.BACK);o.enable(o.CULL_FACE);o.enable(o.BLEND);o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA);o.clearColor(M.r,M.g,M.b,Z);this.context=
+o;var oa=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,Y={};Y.vertices=new Float32Array(16);Y.faces=new Uint16Array(6);i=0;Y.vertices[i++]=-1;Y.vertices[i++]=-1;Y.vertices[i++]=0;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=0;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=0;i=Y.vertices[i++]=0;Y.faces[i++]=0;Y.faces[i++]=1;Y.faces[i++]=2;Y.faces[i++]=0;Y.faces[i++]=2;Y.faces[i++]=
+3;Y.vertexBuffer=o.createBuffer();Y.elementBuffer=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.bufferData(o.ARRAY_BUFFER,Y.vertices,o.STATIC_DRAW);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);o.bufferData(o.ELEMENT_ARRAY_BUFFER,Y.faces,o.STATIC_DRAW);Y.program=o.createProgram();o.attachShader(Y.program,L("fragment",THREE.ShaderLib.sprite.fragmentShader));o.attachShader(Y.program,L("vertex",THREE.ShaderLib.sprite.vertexShader));o.linkProgram(Y.program);Y.attributes={};Y.uniforms=
+{};Y.attributes.position=o.getAttribLocation(Y.program,"position");Y.attributes.uv=o.getAttribLocation(Y.program,"uv");Y.uniforms.uvOffset=o.getUniformLocation(Y.program,"uvOffset");Y.uniforms.uvScale=o.getUniformLocation(Y.program,"uvScale");Y.uniforms.rotation=o.getUniformLocation(Y.program,"rotation");Y.uniforms.scale=o.getUniformLocation(Y.program,"scale");Y.uniforms.alignment=o.getUniformLocation(Y.program,"alignment");Y.uniforms.map=o.getUniformLocation(Y.program,"map");Y.uniforms.opacity=o.getUniformLocation(Y.program,
+"opacity");Y.uniforms.useScreenCoordinates=o.getUniformLocation(Y.program,"useScreenCoordinates");Y.uniforms.affectedByDistance=o.getUniformLocation(Y.program,"affectedByDistance");Y.uniforms.screenPosition=o.getUniformLocation(Y.program,"screenPosition");Y.uniforms.modelViewMatrix=o.getUniformLocation(Y.program,"modelViewMatrix");Y.uniforms.projectionMatrix=o.getUniformLocation(Y.program,"projectionMatrix");var Ga=!1;this.setSize=function(b,e){wa.width=b;wa.height=e;this.setViewport(0,0,wa.width,
+wa.height)};this.setViewport=function(b,e,c,f){X=b;ja=e;ea=c;qa=f;o.viewport(X,ja,ea,qa)};this.setScissor=function(b,e,c,f){o.scissor(b,e,c,f)};this.enableScissorTest=function(b){b?o.enable(o.SCISSOR_TEST):o.disable(o.SCISSOR_TEST)};this.enableDepthBufferWrite=function(b){ia=b;o.depthMask(b)};this.setClearColorHex=function(b,e){M.setHex(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.setClearColor=function(b,e){M.copy(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.clear=function(){o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT|
+o.STENCIL_BUFFER_BIT)};this.getContext=function(){return o};this.deallocateObject=function(b){if(b.__webglInit)if(b.__webglInit=!1,delete b._modelViewMatrix,delete b._normalMatrixArray,delete b._modelViewMatrixArray,delete b._objectMatrixArray,b instanceof THREE.Mesh)for(g in b.geometry.geometryGroups){var e=b.geometry.geometryGroups[g];o.deleteBuffer(e.__webglVertexBuffer);o.deleteBuffer(e.__webglNormalBuffer);o.deleteBuffer(e.__webglTangentBuffer);o.deleteBuffer(e.__webglColorBuffer);o.deleteBuffer(e.__webglUVBuffer);
+o.deleteBuffer(e.__webglUV2Buffer);o.deleteBuffer(e.__webglSkinVertexABuffer);o.deleteBuffer(e.__webglSkinVertexBBuffer);o.deleteBuffer(e.__webglSkinIndicesBuffer);o.deleteBuffer(e.__webglSkinWeightsBuffer);o.deleteBuffer(e.__webglFaceBuffer);o.deleteBuffer(e.__webglLineBuffer);if(e.numMorphTargets)for(var c=0,f=e.numMorphTargets;c<f;c++)o.deleteBuffer(e.__webglMorphTargetsBuffers[c])}else if(b instanceof THREE.Ribbon)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);
+else if(b instanceof THREE.Line)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);else if(b instanceof THREE.ParticleSystem)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer)};this.deallocateTexture=function(b){if(b.__webglInit)b.__webglInit=!1,o.deleteTexture(b.__webglTexture)};this.initMaterial=function(b,e,c,f){var k,h,m;b instanceof THREE.MeshDepthMaterial?m="depth":b instanceof THREE.MeshNormalMaterial?m="normal":b instanceof
+THREE.MeshBasicMaterial?m="basic":b instanceof THREE.MeshLambertMaterial?m="lambert":b instanceof THREE.MeshPhongMaterial?m="phong":b instanceof THREE.LineBasicMaterial?m="basic":b instanceof THREE.ParticleBasicMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];b.uniforms=THREE.UniformsUtils.clone(n.uniforms);b.vertexShader=n.vertexShader;b.fragmentShader=n.fragmentShader}var p,t,u;p=u=n=0;for(t=e.length;p<t;p++)h=e[p],h instanceof THREE.SpotLight&&u++,h instanceof THREE.DirectionalLight&&
+u++,h instanceof THREE.PointLight&&n++;n+u<=_maxLights?p=u:(p=Math.ceil(_maxLights*u/(n+u)),n=_maxLights-p);h={directional:p,point:n};n=u=0;for(p=e.length;n<p;n++)t=e[n],t instanceof THREE.SpotLight&&t.castShadow&&u++;var v=50;if(f!==void 0&&f instanceof THREE.SkinnedMesh)v=f.bones.length;var w;a:{p=b.fragmentShader;t=b.vertexShader;var n=b.uniforms,e=b.attributes,c={map:!!b.map,envMap:!!b.envMap,lightMap:!!b.lightMap,vertexColors:b.vertexColors,fog:c,sizeAttenuation:b.sizeAttenuation,skinning:b.skinning,
+morphTargets:b.morphTargets,maxMorphTargets:this.maxMorphTargets,maxDirLights:h.directional,maxPointLights:h.point,maxBones:v,shadowMapEnabled:this.shadowMapEnabled&&f.receiveShadow,shadowMapSoft:this.shadowMapSoft,shadowMapWidth:this.shadowMapWidth,shadowMapHeight:this.shadowMapHeight,maxShadows:u,alphaTest:b.alphaTest},x,f=[];m?f.push(m):(f.push(p),f.push(t));for(x in c)f.push(x),f.push(c[x]);m=f.join();x=0;for(f=W.length;x<f;x++)if(W[x].code==m){w=W[x].program;break a}x=o.createProgram();f=[oa?
+"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":"",c.sizeAttenuation?
+"#define USE_SIZEATTENUATION":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform mat4 cameraInverseMatrix;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinVertexA;\nattribute vec4 skinVertexB;\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
+h=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",c.fog?"#define USE_FOG":"",c.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":
+"",c.shadowMapSoft?"#define SHADOWMAP_WIDTH "+c.shadowMapWidth.toFixed(1):"",c.shadowMapSoft?"#define SHADOWMAP_HEIGHT "+c.shadowMapHeight.toFixed(1):"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");o.attachShader(x,L("fragment",h+p));o.attachShader(x,L("vertex",f+t));o.linkProgram(x);o.getProgramParameter(x,o.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+o.getProgramParameter(x,o.VALIDATE_STATUS)+", gl error ["+o.getError()+"]");x.uniforms=
+{};x.attributes={};var M,f=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition","cameraInverseMatrix","boneGlobalMatrices","morphTargetInfluences"];for(M in n)f.push(M);M=f;f=0;for(n=M.length;f<n;f++)p=M[f],x.uniforms[p]=o.getUniformLocation(x,p);f=["position","normal","uv","uv2","tangent","color","skinVertexA","skinVertexB","skinIndex","skinWeight"];for(M=0;M<c.maxMorphTargets;M++)f.push("morphTarget"+M);for(w in e)f.push(w);w=f;M=0;for(e=w.length;M<e;M++)c=
+w[M],x.attributes[c]=o.getAttribLocation(x,c);W.push({program:x,code:m});w=x}b.program=w;w=b.program.attributes;w.position>=0&&o.enableVertexAttribArray(w.position);w.color>=0&&o.enableVertexAttribArray(w.color);w.normal>=0&&o.enableVertexAttribArray(w.normal);w.tangent>=0&&o.enableVertexAttribArray(w.tangent);b.skinning&&w.skinVertexA>=0&&w.skinVertexB>=0&&w.skinIndex>=0&&w.skinWeight>=0&&(o.enableVertexAttribArray(w.skinVertexA),o.enableVertexAttribArray(w.skinVertexB),o.enableVertexAttribArray(w.skinIndex),
+o.enableVertexAttribArray(w.skinWeight));if(b.attributes)for(k in b.attributes)w[k]!==void 0&&w[k]>=0&&o.enableVertexAttribArray(w[k]);if(b.morphTargets)for(k=b.numSupportedMorphTargets=0;k<this.maxMorphTargets;k++)M="morphTarget"+k,w[M]>=0&&(o.enableVertexAttribArray(w[M]),b.numSupportedMorphTargets++)};this.clearTarget=function(b,c,e,f){K(b);b=0;c&&(b|=o.COLOR_BUFFER_BIT);e&&(b|=o.DEPTH_BUFFER_BIT);f&&(b|=o.STENCIL_BUFFER_BIT);o.clear(b)};this.render=function(b,c,o,v){var M,T,D,Z,G,H,E,V,ka=b.lights,
+C=b.fog;this.shadowMapEnabled&&z(b,c);P.data.vertices=0;P.data.faces=0;P.data.drawCalls=0;c.matrixAutoUpdate&&c.update(void 0,!0);b.update(void 0,!1,c);c.matrixWorldInverse.flattenToArray(ra);c.projectionMatrix.flattenToArray(va);pa.multiply(c.projectionMatrix,c.matrixWorldInverse);u(pa);this.initWebGLObjects(b);K(o);(this.autoClear||v)&&this.clear();G=b.__webglObjects.length;for(v=0;v<G;v++)if(M=b.__webglObjects[v],E=M.object,E.visible)if(!(E instanceof THREE.Mesh)||!E.frustumCulled||p(E)){if(E.matrixWorld.flattenToArray(E._objectMatrixArray),
+B(E,c,!0),x(M),M.render=!0,this.sortObjects)M.object.renderDepth?M.z=M.object.renderDepth:(sa.copy(E.position),pa.multiplyVector3(sa),M.z=sa.z)}else M.render=!1;else M.render=!1;this.sortObjects&&b.__webglObjects.sort(w);H=b.__webglObjectsImmediate.length;for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(E.matrixAutoUpdate&&E.matrixWorld.flattenToArray(E._objectMatrixArray),B(E,c,!0),t(M));if(b.overrideMaterial){k(b.overrideMaterial.depthTest);F(b.overrideMaterial.blending);for(v=
+0;v<G;v++)if(M=b.__webglObjects[v],M.render)E=M.object,V=M.buffer,m(E),f(c,ka,C,b.overrideMaterial,V,E);for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(m(E),T=e(c,ka,C,b.overrideMaterial,E),E.render(function(c){h(c,T,b.overrideMaterial.shading)}))}else{F(THREE.NormalBlending);for(v=G-1;v>=0;v--)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),
+f(c,ka,C,Z,V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}for(v=0;v<G;v++)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),f(c,ka,C,Z,
+V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}}b.__webglSprites.length&&y(b,c);o&&o.minFilter!==THREE.NearestFilter&&o.minFilter!==THREE.LinearFilter&&U(o)};this.initWebGLObjects=function(b){if(!b.__webglObjects)b.__webglObjects=[],b.__webglObjectsImmediate=[],b.__webglSprites=
+[];for(;b.__objectsAdded.length;){var e=b.__objectsAdded[0],f=b,k=void 0,h=void 0,m=void 0;if(!e.__webglInit)if(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrixArray=new Float32Array(9),e._modelViewMatrixArray=new Float32Array(16),e._objectMatrixArray=new Float32Array(16),e.matrixWorld.flattenToArray(e._objectMatrixArray),e instanceof THREE.Mesh)for(k in h=e.geometry,h.geometryGroups==void 0&&E(h),h.geometryGroups){m=h.geometryGroups[k];if(!m.__webglVertexBuffer){var n=m;n.__webglVertexBuffer=
+o.createBuffer();n.__webglNormalBuffer=o.createBuffer();n.__webglTangentBuffer=o.createBuffer();n.__webglColorBuffer=o.createBuffer();n.__webglUVBuffer=o.createBuffer();n.__webglUV2Buffer=o.createBuffer();n.__webglSkinVertexABuffer=o.createBuffer();n.__webglSkinVertexBBuffer=o.createBuffer();n.__webglSkinIndicesBuffer=o.createBuffer();n.__webglSkinWeightsBuffer=o.createBuffer();n.__webglFaceBuffer=o.createBuffer();n.__webglLineBuffer=o.createBuffer();if(n.numMorphTargets){var p=void 0,t=void 0;n.__webglMorphTargetsBuffers=
+[];p=0;for(t=n.numMorphTargets;p<t;p++)n.__webglMorphTargetsBuffers.push(o.createBuffer())}for(var n=m,p=e,v=void 0,u=void 0,w=void 0,x=w=void 0,M=void 0,T=void 0,z=T=t=0,y=w=u=void 0,Z=y=u=v=void 0,w=void 0,x=p.geometry,M=x.faces,y=n.faces,v=0,u=y.length;v<u;v++)w=y[v],w=M[w],w instanceof THREE.Face3?(t+=3,T+=1,z+=3):w instanceof THREE.Face4&&(t+=4,T+=2,z+=4);for(var v=n,u=p,B=y=M=void 0,V=void 0,B=void 0,w=[],M=0,y=u.materials.length;M<y;M++)if(B=u.materials[M],B instanceof THREE.MeshFaceMaterial){B=
+0;for(l=v.materials.length;B<l;B++)(V=v.materials[B])&&w.push(V)}else(V=B)&&w.push(V);v=w;n.__materials=v;a:{M=u=void 0;y=v.length;for(u=0;u<y;u++)if(M=v[u],M.map||M.lightMap||M instanceof THREE.MeshShaderMaterial){u=!0;break a}u=!1}a:{y=M=void 0;w=v.length;for(M=0;M<w;M++)if(y=v[M],!(y instanceof THREE.MeshBasicMaterial&&!y.envMap||y instanceof THREE.MeshDepthMaterial)){y=y&&y.shading!=void 0&&y.shading==THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading;break a}y=!1}a:{w=M=void 0;B=v.length;
+for(M=0;M<B;M++)if(w=v[M],w.vertexColors){w=w.vertexColors;break a}w=!1}n.__vertexArray=new Float32Array(t*3);if(y)n.__normalArray=new Float32Array(t*3);if(x.hasTangents)n.__tangentArray=new Float32Array(t*4);if(w)n.__colorArray=new Float32Array(t*3);if(u){if(x.faceUvs.length>0||x.faceVertexUvs.length>0)n.__uvArray=new Float32Array(t*2);if(x.faceUvs.length>1||x.faceVertexUvs.length>1)n.__uv2Array=new Float32Array(t*2)}if(p.geometry.skinWeights.length&&p.geometry.skinIndices.length)n.__skinVertexAArray=
+new Float32Array(t*4),n.__skinVertexBArray=new Float32Array(t*4),n.__skinIndexArray=new Float32Array(t*4),n.__skinWeightArray=new Float32Array(t*4);n.__faceArray=new Uint16Array(T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0));n.__lineArray=new Uint16Array(z*2);if(n.numMorphTargets){n.__morphTargetsArrays=[];x=0;for(M=n.numMorphTargets;x<M;x++)n.__morphTargetsArrays.push(new Float32Array(t*3))}n.__needsSmoothNormals=y==THREE.SmoothShading;n.__uvType=u;n.__vertexColorType=w;n.__normalType=
+y;n.__webglFaceCount=T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0);n.__webglLineCount=z*2;x=0;for(M=v.length;x<M;x++)if(u=v[x],u.attributes){if(n.__webglCustomAttributes===void 0)n.__webglCustomAttributes={};for(a in u.attributes){w=u.attributes[a];y={};for(Z in w)y[Z]=w[Z];if(!y.__webglInitialized||y.createUniqueBuffers)y.__webglInitialized=!0,T=1,y.type==="v2"?T=2:y.type==="v3"?T=3:y.type==="v4"?T=4:y.type==="c"&&(T=3),y.size=T,y.array=new Float32Array(t*T),y.buffer=o.createBuffer(),
+y.buffer.belongsToAttribute=a,w.needsUpdate=!0,y.__original=w;n.__webglCustomAttributes[a]=y}}n.__inittedArrays=!0;h.__dirtyVertices=!0;h.__dirtyMorphTargets=!0;h.__dirtyElements=!0;h.__dirtyUvs=!0;h.__dirtyNormals=!0;h.__dirtyTangents=!0;h.__dirtyColors=!0}N(f.__webglObjects,m,e)}else if(e instanceof THREE.Ribbon){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=
+new Float32Array(m*3),k.__webglVertexCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.Line){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=new Float32Array(m*3),k.__webglLineCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.ParticleSystem){h=e.geometry;
+if(!h.__webglVertexBuffer){k=h;k.__webglVertexBuffer=o.createBuffer();k.__webglColorBuffer=o.createBuffer();k=h;m=e;n=k.vertices.length;k.__vertexArray=new Float32Array(n*3);k.__colorArray=new Float32Array(n*3);k.__sortArray=[];k.__webglParticleCount=n;k.__materials=m.materials;Z=t=p=void 0;p=0;for(t=m.materials.length;p<t;p++)if(Z=m.materials[p],Z.attributes){if(k.__webglCustomAttributes===void 0)k.__webglCustomAttributes={};for(a in Z.attributes){originalAttribute=Z.attributes[a];attribute={};for(property in originalAttribute)attribute[property]=
+originalAttribute[property];if(!attribute.__webglInitialized||attribute.createUniqueBuffers)attribute.__webglInitialized=!0,size=1,attribute.type==="v2"?size=2:attribute.type==="v3"?size=3:attribute.type==="v4"?size=4:attribute.type==="c"&&(size=3),attribute.size=size,attribute.array=new Float32Array(n*size),attribute.buffer=o.createBuffer(),attribute.buffer.belongsToAttribute=a,originalAttribute.needsUpdate=!0,attribute.__original=originalAttribute;k.__webglCustomAttributes[a]=attribute}}h.__dirtyVertices=
+!0;h.__dirtyColors=!0}N(f.__webglObjects,h,e)}else THREE.MarchingCubes!==void 0&&e instanceof THREE.MarchingCubes?f.__webglObjectsImmediate.push({object:e,opaque:{list:[],count:0},transparent:{list:[],count:0}}):e instanceof THREE.Sprite&&f.__webglSprites.push(e);b.__objectsAdded.splice(0,1)}for(;b.__objectsRemoved.length;){f=b.__objectsRemoved[0];e=b;if(f instanceof THREE.Mesh||f instanceof THREE.ParticleSystem||f instanceof THREE.Ribbon||f instanceof THREE.Line)H(e.__webglObjects,f);else if(f instanceof
+THREE.Sprite){e=e.__webglSprites;h=void 0;for(h=e.length-1;h>=0;h--)e[h]==f&&e.splice(h,1)}else f instanceof THREE.MarchingCubes&&H(e.__webglObjectsImmediate,f);b.__objectsRemoved.splice(0,1)}e=0;for(f=b.__webglObjects.length;e<f;e++)if(k=b.__webglObjects[e].object,t=m=h=void 0,k instanceof THREE.Mesh){h=k.geometry;n=0;for(p=h.geometryGroupsList.length;n<p;n++)if(m=h.geometryGroupsList[n],t=D(m),h.__dirtyVertices||h.__dirtyMorphTargets||h.__dirtyElements||h.__dirtyUvs||h.__dirtyNormals||h.__dirtyColors||
+h.__dirtyTangents||t)if(t=m,Z=o.DYNAMIC_DRAW,T=!h.dynamic,t.__inittedArrays){var ka=x=z=void 0,C=void 0,xa=ka=void 0,K=void 0,pa=void 0,ha=void 0,I=V=B=w=y=M=u=v=void 0,L=void 0,J=C=ha=C=pa=K=void 0,A=void 0,F=A=J=K=void 0,Y=void 0,va=F=A=J=ka=ka=xa=ha=C=F=A=J=Y=F=A=J=Y=F=A=J=void 0,O=0,X=0,S=0,ra=0,R=0,ca=0,P=0,ya=0,oa=0,Q=0,U=0,F=J=0,F=void 0,W=t.__vertexArray,ja=t.__uvArray,fa=t.__uv2Array,ma=t.__normalArray,$=t.__tangentArray,sa=t.__colorArray,aa=t.__skinVertexAArray,ea=t.__skinVertexBArray,ta=
+t.__skinIndexArray,da=t.__skinWeightArray,na=t.__morphTargetsArrays,ga=t.__webglCustomAttributes,A=void 0,qa=t.__faceArray,ia=t.__lineArray,Ga=t.__needsSmoothNormals,u=t.__vertexColorType,v=t.__uvType,M=t.__normalType,wa=k.geometry,Ca=wa.__dirtyVertices,Aa=wa.__dirtyElements,za=wa.__dirtyUvs,Fa=wa.__dirtyNormals,Za=wa.__dirtyTangents,$a=wa.__dirtyColors,ab=wa.__dirtyMorphTargets,Oa=wa.vertices,cb=t.faces,fb=wa.faces,db=wa.faceVertexUvs[0],eb=wa.faceVertexUvs[1],Pa=wa.skinVerticesA,Qa=wa.skinVerticesB,
+Ra=wa.skinIndices,Ia=wa.skinWeights,Ha=wa.morphTargets;if(ga)for(va in ga)ga[va].offset=0,ga[va].offsetSrc=0;z=0;for(x=cb.length;z<x;z++)if(ka=cb[z],C=fb[ka],db&&(y=db[ka]),eb&&(w=eb[ka]),ka=C.vertexNormals,xa=C.normal,K=C.vertexColors,pa=C.color,ha=C.vertexTangents,C instanceof THREE.Face3){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,X+=9;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=
+A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],A.array[J+2]=A.value[C.c]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.offsetSrc+=3),A.offset+=3):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c]):A.boundTo==="faces"?(I=V=B=F=A.value[F],
+A.offsetSrc++):A.boundTo==="faceVertices"&&(B=A.value[F],V=A.value[F+1],I=A.value[F+2],A.offsetSrc+=3),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.offset+=6):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=
+V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z),A.offset+=9):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.offset+=12));if(ab){J=0;for(A=Ha.length;J<A;J++)B=Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+
+7]=I.y,F[U+8]=I.z;U+=9}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=
+1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,Q+=12;if($a&&u)K.length==3&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2]):A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,oa+=9;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+
+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,P+=12;if(Fa&&M)if(ka.length==3&&Ga)for(ha=0;ha<3;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<3;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<3;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<3;ha++)ka=w[ha],fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+2,R+=3,ia[ya]=O,ia[ya+1]=O+
+1,ia[ya+2]=O,ia[ya+3]=O+2,ia[ya+4]=O+1,ia[ya+5]=O+2,ya+=6,O+=3)}else if(C instanceof THREE.Face4){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,L=Oa[C.d].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,W[X+9]=L.x,W[X+10]=L.y,W[X+11]=L.z,X+=12;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],
+A.array[J+2]=A.value[C.c],A.array[J+3]=A.value[C.d]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.array[J+3]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.array[J+3]=A.value[F+3],A.offsetSrc+=4),A.offset+=4):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c],L=A.value[C.d]):A.boundTo==="faces"?(L=I=V=B=F=A.value[F],A.offsetSrc++):A.boundTo==="faceVertices"&&
+(B=A.value[F],V=A.value[F+1],I=A.value[F+2],L=A.value[F+3],A.offsetSrc+=4),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.array[J+6]=L.x,A.array[J+7]=L.y,A.offset+=8):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b,A.array[J+9]=L.r,A.array[J+10]=L.g,A.array[J+11]=L.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+
+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z,A.array[J+9]=L.x,A.array[J+10]=L.y,A.array[J+11]=L.z),A.offset+=12):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.array[J+12]=L.x,A.array[J+13]=L.y,A.array[J+14]=L.z,A.array[J+15]=L.w,A.offset+=16));if(ab){J=0;for(A=Ha.length;J<A;J++)B=
+Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,L=Ha[J].vertices[C.d].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+7]=I.y,F[U+8]=I.z,F[U+9]=L.x,F[U+10]=L.y,F[U+11]=L.z;U+=12}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],Y=Ia[C.d],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,da[Q+12]=Y.x,da[Q+13]=Y.y,da[Q+14]=Y.z,
+da[Q+15]=Y.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],Y=Ra[C.d],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,ta[Q+12]=Y.x,ta[Q+13]=Y.y,ta[Q+14]=Y.z,ta[Q+15]=Y.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],Y=Pa[C.d],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,aa[Q+12]=Y.x,aa[Q+13]=Y.y,aa[Q+14]=Y.z,aa[Q+15]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],
+C=Qa[C.d],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,ea[Q+12]=C.x,ea[Q+13]=C.y,ea[Q+14]=C.z,ea[Q+15]=1,Q+=16;if($a&&u)K.length==4&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2],K=K[3]):K=A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,sa[oa+9]=K.r,sa[oa+10]=K.g,sa[oa+11]=K.b,oa+=12;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],ha=
+ha[3],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,$[P+12]=ha.x,$[P+13]=ha.y,$[P+14]=ha.z,$[P+15]=ha.w,P+=16;if(Fa&&M)if(ka.length==4&&Ga)for(ha=0;ha<4;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<4;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<4;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<4;ha++)ka=w[ha],
+fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+3,qa[R+3]=O+1,qa[R+4]=O+2,qa[R+5]=O+3,R+=6,ia[ya]=O,ia[ya+1]=O+1,ia[ya+2]=O,ia[ya+3]=O+3,ia[ya+4]=O+1,ia[ya+5]=O+2,ia[ya+6]=O+2,ia[ya+7]=O+3,ya+=8,O+=4)}Ca&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,W,Z));if(ga)for(va in ga)A=ga[va],A.__original.needsUpdate&&(o.bindBuffer(o.ARRAY_BUFFER,A.buffer),o.bufferData(o.ARRAY_BUFFER,A.array,Z));if(ab){J=0;for(A=Ha.length;J<A;J++)o.bindBuffer(o.ARRAY_BUFFER,
+t.__webglMorphTargetsBuffers[J]),o.bufferData(o.ARRAY_BUFFER,na[J],Z)}$a&&oa>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,sa,Z));Fa&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglNormalBuffer),o.bufferData(o.ARRAY_BUFFER,ma,Z));Za&&wa.hasTangents&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglTangentBuffer),o.bufferData(o.ARRAY_BUFFER,$,Z));za&&S>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUVBuffer),o.bufferData(o.ARRAY_BUFFER,ja,Z));za&&ra>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUV2Buffer),
+o.bufferData(o.ARRAY_BUFFER,fa,Z));Aa&&(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglFaceBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,qa,Z),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglLineBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,ia,Z));Q>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexABuffer),o.bufferData(o.ARRAY_BUFFER,aa,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexBBuffer),o.bufferData(o.ARRAY_BUFFER,ea,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinIndicesBuffer),o.bufferData(o.ARRAY_BUFFER,
+ta,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinWeightsBuffer),o.bufferData(o.ARRAY_BUFFER,da,Z));T&&(delete t.__inittedArrays,delete t.__colorArray,delete t.__normalArray,delete t.__tangentArray,delete t.__uvArray,delete t.__uv2Array,delete t.__faceArray,delete t.__vertexArray,delete t.__lineArray,delete t.__skinVertexAArray,delete t.__skinVertexBArray,delete t.__skinIndexArray,delete t.__skinWeightArray)}h.__dirtyVertices=!1;h.__dirtyMorphTargets=!1;h.__dirtyElements=!1;h.__dirtyUvs=!1;h.__dirtyNormals=
+!1;h.__dirtyTangents=!1;h.__dirtyColors=!1;G(m)}else if(k instanceof THREE.Ribbon){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+
+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.Line){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);
+o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.ParticleSystem)h=k.geometry,t=D(h),(h.__dirtyVertices||h.__dirtyColors||k.sortParticles||t)&&c(h,o.DYNAMIC_DRAW,k),h.__dirtyVertices=!1,h.__dirtyColors=!1,G(h)};this.setFaceCulling=function(b,e){b?(!e||e=="ccw"?o.frontFace(o.CCW):o.frontFace(o.CW),
+b=="back"?o.cullFace(o.BACK):b=="front"?o.cullFace(o.FRONT):o.cullFace(o.FRONT_AND_BACK),o.enable(o.CULL_FACE)):o.disable(o.CULL_FACE)};this.supportsVertexTextures=function(){return oa}};
+THREE.WebGLRenderTarget=function(b,c,e){this.width=b;this.height=c;e=e||{};this.wrapS=e.wrapS!==void 0?e.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=e.wrapT!==void 0?e.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=e.magFilter!==void 0?e.magFilter:THREE.LinearFilter;this.minFilter=e.minFilter!==void 0?e.minFilter:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=e.format!==void 0?e.format:THREE.RGBAFormat;this.type=e.type!==void 0?e.type:
+THREE.UnsignedByteType;this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0;this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!0};
+THREE.WebGLRenderTarget.prototype.clone=function(){var b=new THREE.WebGLRenderTarget(this.width,this.height);b.wrapS=this.wrapS;b.wrapT=this.wrapT;b.magFilter=this.magFilter;b.minFilter=this.minFilter;b.offset.copy(this.offset);b.repeat.copy(this.repeat);b.format=this.format;b.type=this.type;b.depthBuffer=this.depthBuffer;b.stencilBuffer=this.stencilBuffer;return b};THREE.WebGLRenderTargetCube=function(b,c,e){THREE.WebGLRenderTarget.call(this,b,c,e);this.activeCubeFace=0};
+THREE.WebGLRenderTargetCube.prototype=new THREE.WebGLRenderTarget;THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(b){this.positionWorld.copy(b.positionWorld);this.positionScreen.copy(b.positionScreen)};
+THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.materials=null};
+THREE.ColorUtils={adjustHSV:function(b,c,e,f){var h=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(b,h);h.h=THREE.ColorUtils.clamp(h.h+c,0,1);h.s=THREE.ColorUtils.clamp(h.s+e,0,1);h.v=THREE.ColorUtils.clamp(h.v+f,0,1);b.setHSV(h.h,h.s,h.v)},rgbToHsv:function(b,c){var e=b.r,f=b.g,h=b.b,m=Math.max(Math.max(e,f),h),k=Math.min(Math.min(e,f),h);if(k==m)k=e=0;else{var n=m-k,k=n/m,e=e==m?(f-h)/n:f==m?2+(h-e)/n:4+(e-f)/n;e/=6;e<0&&(e+=1);e>1&&(e-=1)}c===void 0&&(c={h:0,s:0,v:0});c.h=e;c.s=k;c.v=m;return c},
+clamp:function(b,c,e){return b<c?c:b>e?e:b}};THREE.ColorUtils.__hsv={h:0,s:0,v:0};
+THREE.GeometryUtils={merge:function(b,c){var e=c instanceof THREE.Mesh,f=b.vertices.length,h=e?c.geometry:c,m=b.vertices,k=h.vertices,n=b.faces,u=h.faces,p=b.faceVertexUvs[0],h=h.faceVertexUvs[0];e&&c.matrixAutoUpdate&&c.updateMatrix();for(var v=0,t=k.length;v<t;v++){var x=new THREE.Vertex(k[v].position.clone());e&&c.matrix.multiplyVector3(x.position);m.push(x)}v=0;for(t=u.length;v<t;v++){var k=u[v],w,z,y=k.vertexNormals,x=k.vertexColors;k instanceof THREE.Face3?w=new THREE.Face3(k.a+f,k.b+f,k.c+
+f):k instanceof THREE.Face4&&(w=new THREE.Face4(k.a+f,k.b+f,k.c+f,k.d+f));w.normal.copy(k.normal);e=0;for(m=y.length;e<m;e++)z=y[e],w.vertexNormals.push(z.clone());w.color.copy(k.color);e=0;for(m=x.length;e<m;e++)z=x[e],w.vertexColors.push(z.clone());w.materials=k.materials.slice();w.centroid.copy(k.centroid);n.push(w)}v=0;for(t=h.length;v<t;v++){f=h[v];n=[];e=0;for(m=f.length;e<m;e++)n.push(new THREE.UV(f[e].u,f[e].v));p.push(n)}},clone:function(b){var c=new THREE.Geometry,e,f=b.vertices,h=b.faces,
+m=b.faceVertexUvs[0],b=0;for(e=f.length;b<e;b++){var k=new THREE.Vertex(f[b].position.clone());c.vertices.push(k)}b=0;for(e=h.length;b<e;b++){var n=h[b],u,p,v=n.vertexNormals,t=n.vertexColors;n instanceof THREE.Face3?u=new THREE.Face3(n.a,n.b,n.c):n instanceof THREE.Face4&&(u=new THREE.Face4(n.a,n.b,n.c,n.d));u.normal.copy(n.normal);f=0;for(k=v.length;f<k;f++)p=v[f],u.vertexNormals.push(p.clone());u.color.copy(n.color);f=0;for(k=t.length;f<k;f++)p=t[f],u.vertexColors.push(p.clone());u.materials=n.materials.slice();
+u.centroid.copy(n.centroid);c.faces.push(u)}b=0;for(e=m.length;b<e;b++){h=m[b];u=[];f=0;for(k=h.length;f<k;f++)u.push(new THREE.UV(h[f].u,h[f].v));c.faceVertexUvs[0].push(u)}return c},randomPointInTriangle:function(b,c,e){var f,h,m,k=new THREE.Vector3,n=THREE.GeometryUtils.__v1;f=THREE.GeometryUtils.random();h=THREE.GeometryUtils.random();f+h>1&&(f=1-f,h=1-h);m=1-f-h;k.copy(b);k.multiplyScalar(f);n.copy(c);n.multiplyScalar(h);k.addSelf(n);n.copy(e);n.multiplyScalar(m);k.addSelf(n);return k},randomPointInFace:function(b,
+c,e){var f,h,m;if(b instanceof THREE.Face3)return f=c.vertices[b.a].position,h=c.vertices[b.b].position,m=c.vertices[b.c].position,THREE.GeometryUtils.randomPointInTriangle(f,h,m);else if(b instanceof THREE.Face4){f=c.vertices[b.a].position;h=c.vertices[b.b].position;m=c.vertices[b.c].position;var c=c.vertices[b.d].position,k;e?b._area1&&b._area2?(e=b._area1,k=b._area2):(e=THREE.GeometryUtils.triangleArea(f,h,c),k=THREE.GeometryUtils.triangleArea(h,m,c),b._area1=e,b._area2=k):(e=THREE.GeometryUtils.triangleArea(f,
+h,c),k=THREE.GeometryUtils.triangleArea(h,m,c));return THREE.GeometryUtils.random()*(e+k)<e?THREE.GeometryUtils.randomPointInTriangle(f,h,c):THREE.GeometryUtils.randomPointInTriangle(h,m,c)}},randomPointsInGeometry:function(b,c){function e(b){function e(c,f){if(f<c)return c;var k=c+Math.floor((f-c)/2);return p[k]>b?e(c,k-1):p[k]<b?e(k+1,f):k}return e(0,p.length-1)}var f,h,m=b.faces,k=b.vertices,n=m.length,u=0,p=[],v,t,x,w;for(h=0;h<n;h++){f=m[h];if(f instanceof THREE.Face3)v=k[f.a].position,t=k[f.b].position,
+x=k[f.c].position,f._area=THREE.GeometryUtils.triangleArea(v,t,x);else if(f instanceof THREE.Face4)v=k[f.a].position,t=k[f.b].position,x=k[f.c].position,w=k[f.d].position,f._area1=THREE.GeometryUtils.triangleArea(v,t,w),f._area2=THREE.GeometryUtils.triangleArea(t,x,w),f._area=f._area1+f._area2;u+=f._area;p[h]=u}f=[];k={};for(h=0;h<c;h++)n=THREE.GeometryUtils.random()*u,n=e(n),f[h]=THREE.GeometryUtils.randomPointInFace(m[n],b,!0),k[n]?k[n]+=1:k[n]=1;return f},triangleArea:function(b,c,e){var f,h=THREE.GeometryUtils.__v1;
+h.sub(b,c);f=h.length();h.sub(b,e);b=h.length();h.sub(c,e);e=h.length();c=0.5*(f+b+e);return Math.sqrt(c*(c-f)*(c-b)*(c-e))},random16:function(){return(65280*Math.random()+255*Math.random())/65535}};THREE.GeometryUtils.random=THREE.GeometryUtils.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
+THREE.ImageUtils={loadTexture:function(b,c,e){var f=new Image,h=new THREE.Texture(f,c);f.onload=function(){h.needsUpdate=!0;e&&e(this)};f.crossOrigin="";f.src=b;return h},loadTextureCube:function(b,c,e){var f,h=[],m=new THREE.Texture(h,c),c=h.loadCount=0;for(f=b.length;c<f;++c)h[c]=new Image,h[c].onload=function(){h.loadCount+=1;if(h.loadCount==6)m.needsUpdate=!0;e&&e(this)},h[c].crossOrigin="",h[c].src=b[c];return m},getNormalMap:function(b,c){var e=function(b){var e=Math.sqrt(b[0]*b[0]+b[1]*b[1]+
+b[2]*b[2]);return[b[0]/e,b[1]/e,b[2]/e]};c|=1;var f=b.width,h=b.height,m=document.createElement("canvas");m.width=f;m.height=h;var k=m.getContext("2d");k.drawImage(b,0,0);for(var n=k.getImageData(0,0,f,h).data,u=k.createImageData(f,h),p=u.data,v=0;v<f;v++)for(var t=1;t<h;t++){var x=t-1<0?h-1:t-1,w=(t+1)%h,z=v-1<0?f-1:v-1,y=(v+1)%f,B=[],D=[0,0,n[(t*f+v)*4]/255*c];B.push([-1,0,n[(t*f+z)*4]/255*c]);B.push([-1,-1,n[(x*f+z)*4]/255*c]);B.push([0,-1,n[(x*f+v)*4]/255*c]);B.push([1,-1,n[(x*f+y)*4]/255*c]);
+B.push([1,0,n[(t*f+y)*4]/255*c]);B.push([1,1,n[(w*f+y)*4]/255*c]);B.push([0,1,n[(w*f+v)*4]/255*c]);B.push([-1,1,n[(w*f+z)*4]/255*c]);x=[];z=B.length;for(w=0;w<z;w++){var y=B[w],G=B[(w+1)%z],y=[y[0]-D[0],y[1]-D[1],y[2]-D[2]],G=[G[0]-D[0],G[1]-D[1],G[2]-D[2]];x.push(e([y[1]*G[2]-y[2]*G[1],y[2]*G[0]-y[0]*G[2],y[0]*G[1]-y[1]*G[0]]))}B=[0,0,0];for(w=0;w<x.length;w++)B[0]+=x[w][0],B[1]+=x[w][1],B[2]+=x[w][2];B[0]/=x.length;B[1]/=x.length;B[2]/=x.length;D=(t*f+v)*4;p[D]=(B[0]+1)/2*255|0;p[D+1]=(B[1]+0.5)*
+255|0;p[D+2]=B[2]*255|0;p[D+3]=255}k.putImageData(u,0,0);return m}};THREE.SceneUtils={showHierarchy:function(b,c){THREE.SceneUtils.traverseHierarchy(b,function(b){b.visible=c})},traverseHierarchy:function(b,c){var e,f,h=b.children.length;for(f=0;f<h;f++)e=b.children[f],c(e),THREE.SceneUtils.traverseHierarchy(e,c)}};
+if(THREE.WebGLRenderer)THREE.ShaderUtils={lib:{fresnel:{uniforms:{mRefractionRatio:{type:"f",value:1.02},mFresnelBias:{type:"f",value:0.1},mFresnelPower:{type:"f",value:2},mFresnelScale:{type:"f",value:1},tCube:{type:"t",value:1,texture:null}},fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\nvec4 refractedColor = vec4( 1.0, 1.0, 1.0, 1.0 );\nrefractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;\nrefractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;\nrefractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;\nrefractedColor.a = 1.0;\ngl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );\n}",
+vertexShader:"uniform float mRefractionRatio;\nuniform float mFresnelBias;\nuniform float mFresnelScale;\nuniform float mFresnelPower;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = normalize ( mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal );\nvec3 I = mPosition.xyz - cameraPosition;\nvReflect = reflect( I, nWorld );\nvRefract[0] = refract( normalize( I ), nWorld, mRefractionRatio );\nvRefract[1] = refract( normalize( I ), nWorld, mRefractionRatio * 0.99 );\nvRefract[2] = refract( normalize( I ), nWorld, mRefractionRatio * 0.98 );\nvReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), nWorld ), mFresnelPower );\ngl_Position = projectionMatrix * mvPosition;\n}"},
+normal:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},tDiffuse:{type:"t",value:0,texture:null},tNormal:{type:"t",value:2,texture:null},tSpecular:{type:"t",value:3,texture:null},tAO:{type:"t",value:4,texture:null},uNormalScale:{type:"f",value:1},tDisplacement:{type:"t",value:5,texture:null},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",
+value:new THREE.Color(15658734)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(328965)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform float uNormalScale;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( 1.0 );\nvec4 mColor = vec4( uDiffuseColor, uOpacity );\nvec4 mSpecular = vec4( uSpecularColor, uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse )\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\nif( enableAO )\ngl_FragColor = gl_FragColor * texture2D( tAO, vUv );\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( vTangent, vBinormal, vNormal );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointTotal = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = specularTex.r * pow( pointDotNormalHalf, uShininess );\npointTotal += pointDistance * vec4( pointLightColor[ i ], 1.0 ) * ( mColor * pointDiffuseWeight + mSpecular * pointSpecularWeight * pointDiffuseWeight );\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirTotal = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = specularTex.r * pow( dirDotNormalHalf, uShininess );\ndirTotal += vec4( directionalLightColor[ i ], 1.0 ) * ( mColor * dirDiffuseWeight + mSpecular * dirSpecularWeight * dirDiffuseWeight );\n}\n#endif\nvec4 totalLight = vec4( ambientLightColor * uAmbientColor, uOpacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirTotal;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointTotal;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:"attribute vec4 tangent;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvViewPosition = -mvPosition.xyz;\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvBinormal = normalize( vBinormal );\nvUv = uv;\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#ifdef VERTEX_TEXTURES\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\nvec4 displacedPosition = vec4( vNormal.xyz * df, 0.0 ) + mvPosition;\ngl_Position = projectionMatrix * displacedPosition;\n#else\ngl_Position = projectionMatrix * mvPosition;\n#endif\n}"},
+cube:{uniforms:{tCube:{type:"t",value:1,texture:null}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( - wPos.x, wPos.yz ) );\n}"}}};
+THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(b){return this.getPoint(this.getUtoTmapping(b))};THREE.Curve.prototype.getPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPoint(c/b));return e};THREE.Curve.prototype.getSpacedPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPointAt(c/b));return e};
+THREE.Curve.prototype.getLength=function(){var b=this.getLengths();return b[b.length-1]};THREE.Curve.prototype.getLengths=function(b){b||(b=200);if(this.cacheArcLengths&&this.cacheArcLengths.length==b+1)return this.cacheArcLengths;var c=[],e,f=this.getPoint(0),h,m=0;c.push(0);for(h=1;h<=b;h++)e=this.getPoint(h/b),m+=e.distanceTo(f),c.push(m),f=e;return this.cacheArcLengths=c};
+THREE.Curve.prototype.getUtoTmapping=function(b,c){var e=this.getLengths(),f=0,h=e.length,m;m=c?c:b*e[h-1];time=Date.now();for(var k=0,n=h-1,u;k<=n;)if(f=Math.floor(k+(n-k)/2),u=e[f]-m,u<0)k=f+1;else if(u>0)n=f-1;else{n=f;break}f=n;if(e[f]==m)return f/(h-1);k=e[f];return e=(f+(m-k)/(e[f+1]-k))/(h-1)};THREE.Curve.prototype.getNormalVector=function(b){b=this.getTangent(b);return new THREE.Vector2(-b.y,b.x)};
+THREE.Curve.prototype.getTangent=function(b){var c=b-1.0E-4;b+=1.0E-4;c<0&&(c=0);b>1&&(b=1);var c=this.getPoint(c),b=this.getPoint(b),e=new THREE.Vector2;e.sub(b,c);return e.unit()};THREE.LineCurve=function(b,c){b instanceof THREE.Vector2?(this.v1=b,this.v2=c):THREE.LineCurve.oldConstructor.apply(this,arguments)};THREE.LineCurve.oldConstructor=function(b,c,e,f){this.constructor(new THREE.Vector2(b,c),new THREE.Vector2(e,f))};THREE.LineCurve.prototype=new THREE.Curve;
+THREE.LineCurve.prototype.constructor=THREE.LineCurve;THREE.LineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2;c.sub(this.v2,this.v1);c.multiplyScalar(b).addSelf(this.v1);return c};THREE.LineCurve.prototype.getPointAt=function(b){return this.getPoint(b)};THREE.LineCurve.prototype.getTangent=function(){var b=new THREE.Vector2;b.sub(this.v2,this.v1);b.normalize();return b};
+THREE.QuadraticBezierCurve=function(b,c,e){if(!(c instanceof THREE.Vector2))var f=Array.prototype.slice.call(arguments),b=new THREE.Vector2(f[0],f[1]),c=new THREE.Vector2(f[2],f[3]),e=new THREE.Vector2(f[4],f[5]);this.v0=b;this.v1=c;this.v2=e};THREE.QuadraticBezierCurve.prototype=new THREE.Curve;THREE.QuadraticBezierCurve.prototype.constructor=THREE.QuadraticBezierCurve;
+THREE.QuadraticBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(c,b)};THREE.QuadraticBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.y,this.v1.y,this.v2.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.CubicBezierCurve=function(b,c,e,f){if(!(c instanceof THREE.Vector2))var h=Array.prototype.slice.call(arguments),b=new THREE.Vector2(h[0],h[1]),c=new THREE.Vector2(h[2],h[3]),e=new THREE.Vector2(h[4],h[5]),f=new THREE.Vector2(h[6],h[7]);this.v0=b;this.v1=c;this.v2=e;this.v3=f};THREE.CubicBezierCurve.prototype=new THREE.Curve;THREE.CubicBezierCurve.prototype.constructor=THREE.CubicBezierCurve;
+THREE.CubicBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b3(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Shape.Utils.b3(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(c,b)};THREE.CubicBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.SplineCurve=function(b){this.points=b};THREE.SplineCurve.prototype=new THREE.Curve;THREE.SplineCurve.prototype.constructor=THREE.SplineCurve;
+THREE.SplineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2,e=[],f=this.points,h;h=(f.length-1)*b;b=Math.floor(h);h-=b;e[0]=b==0?b:b-1;e[1]=b;e[2]=b>f.length-2?b:b+1;e[3]=b>f.length-3?b:b+2;c.x=THREE.Curve.Utils.interpolate(f[e[0]].x,f[e[1]].x,f[e[2]].x,f[e[3]].x,h);c.y=THREE.Curve.Utils.interpolate(f[e[0]].y,f[e[1]].y,f[e[2]].y,f[e[3]].y,h);return c};THREE.ArcCurve=function(b,c,e,f,h,m){this.aX=b;this.aY=c;this.aRadius=e;this.aStartAngle=f;this.aEndAngle=h;this.aClockwise=m};
+THREE.ArcCurve.prototype=new THREE.Curve;THREE.ArcCurve.prototype.constructor=THREE.ArcCurve;THREE.ArcCurve.prototype.getPoint=function(b){var c=this.aEndAngle-this.aStartAngle;this.aClockwise||(b=1-b);b=this.aStartAngle+b*c;return new THREE.Vector2(this.aX+this.aRadius*Math.cos(b),this.aY+this.aRadius*Math.sin(b))};
+THREE.Curve.Utils={tangentQuadraticBezier:function(b,c,e,f){return 2*(1-b)*(e-c)+2*b*(f-e)},tangentCubicBezier:function(b,c,e,f,h){return-3*c*(1-b)*(1-b)+3*e*(1-b)*(1-b)-6*b*e*(1-b)+6*b*f*(1-b)-3*b*b*f+3*b*b*h},tangentSpline:function(b){return 6*b*b-6*b+(3*b*b-4*b+1)+(-6*b*b+6*b)+(3*b*b-2*b)},interpolate:function(b,c,e,f,h){var b=(e-b)*0.5,f=(f-c)*0.5,m=h*h;return(2*c-2*e+b+f)*h*m+(-3*c+3*e-2*b-f)*m+b*h+c}};
+THREE.Curve.create=function(b,c){b.prototype=new THREE.Curve;b.prototype.constructor=b;b.prototype.getPoint=c;return b};THREE.LineCurve3=THREE.Curve.create(function(b,c){this.v1=b;this.v2=c},function(b){var c=new THREE.Vector3;c.sub(v2,v1);c.multiplyScalar(b);c.addSelf(this.v1);return c});
+THREE.QuadraticBezierCurve3=THREE.Curve.create(function(b,c,e){this.v0=b;this.v1=c;this.v2=e},function(b){var c,e;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);e=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);b=THREE.Shape.Utils.b2(b,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(c,e,b)});THREE.CurvePath=function(){this.curves=[];this.bends=[]};THREE.CurvePath.prototype=new THREE.Curve;THREE.CurvePath.prototype.constructor=THREE.CurvePath;THREE.CurvePath.prototype.add=function(b){this.curves.push(b)};
+THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){};THREE.CurvePath.prototype.getPoint=function(b){for(var c=b*this.getLength(),e=this.getCurveLengths(),b=0;b<e.length;){if(e[b]>=c)return c=e[b]-c,b=this.curves[b],c=1-c/b.getLength(),b.getPointAt(c);b++}return null};THREE.CurvePath.prototype.getLength=function(){var b=this.getCurveLengths();return b[b.length-1]};
+THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var b=[],c=0,e,f=this.curves.length;for(e=0;e<f;e++)c+=this.curves[e].getLength(),b.push(c);return this.cacheLengths=b};
+THREE.CurvePath.prototype.getBoundingBox=function(){var b=this.getPoints(),c,e,f,h;c=e=Number.NEGATIVE_INFINITY;f=h=Number.POSITIVE_INFINITY;var m,k,n,u;u=new THREE.Vector2;k=0;for(n=b.length;k<n;k++){m=b[k];if(m.x>c)c=m.x;else if(m.x<f)f=m.x;if(m.y>e)e=m.y;else if(m.y<e)h=m.y;u.addSelf(m.x,m.y)}return{minX:f,minY:h,maxX:c,maxY:e,centroid:u.divideScalar(n)}};THREE.CurvePath.prototype.createPointsGeometry=function(b){return this.createGeometry(this.getPoints(b,!0))};
+THREE.CurvePath.prototype.createSpacedPointsGeometry=function(b){return this.createGeometry(this.getSpacedPoints(b,!0))};THREE.CurvePath.prototype.createGeometry=function(b){for(var c=new THREE.Geometry,e=0;e<b.length;e++)c.vertices.push(new THREE.Vertex(new THREE.Vector3(b[e].x,b[e].y,0)));return c};THREE.CurvePath.prototype.addWrapPath=function(b){this.bends.push(b)};
+THREE.CurvePath.prototype.getTransformedPoints=function(b,c){var e=this.getPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(b,c){var e=this.getSpacedPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};
+THREE.CurvePath.prototype.getWrapPoints=function(b,c){var e=this.getBoundingBox(),f,h,m,k,n,u;f=0;for(h=b.length;f<h;f++)m=b[f],k=m.x,n=m.y,u=k/e.maxX,u=c.getUtoTmapping(u,k),k=c.getPoint(u),n=c.getNormalVector(u).multiplyScalar(n),m.x=k.x+n.x,m.y=k.y+n.y;return b};THREE.Path=function(b){THREE.CurvePath.call(this);this.actions=[];b&&this.fromPoints(b)};THREE.Path.prototype=new THREE.CurvePath;THREE.Path.prototype.constructor=THREE.Path;
+THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc"};THREE.Path.prototype.fromPoints=function(b){this.moveTo(b[0].x,b[0].y);var c,e=b.length;for(c=1;c<e;c++)this.lineTo(b[c].x,b[c].y)};THREE.Path.prototype.moveTo=function(){var b=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:b})};
+THREE.Path.prototype.lineTo=function(b,c){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args;this.curves.push(new THREE.LineCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(b,c)));this.actions.push({action:THREE.PathActions.LINE_TO,args:e})};
+THREE.Path.prototype.quadraticCurveTo=function(b,c,e,f){var h=Array.prototype.slice.call(arguments),m=this.actions[this.actions.length-1].args;this.curves.push(new THREE.QuadraticBezierCurve(new THREE.Vector2(m[m.length-2],m[m.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f)));this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:h})};
+THREE.Path.prototype.bezierCurveTo=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments),n=this.actions[this.actions.length-1].args;this.curves.push(new THREE.CubicBezierCurve(new THREE.Vector2(n[n.length-2],n[n.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f),new THREE.Vector2(h,m)));this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:k})};
+THREE.Path.prototype.splineThru=function(b){var c=Array.prototype.slice.call(arguments),e=this.actions[this.actions.length-1].args,e=[new THREE.Vector2(e[e.length-2],e[e.length-1])],e=e.concat(b);this.curves.push(new THREE.SplineCurve(e));this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:c})};THREE.Path.prototype.arc=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments);this.curves.push(new THREE.ArcCurve(b,c,e,f,h,m));this.actions.push({action:THREE.PathActions.ARC,args:k})};
+THREE.Path.prototype.getSpacedPoints=function(b){b||(b=40);for(var c=[],e=0;e<b;e++)c.push(this.getPoint(e/b));return c};
+THREE.Path.prototype.getPoints=function(b,c){var b=b||12,e=[],f,h,m,k,n,u,p,v,t,x,w,z,y;f=0;for(h=this.actions.length;f<h;f++)switch(m=this.actions[f],k=m.action,m=m.args,k){case THREE.PathActions.LINE_TO:e.push(new THREE.Vector2(m[0],m[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:n=m[2];u=m[3];t=m[0];x=m[1];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b2(y,w,t,n),y=THREE.Shape.Utils.b2(y,z,x,
+u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.BEZIER_CURVE_TO:n=m[4];u=m[5];t=m[0];x=m[1];p=m[2];v=m[3];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b3(y,w,t,p,n),y=THREE.Shape.Utils.b3(y,z,x,v,u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.CSPLINE_THRU:k=this.actions[f-1].args;k=[new THREE.Vector2(k[k.length-2],k[k.length-1])];y=b*m[0].length;k=k.concat(m[0]);m=new THREE.SplineCurve(k);
+for(k=1;k<=y;k++)e.push(m.getPointAt(k/y));break;case THREE.PathActions.ARC:k=this.actions[f-1].args;n=m[0];u=m[1];p=m[2];t=m[3];y=m[4];x=!!m[5];v=k[k.length-2];w=k[k.length-1];k.length==0&&(v=w=0);z=y-t;var B=b*2;for(k=1;k<=B;k++)y=k/B,x||(y=1-y),y=t+y*z,m=v+n+p*Math.cos(y),y=w+u+p*Math.sin(y),e.push(new THREE.Vector2(m,y))}c&&e.push(e[0]);return e};THREE.Path.prototype.transform=function(b,c){this.getBoundingBox();return this.getWrapPoints(this.getPoints(c),b)};
+THREE.Path.prototype.nltransform=function(b,c,e,f,h,m){var k=this.getPoints(),n,u,p,v,t;n=0;for(u=k.length;n<u;n++)p=k[n],v=p.x,t=p.y,p.x=b*v+c*t+e,p.y=f*t+h*v+m;return k};
+THREE.Path.prototype.debug=function(b){var c=this.getBoundingBox();b||(b=document.createElement("canvas"),b.setAttribute("width",c.maxX+100),b.setAttribute("height",c.maxY+100),document.body.appendChild(b));c=b.getContext("2d");c.fillStyle="white";c.fillRect(0,0,b.width,b.height);c.strokeStyle="black";c.beginPath();var e,f,h,b=0;for(e=this.actions.length;b<e;b++)f=this.actions[b],h=f.args,f=f.action,f!=THREE.PathActions.CSPLINE_THRU&&c[f].apply(c,h);c.stroke();c.closePath();c.strokeStyle="red";f=
+this.getPoints();b=0;for(e=f.length;b<e;b++)h=f[b],c.beginPath(),c.arc(h.x,h.y,1.5,0,Math.PI*2,!1),c.stroke(),c.closePath()};
+THREE.Path.prototype.toShapes=function(){var b,c,e,f,h=[],m=new THREE.Path;b=0;for(c=this.actions.length;b<c;b++)e=this.actions[b],f=e.args,e=e.action,e==THREE.PathActions.MOVE_TO&&m.actions.length!=0&&(h.push(m),m=new THREE.Path),m[e].apply(m,f);m.actions.length!=0&&h.push(m);if(h.length==0)return[];var k,m=[];if(THREE.Shape.Utils.isClockWise(h[0].getPoints())){b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k&&m.push(k),k=new THREE.Shape,k.actions=f.actions,k.curves=
+f.curves):k.holes.push(f);m.push(k)}else{k=new THREE.Shape;b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k.actions=f.actions,k.curves=f.curves,m.push(k),k=new THREE.Shape):k.holes.push(f)}return m};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=new THREE.Path;THREE.Shape.prototype.constructor=THREE.Path;THREE.Shape.prototype.extrude=function(b){return new THREE.ExtrudeGeometry(this,b)};
+THREE.Shape.prototype.getPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedPoints(b,this.bends);return f};THREE.Shape.prototype.getSpacedPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedSpacedPoints(b,this.bends);return f};THREE.Shape.prototype.extractAllPoints=function(b){return{shape:this.getTransformedPoints(b),holes:this.getPointsHoles(b)}};
+THREE.Shape.prototype.extractAllSpacedPoints=function(b){return{shape:this.getTransformedSpacedPoints(b),holes:this.getSpacedPointsHoles(b)}};
+THREE.Shape.Utils={removeHoles:function(b,c){var e=b.concat(),f=e.concat(),h,m,k,n,u,p,v,t,x,w,z=[];for(u=0;u<c.length;u++){p=c[u];f=f.concat(p);m=Number.POSITIVE_INFINITY;for(h=0;h<p.length;h++){x=p[h];w=[];for(t=0;t<e.length;t++)v=e[t],v=x.distanceToSquared(v),w.push(v),v<m&&(m=v,k=h,n=t)}h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;var y=[p[k],e[n],e[h]];t=THREE.FontUtils.Triangulate.area(y);var B=[p[k],p[m],e[n]];x=THREE.FontUtils.Triangulate.area(B);w=n;v=k;n+=1;k+=-1;n<0&&(n+=e.length);n%=
+e.length;k<0&&(k+=p.length);k%=p.length;h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;y=[p[k],e[n],e[h]];y=THREE.FontUtils.Triangulate.area(y);B=[p[k],p[m],e[n]];B=THREE.FontUtils.Triangulate.area(B);t+x>y+B&&(n=w,k=v,n<0&&(n+=e.length),n%=e.length,k<0&&(k+=p.length),k%=p.length,h=n-1>=0?n-1:e.length-1,m=k-1>=0?k-1:p.length-1);t=e.slice(0,n);x=e.slice(n);w=p.slice(k);v=p.slice(0,k);m=[p[k],p[m],e[n]];z.push([p[k],e[n],e[h]]);z.push(m);e=t.concat(w).concat(v).concat(x)}return{shape:e,isolatedPts:z,
+allpoints:f}},triangulateShape:function(b,c){var e=THREE.Shape.Utils.removeHoles(b,c),f=e.allpoints,h=e.isolatedPts,e=THREE.FontUtils.Triangulate(e.shape,!1),m,k,n,u,p={};m=0;for(k=f.length;m<k;m++)u=f[m].x+":"+f[m].y,p[u]!==void 0&&console.log("Duplicate point",u),p[u]=m;m=0;for(k=e.length;m<k;m++){n=e[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}m=0;for(k=h.length;m<k;m++){n=h[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}return e.concat(h)},isClockWise:function(b){return THREE.FontUtils.Triangulate.area(b)<
+0},b2p0:function(b,c){var e=1-b;return e*e*c},b2p1:function(b,c){return 2*(1-b)*b*c},b2p2:function(b,c){return b*b*c},b2:function(b,c,e,f){return this.b2p0(b,c)+this.b2p1(b,e)+this.b2p2(b,f)},b3p0:function(b,c){var e=1-b;return e*e*e*c},b3p1:function(b,c){var e=1-b;return 3*e*e*b*c},b3p2:function(b,c){return 3*(1-b)*b*b*c},b3p3:function(b,c){return b*b*b*c},b3:function(b,c,e,f,h){return this.b3p0(b,c)+this.b3p1(b,e)+this.b3p2(b,f)+this.b3p3(b,h)}};
+THREE.TextPath=function(b,c){THREE.Path.call(this);this.parameters=c||{};this.set(b)};THREE.TextPath.prototype.set=function(b,c){this.text=b;var c=c||this.parameters,e=c.curveSegments!==void 0?c.curveSegments:4,f=c.font!==void 0?c.font:"helvetiker",h=c.weight!==void 0?c.weight:"normal",m=c.style!==void 0?c.style:"normal";THREE.FontUtils.size=c.size!==void 0?c.size:100;THREE.FontUtils.divisions=e;THREE.FontUtils.face=f;THREE.FontUtils.weight=h;THREE.FontUtils.style=m};
+THREE.TextPath.prototype.toShapes=function(){for(var b=THREE.FontUtils.drawText(this.text).paths,c=[],e=0,f=b.length;e<f;e++)c=c.concat(b[e].toShapes());return c};
+THREE.AnimationHandler=function(){var b=[],c={},e={update:function(e){for(var c=0;c<b.length;c++)b[c].update(e)},addToUpdate:function(e){b.indexOf(e)===-1&&b.push(e)},removeFromUpdate:function(e){e=b.indexOf(e);e!==-1&&b.splice(e,1)},add:function(b){c[b.name]!==void 0&&console.log("THREE.AnimationHandler.add: Warning! "+b.name+" already exists in library. Overwriting.");c[b.name]=b;if(b.initialized!==!0){for(var e=0;e<b.hierarchy.length;e++){for(var f=0;f<b.hierarchy[e].keys.length;f++){if(b.hierarchy[e].keys[f].time<
+0)b.hierarchy[e].keys[f].time=0;if(b.hierarchy[e].keys[f].rot!==void 0&&!(b.hierarchy[e].keys[f].rot instanceof THREE.Quaternion)){var n=b.hierarchy[e].keys[f].rot;b.hierarchy[e].keys[f].rot=new THREE.Quaternion(n[0],n[1],n[2],n[3])}}if(b.hierarchy[e].keys[0].morphTargets!==void 0){n={};for(f=0;f<b.hierarchy[e].keys.length;f++)for(var u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++){var p=b.hierarchy[e].keys[f].morphTargets[u];n[p]=-1}b.hierarchy[e].usedMorphTargets=n;for(f=0;f<b.hierarchy[e].keys.length;f++){var v=
+{};for(p in n){for(u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++)if(b.hierarchy[e].keys[f].morphTargets[u]===p){v[p]=b.hierarchy[e].keys[f].morphTargetsInfluences[u];break}u===b.hierarchy[e].keys[f].morphTargets.length&&(v[p]=0)}b.hierarchy[e].keys[f].morphTargetsInfluences=v}}for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].time===b.hierarchy[e].keys[f-1].time&&(b.hierarchy[e].keys.splice(f,1),f--);for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].index=f}f=parseInt(b.length*
+b.fps,10);b.JIT={};b.JIT.hierarchy=[];for(e=0;e<b.hierarchy.length;e++)b.JIT.hierarchy.push(Array(f));b.initialized=!0}},get:function(b){if(typeof b==="string")return c[b]?c[b]:(console.log("THREE.AnimationHandler.get: Couldn't find animation "+b),null)},parse:function(b){var e=[];if(b instanceof THREE.SkinnedMesh)for(var c=0;c<b.bones.length;c++)e.push(b.bones[c]);else f(b,e);return e}},f=function(b,e){e.push(b);for(var c=0;c<b.children.length;c++)f(b.children[c],e)};e.LINEAR=0;e.CATMULLROM=1;e.CATMULLROM_FORWARD=
+2;return e}();THREE.Animation=function(b,c,e,f){this.root=b;this.data=THREE.AnimationHandler.get(c);this.hierarchy=THREE.AnimationHandler.parse(b);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=e!==void 0?e:THREE.AnimationHandler.LINEAR;this.JITCompile=f!==void 0?f:!0;this.points=[];this.target=new THREE.Vector3};
+THREE.Animation.prototype.play=function(b,c){if(!this.isPlaying){this.isPlaying=!0;this.loop=b!==void 0?b:!0;this.currentTime=c!==void 0?c:0;var e,f=this.hierarchy.length,h;for(e=0;e<f;e++){h=this.hierarchy[e];if(this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD)h.useQuaternion=!0;h.matrixAutoUpdate=!0;if(h.animationCache===void 0)h.animationCache={},h.animationCache.prevKey={pos:0,rot:0,scl:0},h.animationCache.nextKey={pos:0,rot:0,scl:0},h.animationCache.originalMatrix=h instanceof
+THREE.Bone?h.skinMatrix:h.matrix;var m=h.animationCache.prevKey;h=h.animationCache.nextKey;m.pos=this.data.hierarchy[e].keys[0];m.rot=this.data.hierarchy[e].keys[0];m.scl=this.data.hierarchy[e].keys[0];h.pos=this.getNextKeyWith("pos",e,1);h.rot=this.getNextKeyWith("rot",e,1);h.scl=this.getNextKeyWith("scl",e,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
+THREE.Animation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
+THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var b=0;b<this.hierarchy.length;b++)if(this.hierarchy[b].animationCache!==void 0)this.hierarchy[b]instanceof THREE.Bone?this.hierarchy[b].skinMatrix=this.hierarchy[b].animationCache.originalMatrix:this.hierarchy[b].matrix=this.hierarchy[b].animationCache.originalMatrix,delete this.hierarchy[b].animationCache};
+THREE.Animation.prototype.update=function(b){if(this.isPlaying){var c=["pos","rot","scl"],e,f,h,m,k,n,u,p,v=this.data.JIT.hierarchy,t,x;this.currentTime+=b*this.timeScale;x=this.currentTime;t=this.currentTime%=this.data.length;p=parseInt(Math.min(t*this.data.fps,this.data.length*this.data.fps),10);for(var w=0,z=this.hierarchy.length;w<z;w++)if(b=this.hierarchy[w],u=b.animationCache,this.JITCompile&&v[w][p]!==void 0)b instanceof THREE.Bone?(b.skinMatrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=
+!1):(b.matrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!0);else{if(this.JITCompile)b instanceof THREE.Bone?b.skinMatrix=b.animationCache.originalMatrix:b.matrix=b.animationCache.originalMatrix;for(var y=0;y<3;y++){e=c[y];k=u.prevKey[e];n=u.nextKey[e];if(n.time<=x){if(t<x)if(this.loop){k=this.data.hierarchy[w].keys[0];for(n=this.getNextKeyWith(e,w,1);n.time<t;)k=n,n=this.getNextKeyWith(e,w,n.index+1)}else{this.stop();return}else{do k=n,n=this.getNextKeyWith(e,w,n.index+1);while(n.time<
+t)}u.prevKey[e]=k;u.nextKey[e]=n}b.matrixAutoUpdate=!0;b.matrixWorldNeedsUpdate=!0;f=(t-k.time)/(n.time-k.time);h=k[e];m=n[e];if(f<0||f>1)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+f+" on bone "+w),f=f<0?0:1;if(e==="pos")if(e=b.position,this.interpolationType===THREE.AnimationHandler.LINEAR)e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)if(this.points[0]=
+this.getPrevKeyWith("pos",w,k.index-1).pos,this.points[1]=h,this.points[2]=m,this.points[3]=this.getNextKeyWith("pos",w,n.index+1).pos,f=f*0.33+0.33,h=this.interpolateCatmullRom(this.points,f),e.x=h[0],e.y=h[1],e.z=h[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)f=this.interpolateCatmullRom(this.points,f*1.01),this.target.set(f[0],f[1],f[2]),this.target.subSelf(e),this.target.y=0,this.target.normalize(),f=Math.atan2(this.target.x,this.target.z),b.rotation.set(0,f,0)}else if(e===
+"rot")THREE.Quaternion.slerp(h,m,b.quaternion,f);else if(e==="scl")e=b.scale,e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f}}if(this.JITCompile&&v[0][p]===void 0){this.hierarchy[0].update(void 0,!0);for(w=0;w<this.hierarchy.length;w++)v[w][p]=this.hierarchy[w]instanceof THREE.Bone?this.hierarchy[w].skinMatrix.clone():this.hierarchy[w].matrix.clone()}}};
+THREE.Animation.prototype.interpolateCatmullRom=function(b,c){var e=[],f=[],h,m,k,n,u,p;h=(b.length-1)*c;m=Math.floor(h);h-=m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>b.length-2?m:m+1;e[3]=m>b.length-3?m:m+2;m=b[e[0]];n=b[e[1]];u=b[e[2]];p=b[e[3]];e=h*h;k=h*e;f[0]=this.interpolate(m[0],n[0],u[0],p[0],h,e,k);f[1]=this.interpolate(m[1],n[1],u[1],p[1],h,e,k);f[2]=this.interpolate(m[2],n[2],u[2],p[2],h,e,k);return f};
+THREE.Animation.prototype.interpolate=function(b,c,e,f,h,m,k){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*k+(-3*(c-e)-2*b-f)*m+b*h+c};THREE.Animation.prototype.getNextKeyWith=function(b,c,e){var f=this.data.hierarchy[c].keys;for(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e=e<f.length-1?e:f.length-1:e%=f.length;e<f.length;e++)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[0]};
+THREE.Animation.prototype.getPrevKeyWith=function(b,c,e){for(var f=this.data.hierarchy[c].keys,e=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e>0?e:0:e>=0?e:e+f.length;e>=0;e--)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[f.length-1]};
+THREE.FirstPersonCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.movementSpeed=1;this.lookSpeed=0.005;this.noFly=!1;this.lookVertical=!0;this.autoForward=!1;this.activeLook=!0;this.heightSpeed=!1;this.heightCoef=1;this.heightMin=0;this.constrainVertical=!1;this.verticalMin=0;this.verticalMax=3.14;this.domElement=document;this.lastUpdate=(new Date).getTime();this.tdiff=0;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=
+b.movementSpeed;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.noFly!==void 0)this.noFly=b.noFly;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.autoForward!==void 0)this.autoForward=b.autoForward;if(b.activeLook!==void 0)this.activeLook=b.activeLook;if(b.heightSpeed!==void 0)this.heightSpeed=b.heightSpeed;if(b.heightCoef!==void 0)this.heightCoef=b.heightCoef;if(b.heightMin!==void 0)this.heightMin=b.heightMin;if(b.heightMax!==void 0)this.heightMax=b.heightMax;if(b.constrainVertical!==
+void 0)this.constrainVertical=b.constrainVertical;if(b.verticalMin!==void 0)this.verticalMin=b.verticalMin;if(b.verticalMax!==void 0)this.verticalMax=b.verticalMax;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=!1;this.windowHalfX=window.innerWidth/2;this.windowHalfY=window.innerHeight/2;this.onMouseDown=function(b){b.preventDefault();
+b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0};this.onMouseUp=function(b){b.preventDefault();b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1};this.onMouseMove=function(b){this.mouseX=b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.onKeyDown=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=
+!0;break;case 37:case 65:this.moveLeft=!0;break;case 40:case 83:this.moveBackward=!0;break;case 39:case 68:this.moveRight=!0;break;case 82:this.moveUp=!0;break;case 70:this.moveDown=!0;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=!1;break;case 37:case 65:this.moveLeft=!1;break;case 40:case 83:this.moveBackward=!1;break;case 39:case 68:this.moveRight=!1;break;case 82:this.moveUp=!1;break;case 70:this.moveDown=!1}};this.update=
+function(){var b=(new Date).getTime();this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;if(!this.freeze){this.autoSpeedFactor=this.heightSpeed?this.tdiff*((this.position.y<this.heightMin?this.heightMin:this.position.y>this.heightMax?this.heightMax:this.position.y)-this.heightMin)*this.heightCoef:0;var c=this.tdiff*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.translateZ(-(c+this.autoSpeedFactor));this.moveBackward&&this.translateZ(c);this.moveLeft&&this.translateX(-c);
+this.moveRight&&this.translateX(c);this.moveUp&&this.translateY(c);this.moveDown&&this.translateY(-c);c=this.tdiff*this.lookSpeed;this.activeLook||(c=0);this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b=this.target.position,h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*Math.sin(this.theta)}b=
+1;this.constrainVertical&&(b=3.14/(this.verticalMax-this.verticalMin));this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c*b);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=(this.phi-0)*(this.verticalMax-this.verticalMin)/3.14+this.verticalMin;b=this.target.position;h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*
+Math.sin(this.theta);this.supr.update.call(this)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),!1);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),!1);this.domElement.addEventListener("mouseup",c(this,this.onMouseUp),!1);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),!1);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),!1)};
+THREE.FirstPersonCamera.prototype=new THREE.Camera;THREE.FirstPersonCamera.prototype.constructor=THREE.FirstPersonCamera;THREE.FirstPersonCamera.prototype.supr=THREE.Camera.prototype;THREE.FirstPersonCamera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);if(this.noFly)c.y=0;this.position.addSelf(c.multiplyScalar(b));this.target.position.addSelf(c.multiplyScalar(b))};
+THREE.PathCamera=function(b){function c(b,e,c,f){var k={name:c,fps:0.6,length:f,hierarchy:[]},h,m=e.getControlPointsArray(),n=e.getLength(),u=m.length,G=0;h=u-1;e={parent:-1,keys:[]};e.keys[0]={time:0,pos:m[0],rot:[0,0,0,1],scl:[1,1,1]};e.keys[h]={time:f,pos:m[h],rot:[0,0,0,1],scl:[1,1,1]};for(h=1;h<u-1;h++)G=f*n.chunks[h]/n.total,e.keys[h]={time:G,pos:m[h]};k.hierarchy[0]=e;THREE.AnimationHandler.add(k);return new THREE.Animation(b,c,THREE.AnimationHandler.CATMULLROM_FORWARD,!1)}function e(b,e){var c,
+f,k=new THREE.Geometry;for(c=0;c<b.points.length*e;c++)f=c/(b.points.length*e),f=b.getPoint(f),k.vertices[c]=new THREE.Vertex(new THREE.Vector3(f.x,f.y,f.z));return k}function f(b,c){var f=e(c,10),k=e(c,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3});lineObj=new THREE.Line(f,h);particleObj=new THREE.ParticleSystem(k,new THREE.ParticleBasicMaterial({color:16755200,size:3}));lineObj.scale.set(1,1,1);b.addChild(lineObj);particleObj.scale.set(1,1,1);b.addChild(particleObj);k=new THREE.SphereGeometry(1,
+16,8);h=new THREE.MeshBasicMaterial({color:65280});for(i=0;i<c.points.length;i++)f=new THREE.Mesh(k,h),f.position.copy(c.points[i]),f.updateMatrix(),b.addChild(f)}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.id="PathCamera"+THREE.PathCameraIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=!0;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=
+this.lookVertical=!0;this.verticalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.horizontalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.domElement=document;if(b){if(b.duration!==void 0)this.duration=b.duration*1E3;if(b.waypoints!==void 0)this.waypoints=b.waypoints;if(b.useConstantSpeed!==void 0)this.useConstantSpeed=b.useConstantSpeed;if(b.resamplingCoef!==void 0)this.resamplingCoef=b.resamplingCoef;if(b.createDebugPath!==void 0)this.createDebugPath=b.createDebugPath;if(b.createDebugDummy!==
+void 0)this.createDebugDummy=b.createDebugDummy;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.lookHorizontal!==void 0)this.lookHorizontal=b.lookHorizontal;if(b.verticalAngleMap!==void 0)this.verticalAngleMap=b.verticalAngleMap;if(b.horizontalAngleMap!==void 0)this.horizontalAngleMap=b.horizontalAngleMap;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;this.windowHalfX=
+window.innerWidth/2;this.windowHalfY=window.innerHeight/2;var h=Math.PI*2,m=Math.PI/180;this.update=function(b,e,c){var f,k;this.lookHorizontal&&(this.lon+=this.mouseX*this.lookSpeed);this.lookVertical&&(this.lat-=this.mouseY*this.lookSpeed);this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*m;this.theta=this.lon*m;f=this.phi%h;this.phi=f>=0?f:f+h;f=this.verticalAngleMap.srcRange;k=this.verticalAngleMap.dstRange;var n=k[1]-k[0];this.phi=
+TWEEN.Easing.Quadratic.EaseInOut(((this.phi-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.horizontalAngleMap.srcRange;k=this.horizontalAngleMap.dstRange;n=k[1]-k[0];this.theta=TWEEN.Easing.Quadratic.EaseInOut(((this.theta-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.target.position;f.x=100*Math.sin(this.phi)*Math.cos(this.theta);f.y=100*Math.cos(this.phi);f.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.supr.update.call(this,b,e,c)};this.onMouseMove=function(b){this.mouseX=
+b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var b=new THREE.MeshLambertMaterial({color:30719}),k=new THREE.MeshLambertMaterial({color:65280}),n=new THREE.CubeGeometry(10,10,20),u=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(n,b);b=new THREE.Mesh(u,k);b.position.set(0,10,0);this.animation=
+c(this.animationParent,this.spline,this.id,this.duration);this.animationParent.addChild(this);this.animationParent.addChild(this.target);this.animationParent.addChild(b)}else this.animation=c(this.animationParent,this.spline,this.id,this.duration),this.animationParent.addChild(this.target),this.animationParent.addChild(this);this.createDebugPath&&f(this.debugPath,this.spline);this.domElement.addEventListener("mousemove",function(b,e){return function(){e.apply(b,arguments)}}(this,this.onMouseMove),
+!1)};THREE.PathCamera.prototype=new THREE.Camera;THREE.PathCamera.prototype.constructor=THREE.PathCamera;THREE.PathCamera.prototype.supr=THREE.Camera.prototype;THREE.PathCameraIdCounter=0;
+THREE.FlyCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.tmpQuaternion=new THREE.Quaternion;this.movementSpeed=1;this.rollSpeed=0.005;this.autoForward=this.dragToLook=!1;this.domElement=document;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=b.movementSpeed;if(b.rollSpeed!==void 0)this.rollSpeed=b.rollSpeed;if(b.dragToLook!==void 0)this.dragToLook=b.dragToLook;if(b.autoForward!==void 0)this.autoForward=
+b.autoForward;if(b.domElement!==void 0)this.domElement=b.domElement}this.useTarget=!1;this.useQuaternion=!0;this.mouseStatus=0;this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0};this.moveVector=new THREE.Vector3(0,0,0);this.rotationVector=new THREE.Vector3(0,0,0);this.lastUpdate=-1;this.tdiff=0;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.keydown=function(b){if(!b.altKey){switch(b.keyCode){case 16:this.movementSpeedMultiplier=
+0.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector();this.updateRotationVector()}};
+this.keyup=function(b){switch(b.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;
+case 69:this.moveState.rollRight=0}this.updateMovementVector();this.updateRotationVector()};this.mousedown=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus++;else switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}};this.mousemove=function(b){if(!this.dragToLook||this.mouseStatus>0){var c=this.getContainerDimensions(),h=c.size[0]/2,m=c.size[1]/2;this.moveState.yawLeft=-(b.clientX-c.offset[0]-h)/h;this.moveState.pitchDown=(b.clientY-
+c.offset[1]-m)/m;this.updateRotationVector()}};this.mouseup=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.updateRotationVector()};this.update=function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;var b=this.tdiff*this.movementSpeed,c=this.tdiff*
+this.rollSpeed;this.translateX(this.moveVector.x*b);this.translateY(this.moveVector.y*b);this.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*c,this.rotationVector.y*c,this.rotationVector.z*c,1).normalize();this.quaternion.multiplySelf(this.tmpQuaternion);this.matrix.setPosition(this.position);this.matrix.setRotationFromQuaternion(this.quaternion);this.matrixWorldNeedsUpdate=!0;this.supr.update.call(this)};this.updateMovementVector=function(){var b=this.moveState.forward||
+this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-b+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=
+document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",c(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",c(this,this.mouseup),!1);window.addEventListener("keydown",c(this,this.keydown),!1);window.addEventListener("keyup",c(this,
+this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
+THREE.RollCamera=function(b,c,e,f){THREE.Camera.call(this,b,c,e,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.matrixAutoUpdate=this.useTarget=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=-1;this.delta=0;var h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Matrix4,u=!1,p=1,v=0,t=0,x=0,w=0,z=0,y=window.innerWidth/2,B=window.innerHeight/2;this.update=
+function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.delta=(b-this.lastUpdate)/1E3;this.lastUpdate=b;this.mouseLook&&(b=this.delta*this.lookSpeed,this.rotateHorizontally(b*w),this.rotateVertically(b*z));b=this.delta*this.movementSpeed;this.translateZ(b*(v>0||this.autoForward&&!(v<0)?1:v));this.translateX(b*t);this.translateY(b*x);u&&(this.roll+=this.rollSpeed*this.delta*p);if(this.forward.y>this.constrainVertical[1])this.forward.y=this.constrainVertical[1],this.forward.normalize();
+else if(this.forward.y<this.constrainVertical[0])this.forward.y=this.constrainVertical[0],this.forward.normalize();k.copy(this.forward);m.set(0,1,0);h.cross(m,k).normalize();m.cross(k,h).normalize();this.matrix.n11=h.x;this.matrix.n12=m.x;this.matrix.n13=k.x;this.matrix.n21=h.y;this.matrix.n22=m.y;this.matrix.n23=k.y;this.matrix.n31=h.z;this.matrix.n32=m.z;this.matrix.n33=k.z;n.identity();n.n11=Math.cos(this.roll);n.n12=-Math.sin(this.roll);n.n21=Math.sin(this.roll);n.n22=Math.cos(this.roll);this.matrix.multiplySelf(n);
+this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(b){this.position.x+=this.matrix.n11*b;this.position.y+=this.matrix.n21*b;this.position.z+=this.matrix.n31*b};this.translateY=function(b){this.position.x+=this.matrix.n12*b;this.position.y+=this.matrix.n22*b;this.position.z+=this.matrix.n32*b};this.translateZ=function(b){this.position.x-=this.matrix.n13*b;this.position.y-=
+this.matrix.n23*b;this.position.z-=this.matrix.n33*b};this.rotateHorizontally=function(b){h.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);h.multiplyScalar(b);this.forward.subSelf(h);this.forward.normalize()};this.rotateVertically=function(b){m.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);m.multiplyScalar(b);this.forward.addSelf(m);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+function(b){w=(b.clientX-y)/window.innerWidth;z=(b.clientY-B)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=1;break;case 2:v=-1}},!1);this.domElement.addEventListener("mouseup",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=0;break;case 2:v=0}},!1);this.domElement.addEventListener("keydown",function(b){switch(b.keyCode){case 38:case 87:v=1;break;case 37:case 65:t=-1;break;
+case 40:case 83:v=-1;break;case 39:case 68:t=1;break;case 81:u=!0;p=1;break;case 69:u=!0;p=-1;break;case 82:x=1;break;case 70:x=-1}},!1);this.domElement.addEventListener("keyup",function(b){switch(b.keyCode){case 38:case 87:v=0;break;case 37:case 65:t=0;break;case 40:case 83:v=0;break;case 39:case 68:t=0;break;case 81:u=!1;break;case 69:u=!1;break;case 82:x=0;break;case 70:x=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
+THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}b=b||{};THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.domElement=b.domElement||document;this.screen=b.screen||{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0};this.radius=b.radius||(this.screen.width+this.screen.height)/4;this.rotateSpeed=b.rotateSpeed||1;this.zoomSpeed=b.zoomSpeed||1.2;this.panSpeed=b.panSpeed||0.3;this.noZoom=b.noZoom||!1;this.noPan=b.noPan||
+!1;this.staticMoving=b.staticMoving||!1;this.dynamicDampingFactor=b.dynamicDampingFactor||0.2;this.minDistance=b.minDistance||0;this.maxDistance=b.maxDistance||Infinity;this.keys=b.keys||[65,83,68];this.useTarget=!0;var e=!1,f=this.STATE.NONE,h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Vector2,u=new THREE.Vector2,p=new THREE.Vector2,v=new THREE.Vector2;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.getMouseOnScreen=function(b,c){return new THREE.Vector2((b-
+this.screen.offsetLeft)/this.radius*0.5,(c-this.screen.offsetTop)/this.radius*0.5)};this.getMouseProjectionOnBall=function(b,c){var e=new THREE.Vector3((b-this.screen.width*0.5-this.screen.offsetLeft)/this.radius,(this.screen.height*0.5+this.screen.offsetTop-c)/this.radius,0),f=e.length();f>1?e.normalize():e.z=Math.sqrt(1-f*f);h=this.position.clone().subSelf(this.target.position);f=this.up.clone().setLength(e.y);f.addSelf(this.up.clone().crossSelf(h).setLength(e.x));f.addSelf(h.setLength(e.z));return f};
+this.rotateCamera=function(){var b=Math.acos(m.dot(k)/m.length()/k.length());if(b){var c=(new THREE.Vector3).cross(m,k).normalize(),e=new THREE.Quaternion;b*=this.rotateSpeed;e.setFromAxisAngle(c,-b);e.multiplyVector3(h);e.multiplyVector3(this.up);e.multiplyVector3(k);this.staticMoving?m=k:(e.setFromAxisAngle(c,b*(this.dynamicDampingFactor-1)),e.multiplyVector3(m))}};this.zoomCamera=function(){var b=1+(u.y-n.y)*this.zoomSpeed;b!==1&&b>0&&(h.multiplyScalar(b),this.staticMoving?n=u:n.y+=(u.y-n.y)*this.dynamicDampingFactor)};
+this.panCamera=function(){var b=v.clone().subSelf(p);if(b.lengthSq()){b.multiplyScalar(h.length()*this.panSpeed);var c=h.clone().crossSelf(this.up).setLength(b.x);c.addSelf(this.up.clone().setLength(b.y));this.position.addSelf(c);this.target.position.addSelf(c);this.staticMoving?p=v:p.addSelf(b.sub(v,p).multiplyScalar(this.dynamicDampingFactor))}};this.checkDistances=function(){if(!this.noZoom||!this.noPan)this.position.lengthSq()>this.maxDistance*this.maxDistance&&this.position.setLength(this.maxDistance),
+h.lengthSq()<this.minDistance*this.minDistance&&this.position.add(this.target.position,h.setLength(this.minDistance))};this.update=function(b,c,e){h=this.position.clone().subSelf(this.target.position);this.rotateCamera();this.noZoom||this.zoomCamera();this.noPan||this.panCamera();this.position.add(this.target.position,h);this.checkDistances();this.supr.update.call(this,b,c,e)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+c(this,function(b){e&&(m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY),n=u=this.getMouseOnScreen(b.clientX,b.clientY),p=v=this.getMouseOnScreen(b.clientX,b.clientY),e=!1);f!==this.STATE.NONE&&(f===this.STATE.ROTATE?k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?u=this.getMouseOnScreen(b.clientX,b.clientY):f===this.STATE.PAN&&!this.noPan&&(v=this.getMouseOnScreen(b.clientX,b.clientY)))}),!1);this.domElement.addEventListener("mousedown",c(this,function(b){b.preventDefault();
+b.stopPropagation();if(f===this.STATE.NONE)f=b.button,f===this.STATE.ROTATE?m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?n=u=this.getMouseOnScreen(b.clientX,b.clientY):this.noPan||(p=v=this.getMouseOnScreen(b.clientX,b.clientY))}),!1);this.domElement.addEventListener("mouseup",c(this,function(b){b.preventDefault();b.stopPropagation();f=this.STATE.NONE}),!1);window.addEventListener("keydown",c(this,function(b){if(f===this.STATE.NONE){if(b.keyCode===this.keys[this.STATE.ROTATE])f=
+this.STATE.ROTATE;else if(b.keyCode===this.keys[this.STATE.ZOOM]&&!this.noZoom)f=this.STATE.ZOOM;else if(b.keyCode===this.keys[this.STATE.PAN]&&!this.noPan)f=this.STATE.PAN;f!==this.STATE.NONE&&(e=!0)}}),!1);window.addEventListener("keyup",c(this,function(){if(f!==this.STATE.NONE)f=this.STATE.NONE}),!1)};THREE.TrackballCamera.prototype=new THREE.Camera;THREE.TrackballCamera.prototype.constructor=THREE.TrackballCamera;THREE.TrackballCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera.prototype.STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2};THREE.QuakeCamera=THREE.FirstPersonCamera;
+THREE.CubeGeometry=function(b,c,e,f,h,m,k,n,u){function p(b,c,e,k,n,p,t,u){var w,x,y=f||1,z=h||1,O=n/2,S=p/2,P=v.vertices.length;if(b=="x"&&c=="y"||b=="y"&&c=="x")w="z";else if(b=="x"&&c=="z"||b=="z"&&c=="x")w="y",z=m||1;else if(b=="z"&&c=="y"||b=="y"&&c=="z")w="x",y=m||1;var o=y+1,W=z+1;n/=y;var na=p/z;for(x=0;x<W;x++)for(p=0;p<o;p++){var R=new THREE.Vector3;R[b]=(p*n-O)*e;R[c]=(x*na-S)*k;R[w]=t;v.vertices.push(new THREE.Vertex(R))}for(x=0;x<z;x++)for(p=0;p<y;p++)v.faces.push(new THREE.Face4(p+o*
+x+P,p+o*(x+1)+P,p+1+o*(x+1)+P,p+1+o*x+P,null,null,u)),v.faceVertexUvs[0].push([new THREE.UV(p/y,x/z),new THREE.UV(p/y,(x+1)/z),new THREE.UV((p+1)/y,(x+1)/z),new THREE.UV((p+1)/y,x/z)])}THREE.Geometry.call(this);var v=this,t=b/2,x=c/2,w=e/2,n=n?-1:1;if(k!==void 0)if(k instanceof Array)this.materials=k;else{this.materials=[];for(var z=0;z<6;z++)this.materials.push([k])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(u!=void 0)for(var y in u)this.sides[y]!=void 0&&(this.sides[y]=
+u[y]);this.sides.px&&p("z","y",1*n,-1,e,c,-t,this.materials[0]);this.sides.nx&&p("z","y",-1*n,-1,e,c,t,this.materials[1]);this.sides.py&&p("x","z",1*n,1,b,e,x,this.materials[2]);this.sides.ny&&p("x","z",1*n,-1,b,e,-x,this.materials[3]);this.sides.pz&&p("x","y",1*n,-1,b,c,w,this.materials[4]);this.sides.nz&&p("x","y",-1*n,-1,b,c,-w,this.materials[5]);(function(){for(var b=[],c=[],e=0,f=v.vertices.length;e<f;e++){for(var k=v.vertices[e],h=!1,m=0,n=b.length;m<n;m++){var p=b[m];if(k.position.x==p.position.x&&
+k.position.y==p.position.y&&k.position.z==p.position.z){c[e]=m;h=!0;break}}if(!h)c[e]=b.length,b.push(new THREE.Vertex(k.position.clone()))}e=0;for(f=v.faces.length;e<f;e++)k=v.faces[e],k.a=c[k.a],k.b=c[k.b],k.c=c[k.c],k.d=c[k.d];v.vertices=b})();this.computeCentroids();this.computeFaceNormals()};THREE.CubeGeometry.prototype=new THREE.Geometry;THREE.CubeGeometry.prototype.constructor=THREE.CubeGeometry;
+THREE.CylinderGeometry=function(b,c,e,f,h,m){function k(b,c,e){n.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}THREE.Geometry.call(this);var n=this,u,p=Math.PI*2,v=f/2;for(u=0;u<b;u++)k(Math.sin(p*u/b)*c,Math.cos(p*u/b)*c,-v);for(u=0;u<b;u++)k(Math.sin(p*u/b)*e,Math.cos(p*u/b)*e,v);var t,x,w,z,y=c-e;for(u=0;u<b;u++)t=new THREE.Vector3,t.copy(n.vertices[u].position),t.z=y,t.normalize(),x=new THREE.Vector3,x.copy(n.vertices[u+b].position),x.z=y,x.normalize(),w=new THREE.Vector3,w.copy(n.vertices[b+
+(u+1)%b].position),w.z=y,w.normalize(),z=new THREE.Vector3,z.copy(n.vertices[(u+1)%b].position),z.z=y,z.normalize(),n.faces.push(new THREE.Face4(u,u+b,b+(u+1)%b,(u+1)%b,[t,x,w,z]));if(e>0){e=new THREE.Vector3(0,0,-1);k(0,0,-v-(m||0));for(u=b;u<b+b/2;u++)n.faces.push(new THREE.Face4(2*b,(2*u-2*b)%b,(2*u-2*b+1)%b,(2*u-2*b+2)%b,[e,e,e,e]))}if(c>0){c=new THREE.Vector3(0,0,1);k(0,0,v+(h||0));for(u=b+b/2;u<2*b;u++)n.faces.push(new THREE.Face4(2*b+1,(2*u-2*b+2)%b+b,(2*u-2*b+1)%b+b,(2*u-2*b)%b+b,[c,c,c,c]))}u=
+0;for(b=this.faces.length;u<b;u++)h=[],v=this.faces[u],c=this.vertices[v.a],m=this.vertices[v.b],e=this.vertices[v.c],t=this.vertices[v.d],h.push(new THREE.UV(0.5+Math.atan2(c.position.x,c.position.y)/p,0.5+c.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(m.position.x,m.position.y)/p,0.5+m.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(e.position.x,e.position.y)/p,0.5+e.position.z/f)),v instanceof THREE.Face4&&h.push(new THREE.UV(0.5+Math.atan2(t.position.x,t.position.y)/p,0.5+t.position.z/
+f)),this.faceVertexUvs[0].push(h);this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=new THREE.Geometry;THREE.CylinderGeometry.prototype.constructor=THREE.CylinderGeometry;THREE.ExtrudeGeometry=function(b,c){if(typeof b!="undefined"){THREE.Geometry.call(this);var b=b instanceof Array?b:[b],e,f=b.length,h;this.shapebb=b[f-1].getBoundingBox();for(e=0;e<f;e++)h=b[e],this.addShape(h,c);this.computeCentroids();this.computeFaceNormals()}};
+THREE.ExtrudeGeometry.prototype=new THREE.Geometry;THREE.ExtrudeGeometry.prototype.constructor=THREE.ExtrudeGeometry;
+THREE.ExtrudeGeometry.prototype.addShape=function(b,c){function e(b,c,e){c||console.log("die");return c.clone().multiplyScalar(e).addSelf(b)}function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeometry.__v2,h=THREE.ExtrudeGeometry.__v3,m=THREE.ExtrudeGeometry.__v4,n=THREE.ExtrudeGeometry.__v5,o=THREE.ExtrudeGeometry.__v6;f.set(b.x-c.x,b.y-c.y);k.set(b.x-e.x,b.y-e.y);f=f.normalize();k=k.normalize();h.set(-f.y,f.x);m.set(k.y,-k.x);n.copy(b).addSelf(h);o.copy(b).addSelf(m);if(n.equals(o))return m.clone();
+n.copy(c).addSelf(h);o.copy(e).addSelf(m);h=f.dot(m);m=o.subSelf(n).dot(m);h==0&&(console.log("Either infinite or no solutions!"),m==0?console.log("Its finite solutions."):console.log("Too bad, no solutions."));m/=h;if(m<0)return c=Math.atan2(c.y-b.y,c.x-b.x),b=Math.atan2(e.y-b.y,e.x-b.x),c>b&&(b+=Math.PI*2),anglec=(c+b)/2,new THREE.Vector2(-Math.cos(anglec),-Math.sin(anglec));return f.multiplyScalar(m).addSelf(n).subSelf(b).clone()}function h(b){for(L=b.length;--L>=0;){ga=L;da=L-1;da<0&&(da=b.length-
+1);for(var c=0,e=w+v*2,c=0;c<e;c++){var f=na*c,k=na*(c+1),h=$+ga+f,m=$+ga+k,o=h,f=$+da+f,k=$+da+k,p=m;o+=U;f+=U;k+=U;p+=U;K.faces.push(new THREE.Face4(o,f,k,p,null,null,E));E&&(o=c/e,f=(c+1)/e,k=n+u*2,h=(K.vertices[h].position.z+u)/k,m=(K.vertices[m].position.z+u)/k,K.faceVertexUvs[0].push([new THREE.UV(h,o),new THREE.UV(m,o),new THREE.UV(m,f),new THREE.UV(h,f)]))}}}function m(b,c,e){K.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}function k(b,c,e){b+=U;c+=U;e+=U;K.faces.push(new THREE.Face3(b,
+c,e,null,null,H));if(H){var f=N.maxY,k=N.maxX,h=K.vertices[c].position.x,c=K.vertices[c].position.y,m=K.vertices[e].position.x,e=K.vertices[e].position.y;K.faceVertexUvs[0].push([new THREE.UV(K.vertices[b].position.x/k,K.vertices[b].position.y/f),new THREE.UV(h/k,c/f),new THREE.UV(m/k,e/f)])}}var n=c.amount!==void 0?c.amount:100,u=c.bevelThickness!==void 0?c.bevelThickness:6,p=c.bevelSize!==void 0?c.bevelSize:u-2,v=c.bevelSegments!==void 0?c.bevelSegments:3,t=c.bevelEnabled!==void 0?c.bevelEnabled:
+!0,x=c.curveSegments!==void 0?c.curveSegments:12,w=c.steps!==void 0?c.steps:1,z=c.bendPath,y=c.extrudePath,B,D=!1,G=c.useSpacedPoints!==void 0?c.useSpacedPoints:!1,H=c.material,E=c.extrudeMaterial,N=this.shapebb;if(y)B=y.getPoints(x),w=B.length,D=!0,t=!1;t||(p=u=v=0);var F,I,C,K=this,U=this.vertices.length;z&&b.addWrapPath(z);x=G?b.extractAllSpacedPoints(x):b.extractAllPoints(x);z=x.shape;x=x.holes;if(y=!THREE.Shape.Utils.isClockWise(z)){z=z.reverse();I=0;for(C=x.length;I<C;I++)F=x[I],THREE.Shape.Utils.isClockWise(F)&&
+(x[I]=F.reverse());y=!1}y=THREE.Shape.Utils.triangulateShape(z,x);G=z;I=0;for(C=x.length;I<C;I++)F=x[I],z=z.concat(F);var L,O,S,P,o,W,na=z.length,R=y.length,ia=[];L=0;O=G.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ia[L]=f(G[L],G[ga],G[da]);var aa=[],ma,fa=ia.concat();I=0;for(C=x.length;I<C;I++){F=x[I];ma=[];L=0;O=F.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ma[L]=f(F[L],F[ga],F[da]);aa.push(ma);fa=fa.concat(ma)}for(S=0;S<v;S++){P=S/v;o=u*(1-
+P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,-o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),m(W.x,W.y,-o)}}P=p;for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[0].y,B[0].x):m(W.x,W.y,0);for(S=1;S<=w;S++)for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[S-1].y,B[S-1].x):m(W.x,W.y,n/w*S);for(S=v-1;S>=0;S--){P=S/v;o=u*(1-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,
+n+o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),D?m(W.x,W.y+B[w-1].y,B[w-1].x+o):m(W.x,W.y,n+o)}}if(t){t=na*0;for(L=0;L<R;L++)p=y[L],k(p[2]+t,p[1]+t,p[0]+t);t=na*(w+v*2);for(L=0;L<R;L++)p=y[L],k(p[0]+t,p[1]+t,p[2]+t)}else{for(L=0;L<R;L++)p=y[L],k(p[2],p[1],p[0]);for(L=0;L<R;L++)p=y[L],k(p[0]+na*w,p[1]+na*w,p[2]+na*w)}var ga,da,$=0;h(G);$+=G.length;I=0;for(C=x.length;I<C;I++)F=x[I],h(F),$+=F.length};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;
+THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;
+THREE.IcosahedronGeometry=function(b){function c(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(new THREE.Vertex(new THREE.Vector3(b/f,c/f,e/f)))-1}function e(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}function f(b,e){var f=h.vertices[b].position,k=h.vertices[e].position;return c((f.x+k.x)/2,(f.y+k.y)/2,(f.z+k.z)/2)}var h=this,m=new THREE.Geometry;this.subdivisions=b||0;THREE.Geometry.call(this);b=(1+Math.sqrt(5))/2;c(-1,b,0);c(1,b,0);c(-1,-b,0);c(1,-b,0);c(0,-1,b);c(0,1,b);c(0,-1,
+-b);c(0,1,-b);c(b,0,-1);c(b,0,1);c(-b,0,-1);c(-b,0,1);e(0,11,5,m);e(0,5,1,m);e(0,1,7,m);e(0,7,10,m);e(0,10,11,m);e(1,5,9,m);e(5,11,4,m);e(11,10,2,m);e(10,7,6,m);e(7,1,8,m);e(3,9,4,m);e(3,4,2,m);e(3,2,6,m);e(3,6,8,m);e(3,8,9,m);e(4,9,5,m);e(2,4,11,m);e(6,2,10,m);e(8,6,7,m);e(9,8,1,m);for(var k=0;k<this.subdivisions;k++){var b=new THREE.Geometry,n;for(n in m.faces){var u=f(m.faces[n].a,m.faces[n].b),p=f(m.faces[n].b,m.faces[n].c),v=f(m.faces[n].c,m.faces[n].a);e(m.faces[n].a,u,v,b);e(m.faces[n].b,p,
+u,b);e(m.faces[n].c,v,p,b);e(u,p,v,b)}m.faces=b.faces}h.faces=m.faces;this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.IcosahedronGeometry.prototype=new THREE.Geometry;THREE.IcosahedronGeometry.prototype.constructor=THREE.IcosahedronGeometry;
+THREE.LatheGeometry=function(b,c,e){THREE.Geometry.call(this);this.steps=c||12;this.angle=e||2*Math.PI;for(var c=this.angle/this.steps,e=[],f=[],h=[],m=[],k=(new THREE.Matrix4).setRotationZ(c),n=0;n<b.length;n++)this.vertices.push(new THREE.Vertex(b[n])),e[n]=b[n].clone(),f[n]=this.vertices.length-1;for(var u=0;u<=this.angle+0.001;u+=c){for(n=0;n<e.length;n++)u<this.angle?(e[n]=k.multiplyVector3(e[n].clone()),this.vertices.push(new THREE.Vertex(e[n])),h[n]=this.vertices.length-1):h=m;u==0&&(m=f);
+for(n=0;n<f.length-1;n++)this.faces.push(new THREE.Face4(h[n],h[n+1],f[n+1],f[n])),this.faceVertexUvs[0].push([new THREE.UV(1-u/this.angle,n/b.length),new THREE.UV(1-u/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,n/b.length)]);f=h;h=[]}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=new THREE.Geometry;THREE.LatheGeometry.prototype.constructor=THREE.LatheGeometry;
+THREE.PlaneGeometry=function(b,c,e,f){THREE.Geometry.call(this);var h,m=b/2,k=c/2,e=e||1,f=f||1,n=e+1,u=f+1;b/=e;var p=c/f;for(h=0;h<u;h++)for(c=0;c<n;c++)this.vertices.push(new THREE.Vertex(new THREE.Vector3(c*b-m,-(h*p-k),0)));for(h=0;h<f;h++)for(c=0;c<e;c++)this.faces.push(new THREE.Face4(c+n*h,c+n*(h+1),c+1+n*(h+1),c+1+n*h)),this.faceVertexUvs[0].push([new THREE.UV(c/e,h/f),new THREE.UV(c/e,(h+1)/f),new THREE.UV((c+1)/e,(h+1)/f),new THREE.UV((c+1)/e,h/f)]);this.computeCentroids();this.computeFaceNormals()};
+THREE.PlaneGeometry.prototype=new THREE.Geometry;THREE.PlaneGeometry.prototype.constructor=THREE.PlaneGeometry;
+THREE.SphereGeometry=function(b,c,e){THREE.Geometry.call(this);for(var b=b||50,f,h=Math.PI,m=Math.max(3,c||8),k=Math.max(2,e||6),c=[],e=0;e<k+1;e++){f=e/k;var n=b*Math.cos(f*h),u=b*Math.sin(f*h),p=[],v=0;for(f=0;f<m;f++){var t=2*f/m,x=u*Math.sin(t*h),t=u*Math.cos(t*h);(e==0||e==k)&&f>0||(v=this.vertices.push(new THREE.Vertex(new THREE.Vector3(t,n,x)))-1);p.push(v)}c.push(p)}for(var w,z,y,h=c.length,e=0;e<h;e++)if(m=c[e].length,e>0)for(f=0;f<m;f++){p=f==m-1;k=c[e][p?0:f+1];n=c[e][p?m-1:f];u=c[e-1][p?
+m-1:f];p=c[e-1][p?0:f+1];x=e/(h-1);w=(e-1)/(h-1);z=(f+1)/m;var t=f/m,v=new THREE.UV(1-z,x),x=new THREE.UV(1-t,x),t=new THREE.UV(1-t,w),B=new THREE.UV(1-z,w);e<c.length-1&&(w=this.vertices[k].position.clone(),z=this.vertices[n].position.clone(),y=this.vertices[u].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,n,u,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,x,t]));e>1&&(w=
+this.vertices[k].position.clone(),z=this.vertices[u].position.clone(),y=this.vertices[p].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,u,p,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,t,B]))}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals();this.boundingSphere={radius:b}};THREE.SphereGeometry.prototype=new THREE.Geometry;
+THREE.SphereGeometry.prototype.constructor=THREE.SphereGeometry;
+THREE.TextGeometry=function(b,c){var e=(new THREE.TextPath(b,c)).toShapes();c.amount=c.height!==void 0?c.height:50;if(c.bevelThickness===void 0)c.bevelThickness=10;if(c.bevelSize===void 0)c.bevelSize=8;if(c.bevelEnabled===void 0)c.bevelEnabled=!1;if(c.bend){var f=e[e.length-1].getBoundingBox().maxX;c.bendPath=new THREE.QuadraticBezierCurve(new THREE.Vector2(0,0),new THREE.Vector2(f/2,120),new THREE.Vector2(f,0))}THREE.ExtrudeGeometry.call(this,e,c)};THREE.TextGeometry.prototype=new THREE.ExtrudeGeometry;
+THREE.TextGeometry.prototype.constructor=THREE.TextGeometry;
+THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},getTextShapes:function(b,c){return(new TextPath(b,c)).toShapes()},loadFace:function(b){var c=b.familyName.toLowerCase();this.faces[c]=this.faces[c]||{};this.faces[c][b.cssFontWeight]=this.faces[c][b.cssFontWeight]||{};this.faces[c][b.cssFontWeight][b.cssFontStyle]=b;return this.faces[c][b.cssFontWeight][b.cssFontStyle]=b},drawText:function(b){for(var c=
+this.getFace(),e=this.size/c.resolution,f=0,h=String(b).split(""),m=h.length,k=[],b=0;b<m;b++){var n=new THREE.Path,n=this.extractGlyphPoints(h[b],c,e,f,n);f+=n.offset;k.push(n.path)}return{paths:k,offset:f/2}},extractGlyphPoints:function(b,c,e,f,h){var m=[],k,n,u,p,v,t,x,w,z,y,B=c.glyphs[b]||c.glyphs[ctxt.options.fallbackCharacter];if(B){if(B.o){c=B._cachedOutline||(B._cachedOutline=B.o.split(" "));u=c.length;for(b=0;b<u;)switch(n=c[b++],n){case "m":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,
+p));h.moveTo(n,p);break;case "l":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,p));h.lineTo(n,p);break;case "q":n=c[b++]*e+f;p=c[b++]*e;x=c[b++]*e+f;w=c[b++]*e;h.quadraticCurveTo(x,w,n,p);if(k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++){var D=k/divisions,G=THREE.Shape.Utils.b2(D,v,x,n),D=THREE.Shape.Utils.b2(D,t,w,p);m.push(new THREE.Vector2(G,D))}}break;case "b":if(n=c[b++]*e+f,p=c[b++]*e,x=c[b++]*e+f,w=c[b++]*-e,z=c[b++]*e+f,y=c[b++]*-e,h.bezierCurveTo(n,p,
+x,w,z,y),k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++)D=k/divisions,G=THREE.Shape.Utils.b3(D,v,x,z,n),D=THREE.Shape.Utils.b3(D,t,w,y,p),m.push(new THREE.Vector2(G,D))}}}return{offset:B.ha*e,points:m,path:h}}}};
+(function(b){var c=function(b){for(var c=b.length,h=0,m=c-1,k=0;k<c;m=k++)h+=b[m].x*b[k].y-b[k].x*b[m].y;return h*0.5};b.Triangulate=function(b,f){var h=b.length;if(h<3)return null;var m=[],k=[],n=[],u,p,v;if(c(b)>0)for(p=0;p<h;p++)k[p]=p;else for(p=0;p<h;p++)k[p]=h-1-p;var t=2*h;for(p=h-1;h>2;){if(t--<=0){console.log("Warning, unable to triangulate polygon!");if(f)return n;return m}u=p;h<=u&&(u=0);p=u+1;h<=p&&(p=0);v=p+1;h<=v&&(v=0);var x;a:{x=b;var w=u,z=p,y=v,B=h,D=k,G=void 0,H=void 0,E=void 0,
+N=void 0,F=void 0,I=void 0,C=void 0,K=void 0,U=void 0,H=x[D[w]].x,E=x[D[w]].y,N=x[D[z]].x,F=x[D[z]].y,I=x[D[y]].x,C=x[D[y]].y;if(1.0E-10>(N-H)*(C-E)-(F-E)*(I-H))x=!1;else{for(G=0;G<B;G++)if(!(G==w||G==z||G==y)){var K=x[D[G]].x,U=x[D[G]].y,L=void 0,O=void 0,S=void 0,P=void 0,o=void 0,W=void 0,na=void 0,R=void 0,ia=void 0,aa=void 0,ma=void 0,fa=void 0,L=S=o=void 0,L=I-N,O=C-F,S=H-I,P=E-C,o=N-H,W=F-E,na=K-H,R=U-E,ia=K-N,aa=U-F,ma=K-I,fa=U-C,L=L*aa-O*ia,o=o*R-W*na,S=S*fa-P*ma;if(L>=0&&S>=0&&o>=0){x=!1;
+break a}}x=!0}}if(x){m.push([b[k[u]],b[k[p]],b[k[v]]]);n.push([k[u],k[p],k[v]]);u=p;for(v=p+1;v<h;u++,v++)k[u]=k[v];h--;t=2*h}}if(f)return n;return m};b.Triangulate.area=c;return b})(THREE.FontUtils);window._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};
+THREE.TorusGeometry=function(b,c,e,f,h){THREE.Geometry.call(this);this.radius=b||100;this.tube=c||40;this.segmentsR=e||8;this.segmentsT=f||6;this.arc=h||Math.PI*2;h=new THREE.Vector3;b=[];c=[];for(e=0;e<=this.segmentsR;e++)for(f=0;f<=this.segmentsT;f++){var m=f/this.segmentsT*this.arc,k=e/this.segmentsR*Math.PI*2;h.x=this.radius*Math.cos(m);h.y=this.radius*Math.sin(m);var n=new THREE.Vector3;n.x=(this.radius+this.tube*Math.cos(k))*Math.cos(m);n.y=(this.radius+this.tube*Math.cos(k))*Math.sin(m);n.z=
+this.tube*Math.sin(k);this.vertices.push(new THREE.Vertex(n));b.push(new THREE.UV(f/this.segmentsT,1-e/this.segmentsR));c.push(n.clone().subSelf(h).normalize())}for(e=1;e<=this.segmentsR;e++)for(f=1;f<=this.segmentsT;f++){var h=(this.segmentsT+1)*e+f-1,m=(this.segmentsT+1)*(e-1)+f-1,k=(this.segmentsT+1)*(e-1)+f,n=(this.segmentsT+1)*e+f,u=new THREE.Face4(h,m,k,n,[c[h],c[m],c[k],c[n]]);u.normal.addSelf(c[h]);u.normal.addSelf(c[m]);u.normal.addSelf(c[k]);u.normal.addSelf(c[n]);u.normal.normalize();this.faces.push(u);
+this.faceVertexUvs[0].push([b[h].clone(),b[m].clone(),b[k].clone(),b[n].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=new THREE.Geometry;THREE.TorusGeometry.prototype.constructor=THREE.TorusGeometry;
+THREE.TorusKnotGeometry=function(b,c,e,f,h,m,k){function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k*(2+e)*0.5*Math.cos(b),k*(2+e)*Math.sin(b)*0.5,h*k*Math.sin(c)*0.5)}THREE.Geometry.call(this);this.radius=b||200;this.tube=c||40;this.segmentsR=e||64;this.segmentsT=f||8;this.p=h||2;this.q=m||3;this.heightScale=k||1;this.grid=Array(this.segmentsR);e=new THREE.Vector3;f=new THREE.Vector3;m=new THREE.Vector3;for(b=0;b<this.segmentsR;++b){this.grid[b]=Array(this.segmentsT);for(c=0;c<
+this.segmentsT;++c){var u=b/this.segmentsR*2*this.p*Math.PI,k=c/this.segmentsT*2*Math.PI,h=n(u,k,this.q,this.p,this.radius,this.heightScale),u=n(u+0.01,k,this.q,this.p,this.radius,this.heightScale);e.x=u.x-h.x;e.y=u.y-h.y;e.z=u.z-h.z;f.x=u.x+h.x;f.y=u.y+h.y;f.z=u.z+h.z;m.cross(e,f);f.cross(m,e);m.normalize();f.normalize();u=-this.tube*Math.cos(k);k=this.tube*Math.sin(k);h.x+=u*f.x+k*m.x;h.y+=u*f.y+k*m.y;h.z+=u*f.z+k*m.z;this.grid[b][c]=this.vertices.push(new THREE.Vertex(new THREE.Vector3(h.x,h.y,
+h.z)))-1}}for(b=0;b<this.segmentsR;++b)for(c=0;c<this.segmentsT;++c){var f=(b+1)%this.segmentsR,m=(c+1)%this.segmentsT,h=this.grid[b][c],e=this.grid[f][c],f=this.grid[f][m],m=this.grid[b][m],k=new THREE.UV(b/this.segmentsR,c/this.segmentsT),u=new THREE.UV((b+1)/this.segmentsR,c/this.segmentsT),p=new THREE.UV((b+1)/this.segmentsR,(c+1)/this.segmentsT),v=new THREE.UV(b/this.segmentsR,(c+1)/this.segmentsT);this.faces.push(new THREE.Face4(h,e,f,m));this.faceVertexUvs[0].push([k,u,p,v])}this.computeCentroids();
+this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=new THREE.Geometry;THREE.TorusKnotGeometry.prototype.constructor=THREE.TorusKnotGeometry;THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
+THREE.Loader.prototype={addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/1E3).toFixed(2)+" KB";
+this.statusDomElement.innerHTML=c},extractUrlbase:function(b){b=b.split("/");b.pop();return b.join("/")},init_materials:function(b,c,e){b.materials=[];for(var f=0;f<c.length;++f)b.materials[f]=[THREE.Loader.prototype.createMaterial(c[f],e)]},hasNormals:function(b){var c,e,f=b.materials.length;for(e=0;e<f;e++)if(c=b.materials[e][0],c instanceof THREE.MeshShaderMaterial)return!0;return!1},createMaterial:function(b,c){function e(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==b}function f(b,c){var f=
+new Image;f.onload=function(){if(!e(this.width)||!e(this.height)){var c=Math.pow(2,Math.round(Math.log(this.width)/Math.LN2)),f=Math.pow(2,Math.round(Math.log(this.height)/Math.LN2));b.image.width=c;b.image.height=f;b.image.getContext("2d").drawImage(this,0,0,c,f)}else b.image=this;b.needsUpdate=!0};f.src=c}function h(b,e,k,h,m,n){var p=document.createElement("canvas");b[e]=new THREE.Texture(p);b[e].sourceFile=k;if(h){b[e].repeat.set(h[0],h[1]);if(h[0]!=1)b[e].wrapS=THREE.RepeatWrapping;if(h[1]!=
+1)b[e].wrapT=THREE.RepeatWrapping}m&&b[e].offset.set(m[0],m[1]);if(n){h={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(h[n[0]]!==void 0)b[e].wrapS=h[n[0]];if(h[n[1]]!==void 0)b[e].wrapT=h[n[1]]}f(b[e],c+"/"+k)}function m(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}var k,n,u;n="MeshLambertMaterial";k={color:15658734,opacity:1,map:null,lightMap:null,normalMap:null,wireframe:b.wireframe};b.shading&&(b.shading=="Phong"?n="MeshPhongMaterial":b.shading=="Basic"&&(n="MeshBasicMaterial"));
+if(b.blending)if(b.blending=="Additive")k.blending=THREE.AdditiveBlending;else if(b.blending=="Subtractive")k.blending=THREE.SubtractiveBlending;else if(b.blending=="Multiply")k.blending=THREE.MultiplyBlending;if(b.transparent!==void 0||b.opacity<1)k.transparent=b.transparent;if(b.depthTest!==void 0)k.depthTest=b.depthTest;if(b.vertexColors!==void 0)if(b.vertexColors=="face")k.vertexColors=THREE.FaceColors;else if(b.vertexColors)k.vertexColors=THREE.VertexColors;if(b.colorDiffuse)k.color=m(b.colorDiffuse);
+else if(b.DbgColor)k.color=b.DbgColor;if(b.colorSpecular)k.specular=m(b.colorSpecular);if(b.colorAmbient)k.ambient=m(b.colorAmbient);if(b.transparency)k.opacity=b.transparency;if(b.specularCoef)k.shininess=b.specularCoef;b.mapDiffuse&&c&&h(k,"map",b.mapDiffuse,b.mapDiffuseRepeat,b.mapDiffuseOffset,b.mapDiffuseWrap);b.mapLight&&c&&h(k,"lightMap",b.mapLight,b.mapLightRepeat,b.mapLightOffset,b.mapLightWrap);b.mapNormal&&c&&h(k,"normalMap",b.mapNormal,b.mapNormalRepeat,b.mapNormalOffset,b.mapNormalWrap);
+b.mapSpecular&&c&&h(k,"specularMap",b.mapSpecular,b.mapSpecularRepeat,b.mapSpecularOffset,b.mapSpecularWrap);if(b.mapNormal){var p=THREE.ShaderUtils.lib.normal,v=THREE.UniformsUtils.clone(p.uniforms),t=k.color;n=k.specular;u=k.ambient;var x=k.shininess;v.tNormal.texture=k.normalMap;if(b.mapNormalFactor)v.uNormalScale.value=b.mapNormalFactor;if(k.map)v.tDiffuse.texture=k.map,v.enableDiffuse.value=!0;if(k.specularMap)v.tSpecular.texture=k.specularMap,v.enableSpecular.value=!0;if(k.lightMap)v.tAO.texture=
+k.lightMap,v.enableAO.value=!0;v.uDiffuseColor.value.setHex(t);v.uSpecularColor.value.setHex(n);v.uAmbientColor.value.setHex(u);v.uShininess.value=x;if(k.opacity)v.uOpacity.value=k.opacity;k=new THREE.MeshShaderMaterial({fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:v,lights:!0,fog:!0})}else k=new THREE[n](k);return k},constructor:THREE.Loader};THREE.BinaryLoader=function(b){THREE.Loader.call(this,b)};THREE.BinaryLoader.prototype=new THREE.Loader;
+THREE.BinaryLoader.prototype.constructor=THREE.BinaryLoader;THREE.BinaryLoader.prototype.supr=THREE.Loader.prototype;
+THREE.BinaryLoader.prototype.load=function(b){var c=b.model,e=b.callback,f=b.texture_path?b.texture_path:THREE.Loader.prototype.extractUrlbase(c),h=b.bin_path?b.bin_path:THREE.Loader.prototype.extractUrlbase(c),b=(new Date).getTime(),c=new Worker(c),m=this.showProgress?THREE.Loader.prototype.updateProgress:null;c.onmessage=function(b){THREE.BinaryLoader.prototype.loadAjaxBuffers(b.data.buffers,b.data.materials,e,h,f,m)};c.onerror=function(b){alert("worker.onerror: "+b.message+"\n"+b.data);b.preventDefault()};
+c.postMessage(b)};
+THREE.BinaryLoader.prototype.loadAjaxBuffers=function(b,c,e,f,h,m){var k=new XMLHttpRequest,n=f+"/"+b,u=0;k.onreadystatechange=function(){k.readyState==4?k.status==200||k.status==0?THREE.BinaryLoader.prototype.createBinModel(k.responseText,e,h,c):alert("Couldn't load ["+n+"] ["+k.status+"]"):k.readyState==3?m&&(u==0&&(u=k.getResponseHeader("Content-Length")),m({total:u,loaded:k.responseText.length})):k.readyState==2&&(u=k.getResponseHeader("Content-Length"))};k.open("GET",n,!0);k.overrideMimeType("text/plain; charset=x-user-defined");
+k.setRequestHeader("Content-Type","text/plain");k.send(null)};
+THREE.BinaryLoader.prototype.createBinModel=function(b,c,e,f){var h=function(c){function e(b,c){var f=v(b,c),k=v(b,c+1),h=v(b,c+2),m=v(b,c+3),n=(m<<1&255|h>>7)-127;f|=(h&127)<<16|k<<8;if(f==0&&n==-127)return 0;return(1-2*(m>>7))*(1+f*Math.pow(2,-23))*Math.pow(2,n)}function h(b,c){var e=v(b,c),f=v(b,c+1),k=v(b,c+2);return(v(b,c+3)<<24)+(k<<16)+(f<<8)+e}function u(b,c){var e=v(b,c);return(v(b,c+1)<<8)+e}function p(b,c){var e=v(b,c);return e>127?e-256:e}function v(b,c){return b.charCodeAt(c)&255}function t(c){var e,
+f,k;e=h(b,c);f=h(b,c+F);k=h(b,c+I);c=u(b,c+C);D.faces.push(new THREE.Face3(e,f,k,null,null,D.materials[c]))}function x(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+F);k=h(b,c+I);m=u(b,c+C);o=h(b,c+K);p=h(b,c+U);c=h(b,c+L);m=D.materials[m];var t=E[p*3],v=E[p*3+1];p=E[p*3+2];var w=E[c*3],M=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face3(e,f,k,[new THREE.Vector3(E[o*3],E[o*3+1],E[o*3+2]),new THREE.Vector3(t,v,p),new THREE.Vector3(w,M,c)],null,m))}function w(c){var e,f,k,m;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,
+c+P);c=u(b,c+o);D.faces.push(new THREE.Face4(e,f,k,m,null,null,D.materials[c]))}function z(c){var e,f,k,m,p,t,v,w;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,c+P);p=u(b,c+o);t=h(b,c+W);v=h(b,c+na);w=h(b,c+R);c=h(b,c+ia);p=D.materials[p];var x=E[v*3],M=E[v*3+1];v=E[v*3+2];var y=E[w*3],T=E[w*3+1];w=E[w*3+2];var z=E[c*3],B=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face4(e,f,k,m,[new THREE.Vector3(E[t*3],E[t*3+1],E[t*3+2]),new THREE.Vector3(x,M,v),new THREE.Vector3(y,T,w),new THREE.Vector3(z,B,c)],null,p))}
+function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+aa);k=h(b,c+ma);c=N[e*2];m=N[e*2+1];e=N[f*2];var o=D.faceVertexUvs[0];f=N[f*2+1];var p=N[k*2];k=N[k*2+1];var t=[];t.push(new THREE.UV(c,m));t.push(new THREE.UV(e,f));t.push(new THREE.UV(p,k));o.push(t)}function B(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+fa);k=h(b,c+ga);m=h(b,c+da);c=N[e*2];o=N[e*2+1];e=N[f*2];p=N[f*2+1];f=N[k*2];var t=D.faceVertexUvs[0];k=N[k*2+1];var u=N[m*2];m=N[m*2+1];var v=[];v.push(new THREE.UV(c,o));v.push(new THREE.UV(e,p));v.push(new THREE.UV(f,
+k));v.push(new THREE.UV(u,m));t.push(v)}var D=this,G=0,H,E=[],N=[],F,I,C,K,U,L,O,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa;THREE.Geometry.call(this);THREE.Loader.prototype.init_materials(D,f,c);H={signature:b.substr(G,8),header_bytes:v(b,G+8),vertex_coordinate_bytes:v(b,G+9),normal_coordinate_bytes:v(b,G+10),uv_coordinate_bytes:v(b,G+11),vertex_index_bytes:v(b,G+12),normal_index_bytes:v(b,G+13),uv_index_bytes:v(b,G+14),material_index_bytes:v(b,G+15),nvertices:h(b,G+16),nnormals:h(b,G+16+4),nuvs:h(b,
+G+16+8),ntri_flat:h(b,G+16+12),ntri_smooth:h(b,G+16+16),ntri_flat_uv:h(b,G+16+20),ntri_smooth_uv:h(b,G+16+24),nquad_flat:h(b,G+16+28),nquad_smooth:h(b,G+16+32),nquad_flat_uv:h(b,G+16+36),nquad_smooth_uv:h(b,G+16+40)};G+=H.header_bytes;F=H.vertex_index_bytes;I=H.vertex_index_bytes*2;C=H.vertex_index_bytes*3;K=H.vertex_index_bytes*3+H.material_index_bytes;U=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes;L=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*2;O=H.vertex_index_bytes;
+S=H.vertex_index_bytes*2;P=H.vertex_index_bytes*3;o=H.vertex_index_bytes*4;W=H.vertex_index_bytes*4+H.material_index_bytes;na=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes;R=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*2;ia=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*3;aa=H.uv_index_bytes;ma=H.uv_index_bytes*2;fa=H.uv_index_bytes;ga=H.uv_index_bytes*2;da=H.uv_index_bytes*3;c=H.vertex_index_bytes*3+H.material_index_bytes;qa=H.vertex_index_bytes*
+4+H.material_index_bytes;$=H.ntri_flat*c;ca=H.ntri_smooth*(c+H.normal_index_bytes*3);X=H.ntri_flat_uv*(c+H.uv_index_bytes*3);ja=H.ntri_smooth_uv*(c+H.normal_index_bytes*3+H.uv_index_bytes*3);ea=H.nquad_flat*qa;c=H.nquad_smooth*(qa+H.normal_index_bytes*4);qa=H.nquad_flat_uv*(qa+H.uv_index_bytes*4);G+=function(c){for(var f,h,m,n=H.vertex_coordinate_bytes*3,o=c+H.nvertices*n;c<o;c+=n)f=e(b,c),h=e(b,c+H.vertex_coordinate_bytes),m=e(b,c+H.vertex_coordinate_bytes*2),D.vertices.push(new THREE.Vertex(new THREE.Vector3(f,
+h,m)));return H.nvertices*n}(G);G+=function(c){for(var e,f,k,h=H.normal_coordinate_bytes*3,m=c+H.nnormals*h;c<m;c+=h)e=p(b,c),f=p(b,c+H.normal_coordinate_bytes),k=p(b,c+H.normal_coordinate_bytes*2),E.push(e/127,f/127,k/127);return H.nnormals*h}(G);G+=function(c){for(var f,h,m=H.uv_coordinate_bytes*2,n=c+H.nuvs*m;c<n;c+=m)f=e(b,c),h=e(b,c+H.uv_coordinate_bytes),N.push(f,h);return H.nuvs*m}(G);$=G+$;ca=$+ca;X=ca+X;ja=X+ja;ea=ja+ea;c=ea+c;qa=c+qa;(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,
+f=e+H.uv_index_bytes*3,k=b+H.ntri_flat_uv*f;for(c=b;c<k;c+=f)t(c),y(c+e);return k-b})(ca);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=e+H.uv_index_bytes*3,k=b+H.ntri_smooth_uv*f;for(c=b;c<k;c+=f)x(c),y(c+e);return k-b})(X);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=e+H.uv_index_bytes*4,k=b+H.nquad_flat_uv*f;for(c=b;c<k;c+=f)w(c),B(c+e);return k-b})(c);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*
+4,f=e+H.uv_index_bytes*4,k=b+H.nquad_smooth_uv*f;for(c=b;c<k;c+=f)z(c),B(c+e);return k-b})(qa);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,f=b+H.ntri_flat*e;for(c=b;c<f;c+=e)t(c);return f-b})(G);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=b+H.ntri_smooth*e;for(c=b;c<f;c+=e)x(c);return f-b})($);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=b+H.nquad_flat*e;for(c=b;c<f;c+=e)w(c);return f-b})(ja);(function(b){var c,
+e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*4,f=b+H.nquad_smooth*e;for(c=b;c<f;c+=e)z(c);return f-b})(ea);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};h.prototype=new THREE.Geometry;h.prototype.constructor=h;c(new h(e))};
+var ColladaLoader=function(){function b(b,c,e){for(var b=$.evaluate(b,$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),f={},k=b.iterateNext(),h=0;k;){k=(new c).parse(k);if(k.id.length==0)k.id=e+h++;f[k.id]=k;k=b.iterateNext()}return f}function c(){var b=1E6,c=-b,e=0,f;for(f in qa)for(var k=qa[f],h=0;h<k.sampler.length;h++){var m=k.sampler[h];m.create();b=Math.min(b,m.startTime);c=Math.max(c,m.endTime);e=Math.max(e,m.input.length)}return{start:b,end:c,frames:e}}function e(b,c,f,k){b.world=b.world||
+new THREE.Matrix4;b.world.copy(b.matrix);if(b.channels&&b.channels.length){var h=b.channels[0].sampler.output[f];h instanceof THREE.Matrix4&&b.world.copy(h)}k&&b.world.multiply(k,b.world);c.push(b);for(k=0;k<b.nodes.length;k++)e(b.nodes[k],c,f,b.world)}function f(b,f,k){var h=V[f.url];if(!h||!h.skin)console.log("could not find skin controller!");else if(!f.skeleton||!f.skeleton.length)console.log("could not find the skeleton for the skin!");else{var m=c(),f=X.getChildById(f.skeleton[0],!0)||X.getChildBySid(f.skeleton[0],
+!0),n,o,p,t,v=new THREE.Vector3,u;for(n=0;n<b.vertices.length;n++)h.skin.bindShapeMatrix.multiplyVector3(b.vertices[n].position);for(k=0;k<m.frames;k++){var w=[],x=[];for(n=0;n<b.vertices.length;n++)x.push(new THREE.Vertex(new THREE.Vector3));e(f,w,k);n=w;o=h.skin;for(t=0;t<n.length;t++){p=n[t];u=-1;for(var y=0;y<o.joints.length;y++)if(p.sid==o.joints[y]){u=y;break}if(u>=0){y=o.invBindMatrices[u];p.invBindMatrix=y;p.skinningMatrix=new THREE.Matrix4;p.skinningMatrix.multiply(p.world,y);p.weights=[];
+for(y=0;y<o.weights.length;y++)for(var z=0;z<o.weights[y].length;z++){var B=o.weights[y][z];B.joint==u&&p.weights.push(B)}}else throw"could not find joint!";}for(n=0;n<w.length;n++)for(o=0;o<w[n].weights.length;o++)p=w[n].weights[o],t=p.index,p=p.weight,u=b.vertices[t],t=x[t],v.x=u.position.x,v.y=u.position.y,v.z=u.position.z,w[n].skinningMatrix.multiplyVector3(v),t.position.x+=v.x*p,t.position.y+=v.y*p,t.position.z+=v.z*p;b.morphTargets.push({name:"target_"+k,vertices:x})}}}function h(b){var c=new THREE.Object3D,
+e,k,m;c.name=b.id||"";c.matrixAutoUpdate=!1;c.matrix=b.matrix;for(m=0;m<b.controllers.length;m++){var n=V[b.controllers[m].url];switch(n.type){case "skin":if(pa[n.skin.source]){var o=new z;o.url=n.skin.source;o.instance_material=b.controllers[m].instance_material;b.geometries.push(o);e=b.controllers[m]}else if(V[n.skin.source]&&(k=n=V[n.skin.source],n.morph&&pa[n.morph.source]))o=new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o);break;case "morph":if(pa[n.morph.source])o=
+new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o),k=b.controllers[m];console.log("DAE: morph-controller partially supported.")}}for(m=0;m<b.geometries.length;m++){var n=b.geometries[m],o=n.instance_material,n=pa[n.url],p={},t=0,v;if(n&&n.mesh&&n.mesh.primitives){if(c.name.length==0)c.name=n.id;if(o)for(j=0;j<o.length;j++){v=o[j];var u=ra[va[v.target].instance_effect.url].shader;u.material.opacity=!u.material.opacity?1:u.material.opacity;v=p[v.symbol]=
+u.material;t++}o=v||new THREE.MeshLambertMaterial({color:14540253,shading:THREE.FlatShading});n=n.mesh.geometry3js;if(t>1){o=new THREE.MeshFaceMaterial;for(j=0;j<n.faces.length;j++)t=n.faces[j],t.materials=[p[t.daeMaterial]]}if(e!==void 0)f(n,e),o.morphTargets=!0,o=new THREE.SkinnedMesh(n,o),o.skeleton=e.skeleton,o.skinController=V[e.url],o.skinInstanceController=e,o.name="skin_"+za.length,za.push(o);else if(k!==void 0){p=n;t=k instanceof x?V[k.url]:k;if(!t||!t.morph)console.log("could not find morph controller!");
+else{t=t.morph;for(u=0;u<t.targets.length;u++){var w=pa[t.targets[u]];if(w.mesh&&w.mesh.primitives&&w.mesh.primitives.length)w=w.mesh.primitives[0].geometry,w.vertices.length===p.vertices.length&&p.morphTargets.push({name:"target_1",vertices:w.vertices})}p.morphTargets.push({name:"target_Z",vertices:p.vertices})}o.morphTargets=!0;o=new THREE.Mesh(n,o);o.name="morph_"+Aa.length;Aa.push(o)}else o=new THREE.Mesh(n,o);c.addChild(o)}}for(m=0;m<b.nodes.length;m++)c.addChild(h(b.nodes[m],b));return c}function m(){this.init_from=
+this.id=""}function k(){this.type=this.name=this.id="";this.morph=this.skin=null}function n(){this.weights=this.targets=this.source=this.method=null}function u(){this.source="";this.bindShapeMatrix=null;this.invBindMatrices=[];this.joints=[];this.weights=[]}function p(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Object3D}function v(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=[];this.transforms=[];this.geometries=[];this.channels=[];this.matrix=new THREE.Matrix4}function t(){this.type=
+this.sid="";this.data=[];this.matrix=new THREE.Matrix4}function x(){this.url="";this.skeleton=[];this.instance_material=[]}function w(){this.target=this.symbol=""}function z(){this.url="";this.instance_material=[]}function y(){this.id="";this.mesh=null}function B(b){this.geometry=b.id;this.primitives=[];this.geometry3js=this.vertices=null}function D(){}function G(){this.material="";this.count=0;this.inputs=[];this.vcount=null;this.p=[];this.geometry=new THREE.Geometry}function H(){this.source="";
+this.stride=this.count=0;this.params=[]}function E(){this.input={}}function N(){this.semantic="";this.offset=0;this.source="";this.set=0}function F(b){this.id=b;this.type=null}function I(){this.name=this.id="";this.instance_effect=null}function C(){this.color=new THREE.Color(0);this.color.setRGB(Math.random(),Math.random(),Math.random());this.color.a=1;this.texcoord=this.texture=null}function K(b,c){this.type=b;this.effect=c;this.material=null}function U(b){this.effect=b;this.format=this.init_from=
+null}function L(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter=this.wrap_t=this.wrap_s=this.source=null}function O(){this.name=this.id="";this.sampler=this.surface=this.shader=null}function S(){this.url=""}function P(){this.name=this.id="";this.source={};this.sampler=[];this.channel=[]}function o(b){this.animation=b;this.target=this.source="";this.member=this.arrIndices=this.arrSyntax=this.dotSyntax=this.sid=null}function W(b){this.id="";this.animation=b;this.inputs=[];this.endTime=
+this.startTime=this.interpolation=this.output=this.input=null;this.duration=0}function na(b){var c=b.getAttribute("id");if(ja[c]!=void 0)return ja[c];ja[c]=(new F(c)).parse(b);return ja[c]}function R(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADASchema";return null}function ia(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseFloat(b[e]));return c}function aa(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseInt(b[e],10));return c}function ma(b){return b.replace(/^\s+/,"").replace(/\s+$/,
+"").split(/\s+/)}function fa(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),10):e}function ga(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";return e}c=c||2;e=b.toString().split(".");for(e[1]=e.length>1?e[1].substr(0,c):"0";e[1].length<c;)e[1]+="0";return e.join(".")}function da(b,c){var e="";e+=ga(b.x,c)+",";e+=ga(b.y,c)+",";e+=ga(b.z,c);return e}var $=null,ca=null,X,ja={},ea={},qa={},V={},pa={},va={},ra={},sa,Ca=null,wa,Aa,za,Fa=THREE.SmoothShading;m.prototype.parse=function(b){this.id=
+b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeName=="init_from")this.init_from=e.textContent}return this};k.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.type="none";for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "skin":this.skin=(new u).parse(e);this.type=e.nodeName;break;case "morph":this.morph=(new n).parse(e),this.type=e.nodeName}}return this};n.prototype.parse=function(b){var c=
+{},e=[],f;this.method=b.getAttribute("method");this.source=b.getAttribute("source").replace(/^#/,"");for(f=0;f<b.childNodes.length;f++){var k=b.childNodes[f];if(k.nodeType==1)switch(k.nodeName){case "source":k=(new F).parse(k);c[k.id]=k;break;case "targets":e=this.parseInputs(k);break;default:console.log(k.nodeName)}}for(f=0;f<e.length;f++)switch(b=e[f],k=c[b.source],b.semantic){case "MORPH_TARGET":this.targets=k.read();break;case "MORPH_WEIGHT":this.weights=k.read()}return this};n.prototype.parseInputs=
+function(b){for(var c=[],e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":c.push((new N).parse(f))}}return c};u.prototype.parse=function(b){var c={},e,f;this.source=b.getAttribute("source").replace(/^#/,"");this.invBindMatrices=[];this.joints=[];this.weights=[];for(var k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(h.nodeType==1)switch(h.nodeName){case "bind_shape_matrix":h=ia(h.textContent);this.bindShapeMatrix=new THREE.Matrix4;this.bindShapeMatrix.set(h[0],
+h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]);break;case "source":h=(new F).parse(h);c[h.id]=h;break;case "joints":e=h;break;case "vertex_weights":f=h;break;default:console.log(h.nodeName)}}this.parseJoints(e,c);this.parseWeights(f,c);return this};u.prototype.parseJoints=function(b,c){for(var e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":var f=(new N).parse(f),k=c[f.source];if(f.semantic=="JOINT")this.joints=
+k.read();else if(f.semantic=="INV_BIND_MATRIX")this.invBindMatrices=k.read()}}};u.prototype.parseWeights=function(b,c){for(var e,f,k=[],h=0;h<b.childNodes.length;h++){var m=b.childNodes[h];if(m.nodeType==1)switch(m.nodeName){case "input":k.push((new N).parse(m));break;case "v":e=aa(m.textContent);break;case "vcount":f=aa(m.textContent)}}for(h=m=0;h<f.length;h++){for(var n=f[h],o=[],p=0;p<n;p++){for(var t={},u=0;u<k.length;u++){var v=k[u],w=e[m+v.offset];switch(v.semantic){case "JOINT":t.joint=w;break;
+case "WEIGHT":t.weight=c[v.source].data[w]}}o.push(t);m+=k.length}for(p=0;p<o.length;p++)o[p].index=h;this.weights.push(o)}};p.prototype.getChildById=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};p.prototype.getChildBySid=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};p.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");
+this.nodes=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "node":this.nodes.push((new v).parse(e))}}return this};v.prototype.getChannelForTransform=function(b){for(var c=0;c<this.channels.length;c++){var e=this.channels[c],f=e.target.split("/");f.shift();var k=f.shift(),h=k.indexOf(".")>=0,m=k.indexOf("(")>=0,n;if(h)f=k.split("."),k=f.shift(),f.shift();else if(m){n=k.split("(");k=n.shift();for(f=0;f<n.length;f++)n[f]=parseInt(n[f].replace(/\)/,
+""))}if(k==b)return e.info={sid:k,dotSyntax:h,arrSyntax:m,arrIndices:n},e}return null};v.prototype.getChildById=function(b,c){if(this.id==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};v.prototype.getChildBySid=function(b,c){if(this.sid==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};v.prototype.getTransformBySid=function(b){for(var c=0;c<this.transforms.length;c++)if(this.transforms[c].sid==
+b)return this.transforms[c];return null};v.prototype.parse=function(b){var c;this.id=b.getAttribute("id");this.sid=b.getAttribute("sid");this.name=b.getAttribute("name");this.type=b.getAttribute("type");this.type=this.type=="JOINT"?this.type:"NODE";this.nodes=[];this.transforms=[];this.geometries=[];this.controllers=[];this.matrix=new THREE.Matrix4;for(var e=0;e<b.childNodes.length;e++)if(c=b.childNodes[e],c.nodeType==1)switch(c.nodeName){case "node":this.nodes.push((new v).parse(c));break;case "instance_camera":break;
+case "instance_controller":this.controllers.push((new x).parse(c));break;case "instance_geometry":this.geometries.push((new z).parse(c));break;case "instance_light":break;case "instance_node":c=c.getAttribute("url").replace(/^#/,"");(c=$.evaluate(".//dae:library_nodes//dae:node[@id='"+c+"']",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&this.nodes.push((new v).parse(c));break;case "rotate":case "translate":case "scale":case "matrix":case "lookat":case "skew":this.transforms.push((new t).parse(c));
+break;case "extra":break;default:console.log(c.nodeName)}b=[];e=1E6;c=-1E6;for(var f in qa)for(var k=qa[f],h=0;h<k.channel.length;h++){var m=k.channel[h],n=k.sampler[h];f=m.target.split("/")[0];if(f==this.id)n.create(),m.sampler=n,e=Math.min(e,n.startTime),c=Math.max(c,n.endTime),b.push(m)}if(b.length)this.startTime=e,this.endTime=c;if((this.channels=b)&&this.channels.length){f=1E7;for(i=0;i<this.channels.length;i++){b=this.channels[i].sampler;for(e=0;e<b.input.length-1;e++)f=Math.min(f,b.input[e+
+1]-b.input[e])}e=[];for(b=this.startTime;b<this.endTime;b+=f){c=b;for(var k={},o=h=void 0,h=0;h<this.channels.length;h++)o=this.channels[h],k[o.sid]=o;m=new THREE.Matrix4;for(h=0;h<this.transforms.length;h++)if(n=this.transforms[h],o=k[n.sid],o!==void 0){for(var p=o.sampler,u,o=0;o<p.input.length-1;o++)if(p.input[o+1]>c){u=p.output[o];break}m=u!==void 0?u instanceof THREE.Matrix4?m.multiply(m,u):m.multiply(m,n.matrix):m.multiply(m,n.matrix)}else m=m.multiply(m,n.matrix);c=m;e.push({time:b,pos:[c.n14,
+c.n24,c.n34],rotq:[0,0,0,1],scl:[1,1,1]})}this.keys=e}this.updateMatrix();return this};v.prototype.updateMatrix=function(){this.matrix.identity();for(var b=0;b<this.transforms.length;b++)this.matrix.multiply(this.matrix,this.transforms[b].matrix)};t.prototype.parse=function(b){this.sid=b.getAttribute("sid");this.type=b.nodeName;this.data=ia(b.textContent);this.updateMatrix();return this};t.prototype.updateMatrix=function(){var b=0;this.matrix.identity();switch(this.type){case "matrix":this.matrix.set(this.data[0],
+this.data[1],this.data[2],this.data[3],this.data[4],this.data[5],this.data[6],this.data[7],this.data[8],this.data[9],this.data[10],this.data[11],this.data[12],this.data[13],this.data[14],this.data[15]);break;case "translate":this.matrix.setTranslation(this.data[0],this.data[1],this.data[2]);break;case "rotate":b=this.data[3]*(Math.PI/180);this.matrix.setRotationAxis(new THREE.Vector3(this.data[0],this.data[1],this.data[2]),b);break;case "scale":this.matrix.setScale(this.data[0],this.data[1],this.data[2])}return this.matrix};
+x.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.skeleton=[];this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "skeleton":this.skeleton.push(e.textContent.replace(/^#/,""));break;case "bind_material":if(e=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(var f=e.iterateNext();f;)this.instance_material.push((new w).parse(f)),f=e.iterateNext()}}return this};
+w.prototype.parse=function(b){this.symbol=b.getAttribute("symbol");this.target=b.getAttribute("target").replace(/^#/,"");return this};z.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1&&e.nodeName=="bind_material"){if(b=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(c=b.iterateNext();c;)this.instance_material.push((new w).parse(c)),
+c=b.iterateNext();break}}return this};y.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "mesh":this.mesh=(new B(this)).parse(e)}}return this};B.prototype.parse=function(b){function c(b,e){var f=da(b.position);k[f]===void 0&&(k[f]={v:b,index:e});return k[f]}this.primitives=[];var e;for(e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];switch(f.nodeName){case "source":na(f);break;case "vertices":this.vertices=
+(new E).parse(f);break;case "triangles":this.primitives.push((new G).parse(f));break;case "polygons":console.warn("polygon holes not yet supported!");case "polylist":this.primitives.push((new D).parse(f))}}var k={};this.geometry3js=new THREE.Geometry;f=ja[this.vertices.input.POSITION.source].data;for(b=e=0;e<f.length;e+=3,b++){var h=new THREE.Vertex(new THREE.Vector3(f[e],f[e+1],f[e+2]));c(h,b);this.geometry3js.vertices.push(h)}for(e=0;e<this.primitives.length;e++)primitive=this.primitives[e],primitive.setVertices(this.vertices),
+this.handlePrimitive(primitive,this.geometry3js,k);this.geometry3js.computeCentroids();this.geometry3js.computeFaceNormals();this.geometry3js.computeVertexNormals();this.geometry3js.computeBoundingBox();return this};B.prototype.handlePrimitive=function(b,c,e){var f=0,k,h,m=b.p,n=b.inputs,o,p,t,u=0,v=3,w=[];for(k=0;k<n.length;k++)o=n[k],o.semantic=="TEXCOORD"&&w.push(o.set);for(;f<m.length;){var x=[],y=[],z={};b.vcount&&(v=b.vcount[u++]);for(k=0;k<v;k++)for(h=0;h<n.length;h++)switch(o=n[h],source=
+ja[o.source],p=m[f+k*n.length+o.offset],numParams=source.accessor.params.length,t=p*numParams,o.semantic){case "VERTEX":o=da(c.vertices[p].position);x.push(e[o].index);break;case "NORMAL":y.push(new THREE.Vector3(source.data[t+0],source.data[t+1],source.data[t+2]));break;case "TEXCOORD":z[o.set]===void 0&&(z[o.set]=[]),z[o.set].push(new THREE.UV(source.data[t+0],source.data[t+1]))}h=new THREE.Face3(x[0],x[1],x[2],[y[0],y[1],y[2]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=
+z[w[h]],c.faceVertexUvs[h].push([o[0],o[1],o[2]]);if(v>3)for(k=2;k<x.length-1;k++){h=new THREE.Face3(x[0],x[k],x[k+1],[y[0],y[k],y[k+1]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=z[w[h]],c.faceVertexUvs[h].push([o[0],o[k],o[k+1]])}f+=n.length*v}};D.prototype=new G;D.prototype.constructor=D;G.prototype.setVertices=function(b){for(var c=0;c<this.inputs.length;c++)if(this.inputs[c].source==b.id)this.inputs[c].source=b.input.POSITION.source};G.prototype.parse=function(b){this.inputs=
+[];this.material=b.getAttribute("material");this.count=fa(b,"count",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "input":this.inputs.push((new N).parse(b.childNodes[c]));break;case "vcount":this.vcount=aa(e.textContent);break;case "p":this.p=aa(e.textContent)}}return this};H.prototype.parse=function(b){this.params=[];this.source=b.getAttribute("source");this.count=fa(b,"count",0);this.stride=fa(b,"stride",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];
+if(e.nodeName=="param"){var f={};f.name=e.getAttribute("name");f.type=e.getAttribute("type");this.params.push(f)}}return this};E.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++)b.childNodes[c].nodeName=="input"&&(input=(new N).parse(b.childNodes[c]),this.input[input.semantic]=input);return this};N.prototype.parse=function(b){this.semantic=b.getAttribute("semantic");this.source=b.getAttribute("source").replace(/^#/,"");this.set=fa(b,"set",-1);this.offset=
+fa(b,"offset",0);if(this.semantic=="TEXCOORD"&&this.set<0)this.set=0;return this};F.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "bool_array":for(var f=ma(e.textContent),k=[],h=0;h<f.length;h++)k.push(f[h]=="true"||f[h]=="1"?!0:!1);this.data=k;this.type=e.nodeName;break;case "float_array":this.data=ia(e.textContent);this.type=e.nodeName;break;case "int_array":this.data=aa(e.textContent);this.type=e.nodeName;
+break;case "IDREF_array":case "Name_array":this.data=ma(e.textContent);this.type=e.nodeName;break;case "technique_common":for(f=0;f<e.childNodes.length;f++)if(e.childNodes[f].nodeName=="accessor"){this.accessor=(new H).parse(e.childNodes[f]);break}}}return this};F.prototype.read=function(){var b=[],c=this.accessor.params[0];switch(c.type){case "IDREF":case "Name":case "float":return this.data;case "float4x4":for(c=0;c<this.data.length;c+=16){var e=this.data.slice(c,c+16),f=new THREE.Matrix4;f.set(e[0],
+e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);b.push(f)}break;default:console.log("Dae::Source:read dont know how to read "+c.type)}return b};I.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");for(var c=0;c<b.childNodes.length;c++)if(b.childNodes[c].nodeName=="instance_effect"){this.instance_effect=(new S).parse(b.childNodes[c]);break}return this};C.prototype.isColor=function(){return this.texture==null};C.prototype.isTexture=
+function(){return this.texture!=null};C.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "color":e=ia(e.textContent);this.color=new THREE.Color(0);this.color.setRGB(e[0],e[1],e[2]);this.color.a=e[3];break;case "texture":this.texture=e.getAttribute("texture"),this.texcoord=e.getAttribute("texcoord")}}return this};K.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==
+1)switch(e.nodeName){case "ambient":case "emission":case "diffuse":case "specular":case "transparent":this[e.nodeName]=(new C).parse(e);break;case "shininess":case "reflectivity":case "transparency":var f;f=$.evaluate(".//dae:float",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var k=f.iterateNext(),h=[];k;)h.push(k),k=f.iterateNext();f=h;f.length>0&&(this[e.nodeName]=parseFloat(f[0].textContent))}}this.create();return this};K.prototype.create=function(){var b={},c=this.transparency!==void 0&&
+this.transparency<1,e;for(e in this)switch(e){case "ambient":case "emission":case "diffuse":case "specular":var f=this[e];if(f instanceof C)if(f.isTexture()){if(this.effect.sampler&&this.effect.surface&&this.effect.sampler.source==this.effect.surface.sid&&(f=ea[this.effect.surface.init_from]))b.map=THREE.ImageUtils.loadTexture(wa+f.init_from),b.map.wrapS=THREE.RepeatWrapping,b.map.wrapT=THREE.RepeatWrapping,b.map.repeat.x=1,b.map.repeat.y=-1}else e=="diffuse"?b.color=f.color.getHex():c||(b[e]=f.color.getHex());
+break;case "shininess":case "reflectivity":b[e]=this[e];break;case "transparency":if(c)b.transparent=!0,b.opacity=this[e],c=!0}b.shading=Fa;return this.material=new THREE.MeshLambertMaterial(b)};U.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "init_from":this.init_from=e.textContent;break;case "format":this.format=e.textContent;break;default:console.log("unhandled Surface prop: "+e.nodeName)}}return this};L.prototype.parse=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":this.source=e.textContent;break;case "minfilter":this.minfilter=e.textContent;break;case "magfilter":this.magfilter=e.textContent;break;case "mipfilter":this.mipfilter=e.textContent;break;case "wrap_s":this.wrap_s=e.textContent;break;case "wrap_t":this.wrap_t=e.textContent;break;default:console.log("unhandled Sampler2D prop: "+e.nodeName)}}return this};O.prototype.create=function(){if(this.shader==
+null)return null};O.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.shader=null;for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "profile_COMMON":this.parseTechnique(this.parseProfileCOMMON(e))}}return this};O.prototype.parseNewparam=function(b){for(var c=b.getAttribute("sid"),e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "surface":this.surface=(new U(this)).parse(f);
+this.surface.sid=c;break;case "sampler2D":this.sampler=(new L(this)).parse(f);this.sampler.sid=c;break;case "extra":break;default:console.log(f.nodeName)}}};O.prototype.parseProfileCOMMON=function(b){for(var c,e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "profile_COMMON":this.parseProfileCOMMON(f);break;case "technique":c=f;break;case "newparam":this.parseNewparam(f);break;case "extra":break;default:console.log(f.nodeName)}}return c};O.prototype.parseTechnique=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "lambert":case "blinn":case "phong":this.shader=(new K(e.nodeName,this)).parse(e)}}};S.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");return this};P.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.source={};for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":e=
+(new F).parse(e);this.source[e.id]=e;break;case "sampler":this.sampler.push((new W(this)).parse(e));break;case "channel":this.channel.push((new o(this)).parse(e))}}return this};o.prototype.parse=function(b){this.source=b.getAttribute("source").replace(/^#/,"");this.target=b.getAttribute("target");var c=this.target.split("/");c.shift();var b=c.shift(),e=b.indexOf(".")>=0,f=b.indexOf("(")>=0,k,h;if(e)c=b.split("."),b=c.shift(),h=c.shift();else if(f){k=b.split("(");b=k.shift();for(c=0;c<k.length;c++)k[c]=
+parseInt(k[c].replace(/\)/,""))}this.sid=b;this.dotSyntax=e;this.arrSyntax=f;this.arrIndices=k;this.member=h;return this};W.prototype.parse=function(b){this.id=b.getAttribute("id");this.inputs=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "input":this.inputs.push((new N).parse(e))}}return this};W.prototype.create=function(){for(var b=0;b<this.inputs.length;b++){var c=this.inputs[b],e=this.animation.source[c.source];switch(c.semantic){case "INPUT":this.input=
+e.read();break;case "OUTPUT":this.output=e.read();break;case "INTERPOLATION":this.interpolation=e.read();break;case "IN_TANGENT":break;case "OUT_TANGENT":break;default:console.log(c.semantic)}}this.duration=this.endTime=this.startTime=0;if(this.input.length){this.startTime=1E8;this.endTime=-1E8;for(b=0;b<this.input.length;b++)this.startTime=Math.min(this.startTime,this.input[b]),this.endTime=Math.max(this.endTime,this.input[b]);this.duration=this.endTime-this.startTime}};return{load:function(e,f){if(document.implementation&&
+document.implementation.createDocument){document.implementation.createDocument("http://www.collada.org/2005/11/COLLADASchema","COLLADA",null);e+="?rnd="+Math.random();var n=new XMLHttpRequest;n.overrideMimeType&&n.overrideMimeType("text/xml");n.onreadystatechange=function(){if(n.readyState==4&&(n.status==0||n.status==200)){Ca=f;var o,t=e;$=n.responseXML;o=Ca;t!==void 0&&(t=t.split("/"),t.pop(),wa=t.join("/")+"/");ea=b("//dae:library_images/dae:image",m,"image");va=b("//dae:library_materials/dae:material",
+I,"material");ra=b("//dae:library_effects/dae:effect",O,"effect");pa=b("//dae:library_geometries/dae:geometry",y,"geometry");V=b("//dae:library_controllers/dae:controller",k,"controller");qa=b("//dae:library_animations/dae:animation",P,"animation");sa=b(".//dae:library_visual_scenes/dae:visual_scene",p,"visual_scene");Aa=[];za=[];(t=$.evaluate(".//dae:scene/dae:instance_visual_scene",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(t=t.getAttribute("url").replace(/^#/,""),X=sa[t]):
+X=null;ca=new THREE.Object3D;for(t=0;t<X.nodes.length;t++)ca.addChild(h(X.nodes[t]));c();for(var u in qa);u={scene:ca,morphs:Aa,skins:za,dae:{images:ea,materials:va,effects:ra,geometries:pa,controllers:V,animations:qa,visualScenes:sa,scene:X}};o&&o(u)}};n.open("GET",e,!0);n.send(null)}else alert("Don't know how to parse XML!")},setPreferredShading:function(b){Fa=b},applySkin:f,geometries:pa}};THREE.JSONLoader=function(b){THREE.Loader.call(this,b)};THREE.JSONLoader.prototype=new THREE.Loader;
+THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.supr=THREE.Loader.prototype;THREE.JSONLoader.prototype.load=function(b){var c=this,e=b.model,f=b.callback,h=b.texture_path?b.texture_path:this.extractUrlbase(e),b=new Worker(e);b.onmessage=function(b){c.createModel(b.data,f,h);c.onLoadComplete()};this.onLoadStart();b.postMessage((new Date).getTime())};
+THREE.JSONLoader.prototype.createModel=function(b,c,e){var f=new THREE.Geometry,h=b.scale!==void 0?1/b.scale:1;this.init_materials(f,b.materials,e);(function(c){if(b.version===void 0||b.version!=2)console.error("Deprecated file format.");else{var e,h,u,p,v,t,x,w,z,y,B,D,G,H,E=b.faces;t=b.vertices;var N=b.normals,F=b.colors,I=0;for(e=0;e<b.uvs.length;e++)b.uvs[e].length&&I++;for(e=0;e<I;e++)f.faceUvs[e]=[],f.faceVertexUvs[e]=[];p=0;for(v=t.length;p<v;)x=new THREE.Vertex,x.position.x=t[p++]*c,x.position.y=
+t[p++]*c,x.position.z=t[p++]*c,f.vertices.push(x);p=0;for(v=E.length;p<v;){c=E[p++];t=c&1;u=c&2;e=c&4;h=c&8;w=c&16;x=c&32;y=c&64;c&=128;t?(B=new THREE.Face4,B.a=E[p++],B.b=E[p++],B.c=E[p++],B.d=E[p++],t=4):(B=new THREE.Face3,B.a=E[p++],B.b=E[p++],B.c=E[p++],t=3);if(u)u=E[p++],B.materials=f.materials[u];u=f.faces.length;if(e)for(e=0;e<I;e++)D=b.uvs[e],z=E[p++],H=D[z*2],z=D[z*2+1],f.faceUvs[e][u]=new THREE.UV(H,z);if(h)for(e=0;e<I;e++){D=b.uvs[e];G=[];for(h=0;h<t;h++)z=E[p++],H=D[z*2],z=D[z*2+1],G[h]=
+new THREE.UV(H,z);f.faceVertexUvs[e][u]=G}if(w)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.normal=h;if(x)for(e=0;e<t;e++)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.vertexNormals.push(h);if(y)x=E[p++],x=new THREE.Color(F[x]),B.color=x;if(c)for(e=0;e<t;e++)x=E[p++],x=new THREE.Color(F[x]),B.vertexColors.push(x);f.faces.push(B)}}})(h);(function(){var c,e,h,u;if(b.skinWeights){c=0;for(e=b.skinWeights.length;c<e;c+=2)h=b.skinWeights[c],u=b.skinWeights[c+1],f.skinWeights.push(new THREE.Vector4(h,
+u,0,0))}if(b.skinIndices){c=0;for(e=b.skinIndices.length;c<e;c+=2)h=b.skinIndices[c],u=b.skinIndices[c+1],f.skinIndices.push(new THREE.Vector4(h,u,0,0))}f.bones=b.bones;f.animation=b.animation})();(function(c){if(b.morphTargets!==void 0){var e,h,u,p,v,t,x,w,z;e=0;for(h=b.morphTargets.length;e<h;e++){f.morphTargets[e]={};f.morphTargets[e].name=b.morphTargets[e].name;f.morphTargets[e].vertices=[];w=f.morphTargets[e].vertices;z=b.morphTargets[e].vertices;u=0;for(p=z.length;u<p;u+=3)v=z[u]*c,t=z[u+1]*
+c,x=z[u+2]*c,w.push(new THREE.Vertex(new THREE.Vector3(v,t,x)))}}if(b.morphColors!==void 0){e=0;for(h=b.morphColors.length;e<h;e++){f.morphColors[e]={};f.morphColors[e].name=b.morphColors[e].name;f.morphColors[e].colors=[];p=f.morphColors[e].colors;v=b.morphColors[e].colors;c=0;for(u=v.length;c<u;c+=3)t=new THREE.Color(16755200),t.setRGB(v[c],v[c+1],v[c+2]),p.push(t)}}})(h);(function(){if(b.edges!==void 0){var c,e,h;for(c=0;c<b.edges.length;c+=2)e=b.edges[c],h=b.edges[c+1],f.edges.push(new THREE.Edge(f.vertices[e],
+f.vertices[h],e,h))}})();f.computeCentroids();f.computeFaceNormals();this.hasNormals(f)&&f.computeTangents();c(f)};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){}};
+THREE.SceneLoader.prototype={load:function(b,c){var e=this,f=new Worker(b);f.postMessage(0);var h=THREE.Loader.prototype.extractUrlbase(b);f.onmessage=function(b){function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}function n(){for(w in O.objects)if(!R.objects[w])if(G=O.objects[w],G.geometry!==void 0){if(F=R.geometries[G.geometry]){var b=!1;U=[];for(aa=0;aa<G.materials.length;aa++)U[aa]=R.materials[G.materials[aa]],b=U[aa]instanceof THREE.MeshShaderMaterial;b&&F.computeTangents();H=G.position;r=
+G.rotation;q=G.quaternion;s=G.scale;q=0;U.length==0&&(U[0]=new THREE.MeshFaceMaterial);U.length>1&&(U=[new THREE.MeshFaceMaterial]);object=new THREE.Mesh(F,U);object.name=w;object.position.set(H[0],H[1],H[2]);q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]);object.scale.set(s[0],s[1],s[2]);object.visible=G.visible;R.scene.addObject(object);R.objects[w]=object;G.meshCollider&&(b=THREE.CollisionUtils.MeshColliderWBox(object),R.scene.collisions.colliders.push(b));
+if(G.castsShadow)b=new THREE.ShadowVolume(F),R.scene.addChild(b),b.position=object.position,b.rotation=object.rotation,b.scale=object.scale;G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}}else H=G.position,r=G.rotation,q=G.quaternion,s=G.scale,q=0,object=new THREE.Object3D,object.name=w,object.position.set(H[0],H[1],H[2]),q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]),object.scale.set(s[0],
+s[1],s[2]),object.visible=G.visible!==void 0?G.visible:!1,R.scene.addObject(object),R.objects[w]=object,R.empties[w]=object,G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}function u(b){return function(c){R.geometries[b]=c;n();P-=1;e.onLoadComplete();v()}}function p(b){return function(c){R.geometries[b]=c}}function v(){e.callbackProgress({totalModels:W,totalTextures:na,loadedModels:W-P,loadedTextures:na-o},R);e.onLoadProgress();P==0&&o==0&&c(R)}
+var t,x,w,z,y,B,D,G,H,E,N,F,I,C,K,U,L,O,S,P,o,W,na,R;O=b.data;K=new THREE.BinaryLoader;S=new THREE.JSONLoader;o=P=0;R={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},triggers:{},empties:{}};b=!1;for(w in O.objects)if(G=O.objects[w],G.meshCollider){b=!0;break}if(b)R.scene.collisions=new THREE.CollisionSystem;if(O.transform){b=O.transform.position;E=O.transform.rotation;var ia=O.transform.scale;b&&R.scene.position.set(b[0],b[1],b[2]);E&&R.scene.rotation.set(E[0],
+E[1],E[2]);ia&&R.scene.scale.set(ia[0],ia[1],ia[2]);(b||E||ia)&&R.scene.updateMatrix()}b=function(){o-=1;v();e.onLoadComplete()};for(y in O.cameras){E=O.cameras[y];if(E.type=="perspective")I=new THREE.Camera(E.fov,E.aspect,E.near,E.far);else if(E.type=="ortho")I=new THREE.Camera,I.projectionMatrix=THREE.Matrix4.makeOrtho(E.left,E.right,E.top,E.bottom,E.near,E.far);H=E.position;E=E.target;I.position.set(H[0],H[1],H[2]);I.target.position.set(E[0],E[1],E[2]);R.cameras[y]=I}for(z in O.lights)y=O.lights[z],
+I=y.color!==void 0?y.color:16777215,E=y.intensity!==void 0?y.intensity:1,y.type=="directional"?(H=y.direction,L=new THREE.DirectionalLight(I,E),L.position.set(H[0],H[1],H[2]),L.position.normalize()):y.type=="point"?(H=y.position,d=y.distance,L=new THREE.PointLight(I,E,d),L.position.set(H[0],H[1],H[2])):y.type=="ambient"&&(L=new THREE.AmbientLight(I)),R.scene.addLight(L),R.lights[z]=L;for(B in O.fogs)z=O.fogs[B],z.type=="linear"?C=new THREE.Fog(0,z.near,z.far):z.type=="exp2"&&(C=new THREE.FogExp2(0,
+z.density)),E=z.color,C.color.setRGB(E[0],E[1],E[2]),R.fogs[B]=C;if(R.cameras&&O.defaults.camera)R.currentCamera=R.cameras[O.defaults.camera];if(R.fogs&&O.defaults.fog)R.scene.fog=R.fogs[O.defaults.fog];E=O.defaults.bgcolor;R.bgColor=new THREE.Color;R.bgColor.setRGB(E[0],E[1],E[2]);R.bgColorAlpha=O.defaults.bgalpha;for(t in O.geometries)if(B=O.geometries[t],B.type=="bin_mesh"||B.type=="ascii_mesh")P+=1,e.onLoadStart();W=P;for(t in O.geometries)B=O.geometries[t],B.type=="cube"?(F=new THREE.CubeGeometry(B.width,
+B.height,B.depth,B.segmentsWidth,B.segmentsHeight,B.segmentsDepth,null,B.flipped,B.sides),R.geometries[t]=F):B.type=="plane"?(F=new THREE.PlaneGeometry(B.width,B.height,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="sphere"?(F=new THREE.SphereGeometry(B.radius,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="cylinder"?(F=new THREE.CylinderGeometry(B.numSegs,B.topRad,B.botRad,B.height,B.topOffset,B.botOffset),R.geometries[t]=F):B.type=="torus"?(F=new THREE.TorusGeometry(B.radius,
+B.tube,B.segmentsR,B.segmentsT),R.geometries[t]=F):B.type=="icosahedron"?(F=new THREE.IcosahedronGeometry(B.subdivisions),R.geometries[t]=F):B.type=="bin_mesh"?K.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="ascii_mesh"?S.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="embedded_mesh"&&(B=O.embeds[B.id])&&S.createModel(B,p(t),"");for(D in O.textures)if(t=O.textures[D],t.url instanceof Array){o+=t.url.length;for(K=0;K<t.url.length;K++)e.onLoadStart()}else o+=1,e.onLoadStart();
+na=o;for(D in O.textures){t=O.textures[D];if(t.mapping!=void 0&&THREE[t.mapping]!=void 0)t.mapping=new THREE[t.mapping];if(t.url instanceof Array){K=[];for(var aa=0;aa<t.url.length;aa++)K[aa]=f(t.url[aa],O.urlBaseType);K=THREE.ImageUtils.loadTextureCube(K,t.mapping,b)}else{K=THREE.ImageUtils.loadTexture(f(t.url,O.urlBaseType),t.mapping,b);if(THREE[t.minFilter]!=void 0)K.minFilter=THREE[t.minFilter];if(THREE[t.magFilter]!=void 0)K.magFilter=THREE[t.magFilter];if(t.repeat){K.repeat.set(t.repeat[0],
+t.repeat[1]);if(t.repeat[0]!=1)K.wrapS=THREE.RepeatWrapping;if(t.repeat[1]!=1)K.wrapT=THREE.RepeatWrapping}t.offset&&K.offset.set(t.offset[0],t.offset[1]);if(t.wrap){S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(S[t.wrap[0]]!==void 0)K.wrapS=S[t.wrap[0]];if(S[t.wrap[1]]!==void 0)K.wrapT=S[t.wrap[1]]}}R.textures[D]=K}for(x in O.materials){D=O.materials[x];for(N in D.parameters)if(N=="envMap"||N=="map"||N=="lightMap")D.parameters[N]=R.textures[D.parameters[N]];else if(N=="shading")D.parameters[N]=
+D.parameters[N]=="flat"?THREE.FlatShading:THREE.SmoothShading;else if(N=="blending")D.parameters[N]=THREE[D.parameters[N]]?THREE[D.parameters[N]]:THREE.NormalBlending;else if(N=="combine")D.parameters[N]=D.parameters[N]=="MixOperation"?THREE.MixOperation:THREE.MultiplyOperation;else if(N=="vertexColors")if(D.parameters[N]=="face")D.parameters[N]=THREE.FaceColors;else if(D.parameters[N])D.parameters[N]=THREE.VertexColors;if(D.parameters.opacity!==void 0&&D.parameters.opacity<1)D.parameters.transparent=
+!0;if(D.parameters.normalMap){t=THREE.ShaderUtils.lib.normal;b=THREE.UniformsUtils.clone(t.uniforms);K=D.parameters.color;S=D.parameters.specular;B=D.parameters.ambient;C=D.parameters.shininess;b.tNormal.texture=R.textures[D.parameters.normalMap];if(D.parameters.normalMapFactor)b.uNormalScale.value=D.parameters.normalMapFactor;if(D.parameters.map)b.tDiffuse.texture=D.parameters.map,b.enableDiffuse.value=!0;if(D.parameters.lightMap)b.tAO.texture=D.parameters.lightMap,b.enableAO.value=!0;if(D.parameters.specularMap)b.tSpecular.texture=
+R.textures[D.parameters.specularMap],b.enableSpecular.value=!0;b.uDiffuseColor.value.setHex(K);b.uSpecularColor.value.setHex(S);b.uAmbientColor.value.setHex(B);b.uShininess.value=C;if(D.parameters.opacity)b.uOpacity.value=D.parameters.opacity;D=new THREE.MeshShaderMaterial({fragmentShader:t.fragmentShader,vertexShader:t.vertexShader,uniforms:b,lights:!0,fog:!0})}else D=new THREE[D.type](D.parameters);R.materials[x]=D}n();e.callbackSync(R)}},constructor:THREE.SceneLoader};THREE.UTF8Loader=function(){};
+THREE.UTF8Loader.prototype=new THREE.UTF8Loader;THREE.UTF8Loader.prototype.constructor=THREE.UTF8Loader;
+THREE.UTF8Loader.prototype.load=function(b){var c=new XMLHttpRequest,e=b.model,f=b.callback,h=b.scale!==void 0?b.scale:1,m=b.offsetX!==void 0?b.offsetX:0,k=b.offsetY!==void 0?b.offsetY:0,n=b.offsetZ!==void 0?b.offsetZ:0;c.onreadystatechange=function(){c.readyState==4?c.status==200||c.status==0?THREE.UTF8Loader.prototype.createModel(c.responseText,f,h,m,k,n):alert("Couldn't load ["+e+"] ["+c.status+"]"):c.readyState!=3&&c.readyState==2&&c.getResponseHeader("Content-Length")};c.open("GET",e,!0);c.send(null)};
+THREE.UTF8Loader.prototype.decompressMesh=function(b){var c=b.charCodeAt(0);c>=57344&&(c-=2048);c++;for(var e=new Float32Array(8*c),f=1,h=0;h<8;h++){for(var m=0,k=0;k<c;++k){var n=b.charCodeAt(k+f);m+=n>>1^-(n&1);e[8*k+h]=m}f+=c}c=b.length-f;m=new Uint16Array(c);for(h=k=0;h<c;h++)n=b.charCodeAt(h+f),m[h]=k-n,n==0&&k++;return[e,m]};
+THREE.UTF8Loader.prototype.createModel=function(b,c,e,f,h,m){var k=function(){var c=this;c.materials=[];THREE.Geometry.call(this);var k=THREE.UTF8Loader.prototype.decompressMesh(b),p=[],v=[];(function(b,k,p){for(var u,v,B,D=b.length;p<D;p+=k)u=b[p],v=b[p+1],B=b[p+2],u=u/16383*e,v=v/16383*e,B=B/16383*e,u+=f,v+=h,B+=m,c.vertices.push(new THREE.Vertex(new THREE.Vector3(u,v,B)))})(k[0],8,0);(function(b,c,e){for(var f,h,k=b.length;e<k;e+=c)f=b[e],h=b[e+1],f/=1023,h/=1023,v.push(f,h)})(k[0],8,3);(function(b,
+c,e){for(var f,h,k,m=b.length;e<m;e+=c)f=b[e],h=b[e+1],k=b[e+2],f=(f-512)/511,h=(h-512)/511,k=(k-512)/511,p.push(f,h,k)})(k[0],8,5);(function(b){var e,f,h,k,m,u,G,H,E,N=b.length;for(e=0;e<N;e+=3){f=b[e];h=b[e+1];k=b[e+2];m=c;H=f;E=h;u=k;G=f;var F=h,I=k,C=m.materials[0],K=p[F*3],U=p[F*3+1],F=p[F*3+2],L=p[I*3],O=p[I*3+1],I=p[I*3+2];G=new THREE.Vector3(p[G*3],p[G*3+1],p[G*3+2]);F=new THREE.Vector3(K,U,F);I=new THREE.Vector3(L,O,I);m.faces.push(new THREE.Face3(H,E,u,[G,F,I],null,C));m=v[f*2];f=v[f*2+
+1];u=v[h*2];G=v[h*2+1];H=v[k*2];E=v[k*2+1];k=c.faceVertexUvs[0];h=u;u=G;G=[];G.push(new THREE.UV(m,f));G.push(new THREE.UV(h,u));G.push(new THREE.UV(H,E));k.push(G)}})(k[1]);this.computeCentroids();this.computeFaceNormals()};k.prototype=new THREE.Geometry;k.prototype.constructor=k;c(new k)};
+THREE.MarchingCubes=function(b,c){THREE.Object3D.call(this);this.materials=c instanceof Array?c:[c];this.init=function(b){this.isolation=80;this.size=b;this.size2=this.size*this.size;this.size3=this.size2*this.size;this.halfsize=this.size/2;this.delta=2/this.size;this.yd=this.size;this.zd=this.size2;this.field=new Float32Array(this.size3);this.normal_cache=new Float32Array(this.size3*3);this.vlist=new Float32Array(36);this.nlist=new Float32Array(36);this.firstDraw=!0;this.maxCount=4096;this.count=
+0;this.hasNormal=this.hasPos=!1;this.positionArray=new Float32Array(this.maxCount*3);this.normalArray=new Float32Array(this.maxCount*3)};this.lerp=function(b,c,h){return b+(c-b)*h};this.VIntX=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n+k*this.delta;c[m+1]=u;c[m+2]=p;h[m]=this.lerp(v[b],v[b+3],k);h[m+1]=this.lerp(v[b+1],v[b+4],k);h[m+2]=this.lerp(v[b+2],v[b+5],k)};this.VIntY=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u+k*this.delta;c[m+
+2]=p;c=b+this.yd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.VIntZ=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u;c[m+2]=p+k*this.delta;c=b+this.zd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.compNorm=function(b){var c=b*3;this.normal_cache[c]==0&&(this.normal_cache[c]=this.field[b-1]-this.field[b+1],this.normal_cache[c+1]=this.field[b-this.yd]-this.field[b+
+this.yd],this.normal_cache[c+2]=this.field[b-this.zd]-this.field[b+this.zd])};this.polygonize=function(b,c,h,m,k,n){var u=m+1,p=m+this.yd,v=m+this.zd,t=u+this.yd,x=u+this.zd,w=m+this.yd+this.zd,z=u+this.yd+this.zd,y=0,B=this.field[m],D=this.field[u],G=this.field[p],H=this.field[t],E=this.field[v],N=this.field[x],F=this.field[w],I=this.field[z];B<k&&(y|=1);D<k&&(y|=2);G<k&&(y|=8);H<k&&(y|=4);E<k&&(y|=16);N<k&&(y|=32);F<k&&(y|=128);I<k&&(y|=64);var C=THREE.edgeTable[y];if(C==0)return 0;var K=this.delta,
+U=b+K,L=c+K,K=h+K;C&1&&(this.compNorm(m),this.compNorm(u),this.VIntX(m*3,this.vlist,this.nlist,0,k,b,c,h,B,D));C&2&&(this.compNorm(u),this.compNorm(t),this.VIntY(u*3,this.vlist,this.nlist,3,k,U,c,h,D,H));C&4&&(this.compNorm(p),this.compNorm(t),this.VIntX(p*3,this.vlist,this.nlist,6,k,b,L,h,G,H));C&8&&(this.compNorm(m),this.compNorm(p),this.VIntY(m*3,this.vlist,this.nlist,9,k,b,c,h,B,G));C&16&&(this.compNorm(v),this.compNorm(x),this.VIntX(v*3,this.vlist,this.nlist,12,k,b,c,K,E,N));C&32&&(this.compNorm(x),
+this.compNorm(z),this.VIntY(x*3,this.vlist,this.nlist,15,k,U,c,K,N,I));C&64&&(this.compNorm(w),this.compNorm(z),this.VIntX(w*3,this.vlist,this.nlist,18,k,b,L,K,F,I));C&128&&(this.compNorm(v),this.compNorm(w),this.VIntY(v*3,this.vlist,this.nlist,21,k,b,c,K,E,F));C&256&&(this.compNorm(m),this.compNorm(v),this.VIntZ(m*3,this.vlist,this.nlist,24,k,b,c,h,B,E));C&512&&(this.compNorm(u),this.compNorm(x),this.VIntZ(u*3,this.vlist,this.nlist,27,k,U,c,h,D,N));C&1024&&(this.compNorm(t),this.compNorm(z),this.VIntZ(t*
+3,this.vlist,this.nlist,30,k,U,L,h,H,I));C&2048&&(this.compNorm(p),this.compNorm(w),this.VIntZ(p*3,this.vlist,this.nlist,33,k,b,L,h,G,F));y<<=4;for(k=m=0;THREE.triTable[y+k]!=-1;)b=y+k,c=b+1,h=b+2,this.posnormtriv(this.vlist,this.nlist,3*THREE.triTable[b],3*THREE.triTable[c],3*THREE.triTable[h],n),k+=3,m++;return m};this.posnormtriv=function(b,c,h,m,k,n){var u=this.count*3;this.positionArray[u]=b[h];this.positionArray[u+1]=b[h+1];this.positionArray[u+2]=b[h+2];this.positionArray[u+3]=b[m];this.positionArray[u+
+4]=b[m+1];this.positionArray[u+5]=b[m+2];this.positionArray[u+6]=b[k];this.positionArray[u+7]=b[k+1];this.positionArray[u+8]=b[k+2];this.normalArray[u]=c[h];this.normalArray[u+1]=c[h+1];this.normalArray[u+2]=c[h+2];this.normalArray[u+3]=c[m];this.normalArray[u+4]=c[m+1];this.normalArray[u+5]=c[m+2];this.normalArray[u+6]=c[k];this.normalArray[u+7]=c[k+1];this.normalArray[u+8]=c[k+2];this.hasNormal=this.hasPos=!0;this.count+=3;this.count>=this.maxCount-3&&n(this)};this.begin=function(){this.count=0;
+this.hasNormal=this.hasPos=!1};this.end=function(b){if(this.count!=0){for(var c=this.count*3;c<this.positionArray.length;c++)this.positionArray[c]=0;b(this)}};this.addBall=function(b,c,h,m,k){var n=this.size*Math.sqrt(m/k),u=h*this.size,p=c*this.size,v=b*this.size,t=Math.floor(u-n);t<1&&(t=1);u=Math.floor(u+n);u>this.size-1&&(u=this.size-1);var x=Math.floor(p-n);x<1&&(x=1);p=Math.floor(p+n);p>this.size-1&&(p=this.size-1);var w=Math.floor(v-n);w<1&&(w=1);n=Math.floor(v+n);n>this.size-1&&(n=this.size-
+1);for(var z,y,B,D,G,H;t<u;t++){v=this.size2*t;y=t/this.size-h;G=y*y;for(y=x;y<p;y++){B=v+this.size*y;z=y/this.size-c;H=z*z;for(z=w;z<n;z++)D=z/this.size-b,D=m/(1.0E-6+D*D+H+G)-k,D>0&&(this.field[B+z]+=D)}}};this.addPlaneX=function(b,c){var h,m,k,n,u,p=this.size,v=this.yd,t=this.zd,x=this.field,w=p*Math.sqrt(b/c);w>p&&(w=p);for(h=0;h<w;h++)if(m=h/p,m*=m,n=b/(1.0E-4+m)-c,n>0)for(m=0;m<p;m++){u=h+m*v;for(k=0;k<p;k++)x[t*k+u]+=n}};this.addPlaneY=function(b,c){var h,m,k,n,u,p,v=this.size,t=this.yd,x=
+this.zd,w=this.field,z=v*Math.sqrt(b/c);z>v&&(z=v);for(m=0;m<z;m++)if(h=m/v,h*=h,n=b/(1.0E-4+h)-c,n>0){u=m*t;for(h=0;h<v;h++){p=u+h;for(k=0;k<v;k++)w[x*k+p]+=n}}};this.addPlaneZ=function(b,c){var h,m,k,n,u,p;size=this.size;yd=this.yd;zd=this.zd;field=this.field;dist=size*Math.sqrt(b/c);dist>size&&(dist=size);for(k=0;k<dist;k++)if(h=k/size,h*=h,n=b/(1.0E-4+h)-c,n>0){u=zd*k;for(m=0;m<size;m++){p=u+m*yd;for(h=0;h<size;h++)field[p+h]+=n}}};this.reset=function(){var b;for(b=0;b<this.size3;b++)this.normal_cache[b*
+3]=0,this.field[b]=0};this.render=function(b){this.begin();var c,h,m,k,n,u,p,v,t,x=this.size-2;for(k=1;k<x;k++){t=this.size2*k;p=(k-this.halfsize)/this.halfsize;for(m=1;m<x;m++){v=t+this.size*m;u=(m-this.halfsize)/this.halfsize;for(h=1;h<x;h++)n=(h-this.halfsize)/this.halfsize,c=v+h,this.polygonize(n,u,p,c,this.isolation,b)}}this.end(b)};this.generateGeometry=function(){var b=0,c=new THREE.Geometry,h=[];this.render(function(m){var k,n,u,p,v,t,x,w;for(k=0;k<m.count;k++)x=k*3,v=x+1,w=x+2,n=m.positionArray[x],
+u=m.positionArray[v],p=m.positionArray[w],t=new THREE.Vector3(n,u,p),n=m.normalArray[x],u=m.normalArray[v],p=m.normalArray[w],x=new THREE.Vector3(n,u,p),x.normalize(),v=new THREE.Vertex(t),c.vertices.push(v),h.push(x);nfaces=m.count/3;for(k=0;k<nfaces;k++)x=(b+k)*3,v=x+1,w=x+2,t=h[x],n=h[v],u=h[w],x=new THREE.Face3(x,v,w,[t,n,u]),c.faces.push(x);b+=nfaces;m.count=0});return c};this.init(b)};THREE.MarchingCubes.prototype=new THREE.Object3D;THREE.MarchingCubes.prototype.constructor=THREE.MarchingCubes;
+THREE.edgeTable=new Int32Array([0,265,515,778,1030,1295,1541,1804,2060,2309,2575,2822,3082,3331,3593,3840,400,153,915,666,1430,1183,1941,1692,2460,2197,2975,2710,3482,3219,3993,3728,560,825,51,314,1590,1855,1077,1340,2620,2869,2111,2358,3642,3891,3129,3376,928,681,419,170,1958,1711,1445,1196,2988,2725,2479,2214,4010,3747,3497,3232,1120,1385,1635,1898,102,367,613,876,3180,3429,3695,3942,2154,2403,2665,2912,1520,1273,2035,1786,502,255,1013,764,3580,3317,4095,3830,2554,2291,3065,2800,1616,1881,1107,
+1370,598,863,85,348,3676,3925,3167,3414,2650,2899,2137,2384,1984,1737,1475,1226,966,719,453,204,4044,3781,3535,3270,3018,2755,2505,2240,2240,2505,2755,3018,3270,3535,3781,4044,204,453,719,966,1226,1475,1737,1984,2384,2137,2899,2650,3414,3167,3925,3676,348,85,863,598,1370,1107,1881,1616,2800,3065,2291,2554,3830,4095,3317,3580,764,1013,255,502,1786,2035,1273,1520,2912,2665,2403,2154,3942,3695,3429,3180,876,613,367,102,1898,1635,1385,1120,3232,3497,3747,4010,2214,2479,2725,2988,1196,1445,1711,1958,170,
+419,681,928,3376,3129,3891,3642,2358,2111,2869,2620,1340,1077,1855,1590,314,51,825,560,3728,3993,3219,3482,2710,2975,2197,2460,1692,1941,1183,1430,666,915,153,400,3840,3593,3331,3082,2822,2575,2309,2060,1804,1541,1295,1030,778,515,265,0]);
+THREE.triTable=new Int32Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,9,8,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,2,10,0,2,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,8,3,2,10,8,10,9,8,-1,-1,-1,-1,-1,-1,-1,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,8,11,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,11,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,-1,1,11,2,1,9,11,9,8,11,-1,-1,-1,-1,-1,-1,-1,3,10,1,11,10,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,10,1,0,8,10,8,11,10,-1,-1,-1,-1,-1,-1,-1,3,9,0,3,11,9,11,10,9,-1,-1,-1,-1,-1,-1,-1,9,8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,7,3,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,1,9,4,7,1,7,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,4,7,3,0,4,1,2,10,-1,-1,-1,-1,-1,-1,-1,9,2,10,9,0,2,8,4,7,
+-1,-1,-1,-1,-1,-1,-1,2,10,9,2,9,7,2,7,3,7,9,4,-1,-1,-1,-1,8,4,7,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,4,7,11,2,4,2,0,4,-1,-1,-1,-1,-1,-1,-1,9,0,1,8,4,7,2,3,11,-1,-1,-1,-1,-1,-1,-1,4,7,11,9,4,11,9,11,2,9,2,1,-1,-1,-1,-1,3,10,1,3,11,10,7,8,4,-1,-1,-1,-1,-1,-1,-1,1,11,10,1,4,11,1,0,4,7,11,4,-1,-1,-1,-1,4,7,8,9,0,11,9,11,10,11,0,3,-1,-1,-1,-1,4,7,11,4,11,9,9,11,10,-1,-1,-1,-1,-1,-1,-1,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,5,4,1,5,0,-1,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,8,5,4,8,3,5,3,1,5,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,10,4,9,5,-1,-1,-1,-1,-1,-1,-1,5,2,10,5,4,2,4,0,2,-1,-1,-1,-1,-1,-1,-1,2,10,5,3,2,5,3,5,4,3,4,8,-1,-1,-1,-1,9,5,4,2,3,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,0,8,11,4,9,5,-1,-1,-1,-1,-1,-1,-1,0,5,4,0,1,5,2,3,11,-1,-1,-1,-1,-1,-1,-1,2,1,5,2,5,8,2,8,11,4,8,5,-1,-1,-1,-1,10,3,11,10,1,3,9,5,4,-1,-1,-1,-1,-1,-1,-1,4,9,5,0,8,1,8,10,1,8,11,10,-1,-1,-1,-1,5,4,0,5,0,11,5,11,10,11,0,3,-1,-1,-1,-1,5,4,8,5,
+8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,9,7,8,5,7,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,3,0,9,5,3,5,7,3,-1,-1,-1,-1,-1,-1,-1,0,7,8,0,1,7,1,5,7,-1,-1,-1,-1,-1,-1,-1,1,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,7,8,9,5,7,10,1,2,-1,-1,-1,-1,-1,-1,-1,10,1,2,9,5,0,5,3,0,5,7,3,-1,-1,-1,-1,8,0,2,8,2,5,8,5,7,10,5,2,-1,-1,-1,-1,2,10,5,2,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,7,9,5,7,8,9,3,11,2,-1,-1,-1,-1,-1,-1,-1,9,5,7,9,7,2,9,2,0,2,7,11,-1,-1,-1,-1,2,3,11,0,1,8,1,7,8,1,5,7,-1,-1,-1,-1,11,2,1,11,1,7,7,1,5,-1,-1,-1,-1,-1,-1,
+-1,9,5,8,8,5,7,10,1,3,10,3,11,-1,-1,-1,-1,5,7,0,5,0,9,7,11,0,1,0,10,11,10,0,-1,11,10,0,11,0,3,10,5,0,8,0,7,5,7,0,-1,11,10,5,7,11,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,0,1,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,1,9,8,5,10,6,-1,-1,-1,-1,-1,-1,-1,1,6,5,2,6,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,6,5,1,2,6,3,0,8,-1,-1,-1,-1,-1,-1,-1,9,6,5,9,0,6,0,2,6,-1,-1,-1,-1,-1,-1,-1,5,9,8,5,8,2,5,2,6,3,2,8,-1,-1,-1,-1,2,3,11,10,6,
+5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,0,8,11,2,0,10,6,5,-1,-1,-1,-1,-1,-1,-1,0,1,9,2,3,11,5,10,6,-1,-1,-1,-1,-1,-1,-1,5,10,6,1,9,2,9,11,2,9,8,11,-1,-1,-1,-1,6,3,11,6,5,3,5,1,3,-1,-1,-1,-1,-1,-1,-1,0,8,11,0,11,5,0,5,1,5,11,6,-1,-1,-1,-1,3,11,6,0,3,6,0,6,5,0,5,9,-1,-1,-1,-1,6,5,9,6,9,11,11,9,8,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,4,7,3,6,5,10,-1,-1,-1,-1,-1,-1,-1,1,9,0,5,10,6,8,4,7,-1,-1,-1,-1,-1,-1,-1,10,6,5,1,9,7,1,7,3,7,9,4,-1,-1,-1,-1,6,1,2,6,5,1,4,7,8,-1,-1,-1,-1,
+-1,-1,-1,1,2,5,5,2,6,3,0,4,3,4,7,-1,-1,-1,-1,8,4,7,9,0,5,0,6,5,0,2,6,-1,-1,-1,-1,7,3,9,7,9,4,3,2,9,5,9,6,2,6,9,-1,3,11,2,7,8,4,10,6,5,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,2,4,2,0,2,7,11,-1,-1,-1,-1,0,1,9,4,7,8,2,3,11,5,10,6,-1,-1,-1,-1,9,2,1,9,11,2,9,4,11,7,11,4,5,10,6,-1,8,4,7,3,11,5,3,5,1,5,11,6,-1,-1,-1,-1,5,1,11,5,11,6,1,0,11,7,11,4,0,4,11,-1,0,5,9,0,6,5,0,3,6,11,6,3,8,4,7,-1,6,5,9,6,9,11,4,7,9,7,11,9,-1,-1,-1,-1,10,4,9,6,4,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,10,6,4,9,10,0,8,3,-1,-1,-1,-1,-1,-1,-1,
+10,0,1,10,6,0,6,4,0,-1,-1,-1,-1,-1,-1,-1,8,3,1,8,1,6,8,6,4,6,1,10,-1,-1,-1,-1,1,4,9,1,2,4,2,6,4,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,9,2,4,9,2,6,4,-1,-1,-1,-1,0,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,3,2,8,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,10,4,9,10,6,4,11,2,3,-1,-1,-1,-1,-1,-1,-1,0,8,2,2,8,11,4,9,10,4,10,6,-1,-1,-1,-1,3,11,2,0,1,6,0,6,4,6,1,10,-1,-1,-1,-1,6,4,1,6,1,10,4,8,1,2,1,11,8,11,1,-1,9,6,4,9,3,6,9,1,3,11,6,3,-1,-1,-1,-1,8,11,1,8,1,0,11,6,1,9,1,4,6,4,1,-1,3,11,6,3,6,0,0,6,4,-1,-1,-1,-1,-1,-1,-1,
+6,4,8,11,6,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,10,6,7,8,10,8,9,10,-1,-1,-1,-1,-1,-1,-1,0,7,3,0,10,7,0,9,10,6,7,10,-1,-1,-1,-1,10,6,7,1,10,7,1,7,8,1,8,0,-1,-1,-1,-1,10,6,7,10,7,1,1,7,3,-1,-1,-1,-1,-1,-1,-1,1,2,6,1,6,8,1,8,9,8,6,7,-1,-1,-1,-1,2,6,9,2,9,1,6,7,9,0,9,3,7,3,9,-1,7,8,0,7,0,6,6,0,2,-1,-1,-1,-1,-1,-1,-1,7,3,2,6,7,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,11,10,6,8,10,8,9,8,6,7,-1,-1,-1,-1,2,0,7,2,7,11,0,9,7,6,7,10,9,10,7,-1,1,8,0,1,7,8,1,10,7,6,7,10,2,3,11,-1,11,2,1,11,1,7,10,6,1,6,7,1,-1,-1,-1,-1,
+8,9,6,8,6,7,9,1,6,11,6,3,1,3,6,-1,0,9,1,11,6,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,0,7,0,6,3,11,0,11,6,0,-1,-1,-1,-1,7,11,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,1,9,8,3,1,11,7,6,-1,-1,-1,-1,-1,-1,-1,10,1,2,6,11,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,3,0,8,6,11,7,-1,-1,-1,-1,-1,-1,-1,2,9,0,2,10,9,6,11,7,-1,-1,-1,-1,-1,-1,-1,6,11,7,2,10,3,10,8,3,10,9,8,-1,-1,-1,-1,7,
+2,3,6,2,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,8,7,6,0,6,2,0,-1,-1,-1,-1,-1,-1,-1,2,7,6,2,3,7,0,1,9,-1,-1,-1,-1,-1,-1,-1,1,6,2,1,8,6,1,9,8,8,7,6,-1,-1,-1,-1,10,7,6,10,1,7,1,3,7,-1,-1,-1,-1,-1,-1,-1,10,7,6,1,7,10,1,8,7,1,0,8,-1,-1,-1,-1,0,3,7,0,7,10,0,10,9,6,10,7,-1,-1,-1,-1,7,6,10,7,10,8,8,10,9,-1,-1,-1,-1,-1,-1,-1,6,8,4,11,8,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,6,11,3,0,6,0,4,6,-1,-1,-1,-1,-1,-1,-1,8,6,11,8,4,6,9,0,1,-1,-1,-1,-1,-1,-1,-1,9,4,6,9,6,3,9,3,1,11,3,6,-1,-1,-1,-1,6,8,4,6,11,8,2,10,1,-1,-1,-1,
+-1,-1,-1,-1,1,2,10,3,0,11,0,6,11,0,4,6,-1,-1,-1,-1,4,11,8,4,6,11,0,2,9,2,10,9,-1,-1,-1,-1,10,9,3,10,3,2,9,4,3,11,3,6,4,6,3,-1,8,2,3,8,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,0,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,4,2,4,6,4,3,8,-1,-1,-1,-1,1,9,4,1,4,2,2,4,6,-1,-1,-1,-1,-1,-1,-1,8,1,3,8,6,1,8,4,6,6,10,1,-1,-1,-1,-1,10,1,0,10,0,6,6,0,4,-1,-1,-1,-1,-1,-1,-1,4,6,3,4,3,8,6,10,3,0,3,9,10,9,3,-1,10,9,4,6,10,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,5,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,5,11,7,6,
+-1,-1,-1,-1,-1,-1,-1,5,0,1,5,4,0,7,6,11,-1,-1,-1,-1,-1,-1,-1,11,7,6,8,3,4,3,5,4,3,1,5,-1,-1,-1,-1,9,5,4,10,1,2,7,6,11,-1,-1,-1,-1,-1,-1,-1,6,11,7,1,2,10,0,8,3,4,9,5,-1,-1,-1,-1,7,6,11,5,4,10,4,2,10,4,0,2,-1,-1,-1,-1,3,4,8,3,5,4,3,2,5,10,5,2,11,7,6,-1,7,2,3,7,6,2,5,4,9,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,6,0,6,2,6,8,7,-1,-1,-1,-1,3,6,2,3,7,6,1,5,0,5,4,0,-1,-1,-1,-1,6,2,8,6,8,7,2,1,8,4,8,5,1,5,8,-1,9,5,4,10,1,6,1,7,6,1,3,7,-1,-1,-1,-1,1,6,10,1,7,6,1,0,7,8,7,0,9,5,4,-1,4,0,10,4,10,5,0,3,10,6,10,7,3,7,10,
+-1,7,6,10,7,10,8,5,4,10,4,8,10,-1,-1,-1,-1,6,9,5,6,11,9,11,8,9,-1,-1,-1,-1,-1,-1,-1,3,6,11,0,6,3,0,5,6,0,9,5,-1,-1,-1,-1,0,11,8,0,5,11,0,1,5,5,6,11,-1,-1,-1,-1,6,11,3,6,3,5,5,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,11,9,11,8,11,5,6,-1,-1,-1,-1,0,11,3,0,6,11,0,9,6,5,6,9,1,2,10,-1,11,8,5,11,5,6,8,0,5,10,5,2,0,2,5,-1,6,11,3,6,3,5,2,10,3,10,5,3,-1,-1,-1,-1,5,8,9,5,2,8,5,6,2,3,8,2,-1,-1,-1,-1,9,5,6,9,6,0,0,6,2,-1,-1,-1,-1,-1,-1,-1,1,5,8,1,8,0,5,6,8,3,8,2,6,2,8,-1,1,5,6,2,1,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+1,3,6,1,6,10,3,8,6,5,6,9,8,9,6,-1,10,1,0,10,0,6,9,5,0,5,6,0,-1,-1,-1,-1,0,3,8,5,6,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,5,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,7,5,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,11,7,5,8,3,0,-1,-1,-1,-1,-1,-1,-1,5,11,7,5,10,11,1,9,0,-1,-1,-1,-1,-1,-1,-1,10,7,5,10,11,7,9,8,1,8,3,1,-1,-1,-1,-1,11,1,2,11,7,1,7,5,1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,7,1,7,5,7,2,11,-1,-1,-1,-1,9,7,5,9,2,7,9,0,2,2,11,7,-1,-1,-1,-1,7,5,2,7,2,11,5,9,2,3,2,8,9,8,2,-1,2,5,10,2,3,5,3,7,5,-1,-1,
+-1,-1,-1,-1,-1,8,2,0,8,5,2,8,7,5,10,2,5,-1,-1,-1,-1,9,0,1,5,10,3,5,3,7,3,10,2,-1,-1,-1,-1,9,8,2,9,2,1,8,7,2,10,2,5,7,5,2,-1,1,3,5,3,7,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,7,0,7,1,1,7,5,-1,-1,-1,-1,-1,-1,-1,9,0,3,9,3,5,5,3,7,-1,-1,-1,-1,-1,-1,-1,9,8,7,5,9,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,8,4,5,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,5,0,4,5,11,0,5,10,11,11,3,0,-1,-1,-1,-1,0,1,9,8,4,10,8,10,11,10,4,5,-1,-1,-1,-1,10,11,4,10,4,5,11,3,4,9,4,1,3,1,4,-1,2,5,1,2,8,5,2,11,8,4,5,8,-1,-1,-1,-1,0,4,11,0,11,3,4,5,11,
+2,11,1,5,1,11,-1,0,2,5,0,5,9,2,11,5,4,5,8,11,8,5,-1,9,4,5,2,11,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,5,10,3,5,2,3,4,5,3,8,4,-1,-1,-1,-1,5,10,2,5,2,4,4,2,0,-1,-1,-1,-1,-1,-1,-1,3,10,2,3,5,10,3,8,5,4,5,8,0,1,9,-1,5,10,2,5,2,4,1,9,2,9,4,2,-1,-1,-1,-1,8,4,5,8,5,3,3,5,1,-1,-1,-1,-1,-1,-1,-1,0,4,5,1,0,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,5,8,5,3,9,0,5,0,3,5,-1,-1,-1,-1,9,4,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,11,7,4,9,11,9,10,11,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,7,9,11,7,9,10,11,-1,-1,-1,-1,1,10,11,1,11,
+4,1,4,0,7,4,11,-1,-1,-1,-1,3,1,4,3,4,8,1,10,4,7,4,11,10,11,4,-1,4,11,7,9,11,4,9,2,11,9,1,2,-1,-1,-1,-1,9,7,4,9,11,7,9,1,11,2,11,1,0,8,3,-1,11,7,4,11,4,2,2,4,0,-1,-1,-1,-1,-1,-1,-1,11,7,4,11,4,2,8,3,4,3,2,4,-1,-1,-1,-1,2,9,10,2,7,9,2,3,7,7,4,9,-1,-1,-1,-1,9,10,7,9,7,4,10,2,7,8,7,0,2,0,7,-1,3,7,10,3,10,2,7,4,10,1,10,0,4,0,10,-1,1,10,2,8,7,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,7,1,3,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,0,8,1,8,7,1,-1,-1,-1,-1,4,0,3,7,4,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,8,7,-1,-1,-1,
+-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,11,9,10,-1,-1,-1,-1,-1,-1,-1,0,1,10,0,10,8,8,10,11,-1,-1,-1,-1,-1,-1,-1,3,1,10,11,3,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,11,1,11,9,9,11,8,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,1,2,9,2,11,9,-1,-1,-1,-1,0,2,11,8,0,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,10,8,9,-1,-1,-1,-1,-1,-1,-1,9,10,2,0,9,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,0,1,8,1,10,8,-1,-1,-1,-1,1,10,
+2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,8,9,1,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,9,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,3,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);
+THREE.Trident=function(b){function c(c){return new THREE.Mesh(new THREE.CylinderGeometry(30,0.1,b.length/20,b.length/5),new THREE.MeshBasicMaterial({color:c}))}function e(b,c){var e=new THREE.Geometry;e.vertices=[new THREE.Vertex,new THREE.Vertex(b)];return new THREE.Line(e,new THREE.LineBasicMaterial({color:c}))}THREE.Object3D.call(this);var f=Math.PI/2,h,b=b||THREE.Trident.defaultParams;if(b!==THREE.Trident.defaultParams)for(h in THREE.Trident.defaultParams)b.hasOwnProperty(h)||(b[h]=THREE.Trident.defaultParams[h]);
+this.scale=new THREE.Vector3(b.scale,b.scale,b.scale);this.addChild(e(new THREE.Vector3(b.length,0,0),b.xAxisColor));this.addChild(e(new THREE.Vector3(0,b.length,0),b.yAxisColor));this.addChild(e(new THREE.Vector3(0,0,b.length),b.zAxisColor));if(b.showArrows)h=c(b.xAxisColor),h.rotation.y=-f,h.position.x=b.length,this.addChild(h),h=c(b.yAxisColor),h.rotation.x=f,h.position.y=b.length,this.addChild(h),h=c(b.zAxisColor),h.rotation.y=Math.PI,h.position.z=b.length,this.addChild(h)};
+THREE.Trident.prototype=new THREE.Object3D;THREE.Trident.prototype.constructor=THREE.Trident;THREE.Trident.defaultParams={xAxisColor:16711680,yAxisColor:65280,zAxisColor:255,showArrows:!0,length:100,scale:1};THREE.PlaneCollider=function(b,c){this.point=b;this.normal=c};THREE.SphereCollider=function(b,c){this.center=b;this.radius=c;this.radiusSq=c*c};THREE.BoxCollider=function(b,c){this.min=b;this.max=c;this.dynamic=!0;this.normal=new THREE.Vector3};
+THREE.MeshCollider=function(b,c){this.mesh=b;this.box=c;this.numFaces=this.mesh.geometry.faces.length;this.normal=new THREE.Vector3};THREE.CollisionSystem=function(){this.collisionNormal=new THREE.Vector3;this.colliders=[];this.hits=[]};THREE.Collisions=new THREE.CollisionSystem;THREE.CollisionSystem.prototype.merge=function(b){this.colliders=this.colliders.concat(b.colliders);this.hits=this.hits.concat(b.hits)};
+THREE.CollisionSystem.prototype.rayCastAll=function(b){b.direction.normalize();this.hits.length=0;var c,e,f,h,m=0;c=0;for(e=this.colliders.length;c<e;c++)if(h=this.colliders[c],f=this.rayCast(b,h),f<Number.MAX_VALUE)h.distance=f,f>m?this.hits.push(h):this.hits.unshift(h),m=f;return this.hits};
+THREE.CollisionSystem.prototype.rayCastNearest=function(b){var c=this.rayCastAll(b);if(c.length==0)return null;for(var e=0;c[e]instanceof THREE.MeshCollider;){var f=this.rayMesh(b,c[e]);if(f.dist<Number.MAX_VALUE){c[e].distance=f.dist;c[e].faceIndex=f.faceIndex;break}e++}if(e>c.length)return null;return c[e]};
+THREE.CollisionSystem.prototype.rayCast=function(b,c){if(c instanceof THREE.PlaneCollider)return this.rayPlane(b,c);else if(c instanceof THREE.SphereCollider)return this.raySphere(b,c);else if(c instanceof THREE.BoxCollider)return this.rayBox(b,c);else if(c instanceof THREE.MeshCollider&&c.box)return this.rayBox(b,c.box)};
+THREE.CollisionSystem.prototype.rayMesh=function(b,c){for(var e=this.makeRayLocal(b,c.mesh),f=Number.MAX_VALUE,h,m=0;m<c.numFaces;m++){var k=c.mesh.geometry.faces[m],n=c.mesh.geometry.vertices[k.a].position,u=c.mesh.geometry.vertices[k.b].position,p=c.mesh.geometry.vertices[k.c].position,v=k instanceof THREE.Face4?c.mesh.geometry.vertices[k.d].position:null;k instanceof THREE.Face3?(k=this.rayTriangle(e,n,u,p,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize())):
+k instanceof THREE.Face4&&(k=this.rayTriangle(e,n,u,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()),k=this.rayTriangle(e,u,p,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()))}return{dist:f,faceIndex:h}};
+THREE.CollisionSystem.prototype.rayTriangle=function(b,c,e,f,h,m,k){var n=THREE.CollisionSystem.__v1,u=THREE.CollisionSystem.__v2;m.set(0,0,0);n.sub(e,c);u.sub(f,e);m.cross(n,u);n=m.dot(b.direction);if(!(n<0))if(k.doubleSided||k.flipSided)m.multiplyScalar(-1),n*=-1;else return Number.MAX_VALUE;k=m.dot(c)-m.dot(b.origin);if(!(k<=0))return Number.MAX_VALUE;if(!(k>=n*h))return Number.MAX_VALUE;k/=n;n=THREE.CollisionSystem.__v3;n.copy(b.direction);n.multiplyScalar(k);n.addSelf(b.origin);Math.abs(m.x)>
+Math.abs(m.y)?Math.abs(m.x)>Math.abs(m.z)?(b=n.y-c.y,m=e.y-c.y,h=f.y-c.y,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y):Math.abs(m.y)>Math.abs(m.z)?(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y);c=m*f-e*h;if(c==0)return Number.MAX_VALUE;c=1/c;f=(b*f-n*h)*c;if(!(f>=0))return Number.MAX_VALUE;c*=m*n-e*b;if(!(c>=0))return Number.MAX_VALUE;if(!(1-f-c>=0))return Number.MAX_VALUE;return k};
+THREE.CollisionSystem.prototype.makeRayLocal=function(b,c){var e=THREE.CollisionSystem.__m;THREE.Matrix4.makeInvert(c.matrixWorld,e);var f=THREE.CollisionSystem.__r;f.origin.copy(b.origin);f.direction.copy(b.direction);e.multiplyVector3(f.origin);e.rotateAxis(f.direction);f.direction.normalize();return f};
+THREE.CollisionSystem.prototype.rayBox=function(b,c){var e;c.dynamic&&c.mesh&&c.mesh.matrixWorld?e=this.makeRayLocal(b,c.mesh):(e=THREE.CollisionSystem.__r,e.origin.copy(b.origin),e.direction.copy(b.direction));var f=0,h=0,m=0,k=0,n=0,u=0,p=!0;e.origin.x<c.min.x?(f=c.min.x-e.origin.x,f/=e.direction.x,p=!1,k=-1):e.origin.x>c.max.x&&(f=c.max.x-e.origin.x,f/=e.direction.x,p=!1,k=1);e.origin.y<c.min.y?(h=c.min.y-e.origin.y,h/=e.direction.y,p=!1,n=-1):e.origin.y>c.max.y&&(h=c.max.y-e.origin.y,h/=e.direction.y,
+p=!1,n=1);e.origin.z<c.min.z?(m=c.min.z-e.origin.z,m/=e.direction.z,p=!1,u=-1):e.origin.z>c.max.z&&(m=c.max.z-e.origin.z,m/=e.direction.z,p=!1,u=1);if(p)return-1;p=0;h>f&&(p=1,f=h);m>f&&(p=2,f=m);switch(p){case 0:n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(k,0,0);break;case 1:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*
+f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(0,n,0);break;case 2:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;c.normal.set(0,0,u)}return f};THREE.CollisionSystem.prototype.rayPlane=function(b,c){var e=b.direction.dot(c.normal),f=c.point.dot(c.normal);if(e<0)e=(f-b.origin.dot(c.normal))/e;else return Number.MAX_VALUE;return e>0?e:Number.MAX_VALUE};
+THREE.CollisionSystem.prototype.raySphere=function(b,c){var e=c.center.clone().subSelf(b.origin);if(e.lengthSq<c.radiusSq)return-1;var f=e.dot(b.direction.clone());if(f<=0)return Number.MAX_VALUE;e=c.radiusSq-(e.lengthSq()-f*f);if(e>=0)return Math.abs(f)-Math.sqrt(e);return Number.MAX_VALUE};THREE.CollisionSystem.__v1=new THREE.Vector3;THREE.CollisionSystem.__v2=new THREE.Vector3;THREE.CollisionSystem.__v3=new THREE.Vector3;THREE.CollisionSystem.__nr=new THREE.Vector3;THREE.CollisionSystem.__m=new THREE.Matrix4;
+THREE.CollisionSystem.__r=new THREE.Ray;THREE.CollisionUtils={};THREE.CollisionUtils.MeshOBB=function(b){b.geometry.computeBoundingBox();var c=b.geometry.boundingBox,e=new THREE.Vector3(c.x[0],c.y[0],c.z[0]),c=new THREE.Vector3(c.x[1],c.y[1],c.z[1]),e=new THREE.BoxCollider(e,c);e.mesh=b;return e};THREE.CollisionUtils.MeshAABB=function(b){var c=THREE.CollisionUtils.MeshOBB(b);c.min.addSelf(b.position);c.max.addSelf(b.position);c.dynamic=!1;return c};
+THREE.CollisionUtils.MeshColliderWBox=function(b){return new THREE.MeshCollider(b,THREE.CollisionUtils.MeshOBB(b))};
+if(THREE.WebGLRenderer)THREE.AnaglyphWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);var c=this,e=this.setSize,f=this.render,h=new THREE.Camera,m=new THREE.Camera,k=new THREE.Matrix4,n=new THREE.Matrix4,u,p,v;h.useTarget=m.useTarget=!1;h.matrixAutoUpdate=m.matrixAutoUpdate=!1;var b={minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat},t=new THREE.WebGLRenderTarget(512,512,b),x=new THREE.WebGLRenderTarget(512,512,b),w=new THREE.Camera(53,1,1,1E4);w.position.z=
+2;_material=new THREE.MeshShaderMaterial({uniforms:{mapLeft:{type:"t",value:0,texture:t},mapRight:{type:"t",value:1,texture:x}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, 1.0 - uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D mapLeft;\nuniform sampler2D mapRight;\nvarying vec2 vUv;\nvoid main() {\nvec4 colorL, colorR;\nvec2 uv = vUv;\ncolorL = texture2D( mapLeft, uv );\ncolorR = texture2D( mapRight, uv );\ngl_FragColor = vec4( colorL.g * 0.7 + colorL.b * 0.3, colorR.g, colorR.b, colorL.a + colorR.a ) * 1.1;\n}"});
+var z=new THREE.Scene;z.addObject(new THREE.Mesh(new THREE.PlaneGeometry(2,2),_material));this.setSize=function(b,f){e.call(c,b,f);t.width=b;t.height=f;x.width=b;x.height=f};this.render=function(b,e){e.update(null,!0);if(u!==e.aspect||p!==e.near||v!==e.fov){u=e.aspect;p=e.near;v=e.fov;var D=e.projectionMatrix.clone(),G=125/30*0.5,H=G*p/125,E=p*Math.tan(v*Math.PI/360),N;k.n14=G;n.n14=-G;G=-E*u+H;N=E*u+H;D.n11=2*p/(N-G);D.n13=(N+G)/(N-G);h.projectionMatrix=D.clone();G=-E*u-H;N=E*u-H;D.n11=2*p/(N-G);
+D.n13=(N+G)/(N-G);m.projectionMatrix=D.clone()}h.matrix=e.matrixWorld.clone().multiplySelf(n);h.update(null,!0);h.position.copy(e.position);h.near=p;h.far=e.far;f.call(c,b,h,t,!0);m.matrix=e.matrixWorld.clone().multiplySelf(k);m.update(null,!0);m.position.copy(e.position);m.near=p;m.far=e.far;f.call(c,b,m,x,!0);f.call(c,z,w)}};
+if(THREE.WebGLRenderer)THREE.CrosseyedWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);this.autoClear=!1;var c=this,e=this.setSize,f=this.render,h,m,k=new THREE.Camera,n=new THREE.Camera;c.separation=10;if(b&&b.separation!==void 0)c.separation=b.separation;(new THREE.Camera(53,window.innerWidth/2/window.innerHeight,1,1E4)).position.z=-10;this.setSize=function(b,f){e.call(c,b,f);h=b/2;m=f};this.render=function(b,e){this.clear();k.fov=e.fov;k.aspect=0.5*e.aspect;k.near=e.near;k.far=e.far;
+k.updateProjectionMatrix();k.position.copy(e.position);k.target.position.copy(e.target.position);k.translateX(c.separation);n.projectionMatrix=k.projectionMatrix;n.position.copy(e.position);n.target.position.copy(e.target.position);n.translateX(-c.separation);this.setViewport(0,0,h,m);f.call(c,b,k);this.setViewport(h,0,h,m);f.call(c,b,n,!1)}};
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/a-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/a-green.css
new file mode 100644
index 00000000000..b0dbb071d5b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/a-green.css
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/animations.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/animations.css
new file mode 100644
index 00000000000..44e3ad9cbde
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/animations.css
@@ -0,0 +1,80 @@
+/* Duration classes */
+
+.once {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: 1;
+}
+
+.infinite {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+}
+
+.infinite-reversed {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+.fast {
+ animation-duration: 0.5s;
+}
+
+/* Animation declarations */
+
+@keyframes pulse {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0.25;
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotateY(0);
+ }
+ to {
+ transform: rotateY(360deg);
+ }
+}
+
+@keyframes rotate {
+ from {
+ transform: rotateZ(45deg);
+ }
+ to {
+ transform: rotateZ(405deg);
+ }
+}
+
+@keyframes slant {
+ from {
+ transform: rotate3d(0.23, 1.2, 0.83, 40deg);
+ }
+ to {
+ transform: rotate3d(1, 0.75, 1.3, 240deg);
+ }
+}
+
+/* Animation classes */
+
+.pulse {
+ animation-name: pulse;
+}
+
+.spin {
+ animation-name: spin;
+}
+
+.rotate {
+ animation-name: rotate;
+}
+
+.slant {
+ animation-name: slant;
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/b-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/b-green.css
new file mode 100644
index 00000000000..a0473f5ca26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/b-green.css
@@ -0,0 +1 @@
+.b { color: green; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.mp4 b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.mp4
new file mode 100644
index 00000000000..0512bb92cdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.mp4
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.ogv b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.ogv
new file mode 100644
index 00000000000..4f964f107c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.ogv
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.webm b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.webm
new file mode 100644
index 00000000000..7f75126a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/big-buck-bunny-240p.webm
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/c-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/c-red.css
new file mode 100644
index 00000000000..d4ba5c64e95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/c-red.css
@@ -0,0 +1 @@
+.c { color: red; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/cat.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/cat.png
new file mode 100644
index 00000000000..85dd7324815
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/cat.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-green.css
new file mode 100644
index 00000000000..537104e6633
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-green.css
@@ -0,0 +1 @@
+.import { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-red.css
new file mode 100644
index 00000000000..9945ef47114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/import-red.css
@@ -0,0 +1 @@
+.import { color: red; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-gg-gr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-gg-gr.png
new file mode 100644
index 00000000000..a6d65b0d4a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-gg-gr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rgr-grg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rgr-grg.png
new file mode 100644
index 00000000000..9b88fbd8114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rgr-grg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rrg-rgg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rrg-rgg.png
new file mode 100644
index 00000000000..fcf4f3fd7d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-grg-rrg-rgg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-rgr-grg-rgr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-rgr-grg-rgr.png
new file mode 100644
index 00000000000..d454e3a630c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-rgr-grg-rgr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-tr.png
new file mode 100644
index 00000000000..8b4b25364e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/pattern-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50%.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50%.png
new file mode 100644
index 00000000000..cf2eea6b438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50%.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50px.png
new file mode 100644
index 00000000000..9f46583665c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-h-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-100px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-100px.png
new file mode 100644
index 00000000000..a837eca2225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-100px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-50px.png
new file mode 100644
index 00000000000..84141028020
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/ruler-v-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-purple.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-purple.png
new file mode 100644
index 00000000000..0f522d78728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-purple.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-teal.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-teal.png
new file mode 100644
index 00000000000..e567f51b91b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-teal.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-white.png
new file mode 100644
index 00000000000..5853cbb238c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/square-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/static-cube.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/static-cube.js
new file mode 100644
index 00000000000..10b045301c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/static-cube.js
@@ -0,0 +1,52 @@
+// This source is the javascript needed to build a simple moving
+// cube in **three.js** based on this
+// [example](https://raw.github.com/mrdoob/three.js/r44/examples/canvas_geometry_cube.html)
+// It is the source about this [blog post](/blog/2011/08/06/lets-do-a-cube/).
+
+// ## Now lets start
+
+// declare a bunch of variable we will need later
+var container;
+var camera, scene, renderer;
+var cube;
+
+// ## Initialize everything
+function init() {
+ // create the camera
+ camera = new THREE.Camera( 70, 4/3, 100, 1000 );
+ camera.position.z = 350;
+
+ // create the Scene
+ scene = new THREE.Scene();
+
+ // create the Cube
+ cube = new THREE.Mesh( new THREE.CubeGeometry( 200, 200, 200 ), new THREE.MeshNormalMaterial() );
+
+ // add the object to the scene
+ scene.addObject( cube );
+
+ // create the container element
+ container = document.querySelector("#container");
+
+ // init the WebGL renderer and append it to the Dom
+ renderer = new THREE.WebGLRenderer();
+ renderer.setSize( container.getBoundingClientRect().width, container.getBoundingClientRect().height );
+ container.appendChild( renderer.domElement );
+}
+
+
+// ## Render the 3D Scene
+function render() {
+ // animate the cube
+ cube.rotation.x = 0.5;
+ cube.rotation.y = 0.8;
+ cube.rotation.z = 0.2;
+
+ // actually display the scene in the DOM element
+ renderer.render( scene, camera );
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ init();
+ render();
+}) \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/support/README b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/support/README
new file mode 100644
index 00000000000..ea8cb9ef357
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/support/README
@@ -0,0 +1,4 @@
+The swatch-green.png file in this directory is really a RED swatch,
+and the swatch-red.png file is really a green swatch.
+
+This directory is used to test relative URIs. \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/svg-external-styles.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/svg-external-styles.css
new file mode 100644
index 00000000000..22978f89b04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/svg-external-styles.css
@@ -0,0 +1,19 @@
+.rotate {
+ transform: rotate(90deg);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+}
+
+.translateY {
+ transform: translateY(-100px);
+}
+
+.invalid {
+ transform: scale(invalid);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-blue.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-blue.png
new file mode 100644
index 00000000000..bf2759634d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-blue.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-green.png
new file mode 100644
index 00000000000..0aa79b0c86b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-lime.png
new file mode 100644
index 00000000000..55fd7fdaedf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-orange.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-orange.png
new file mode 100644
index 00000000000..d3cd498b52b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-orange.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-red.png
new file mode 100644
index 00000000000..1caf25c992a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-white.png
new file mode 100644
index 00000000000..1a7d4323d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-yellow.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-yellow.png
new file mode 100644
index 00000000000..1591aa0e2e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/swatch-yellow.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-bl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-bl.png
new file mode 100644
index 00000000000..904e24e996a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-bl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-br.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-br.png
new file mode 100644
index 00000000000..f413ff5c1a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-br.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-inner-half-size.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-inner-half-size.png
new file mode 100644
index 00000000000..e473bf80efc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-inner-half-size.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-outer.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-outer.png
new file mode 100644
index 00000000000..82eeace7fc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-outer.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tl.png
new file mode 100644
index 00000000000..f6ac0ef7e8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tr.png
new file mode 100644
index 00000000000..59843ae54b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/test-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-iframe-001-contents.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-iframe-001-contents.html
new file mode 100644
index 00000000000..deb104be2f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-iframe-001-contents.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Iframe (contents)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ height: 200px;
+ width: 200px;
+ background: red;
+ transform: translate(500px, 500px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.png
new file mode 100644
index 00000000000..8f939993332
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.svg
new file mode 100644
index 00000000000..8f759c959c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-lime-square.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<rect fill="lime" height="100" width="100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-down.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-down.svg
new file mode 100644
index 00000000000..5fb4ad826b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-down.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 100,0 50,100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left-small.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left-small.svg
new file mode 100644
index 00000000000..855b566133c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left-small.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="50px" width="50px" viewBox="0 0 50 50">
+<polygon fill="blue" points="0,25 50,50 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left.svg
new file mode 100644
index 00000000000..48c24e1d9e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,50 100,100 100,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-right.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-right.svg
new file mode 100644
index 00000000000..dd056a9ff78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 0,100 100,50"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-up.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-up.svg
new file mode 100644
index 00000000000..b3cecc986df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/support/transform-triangle-up.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,100 100,100 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-document-styles-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-document-styles-ref.xht
new file mode 100644
index 00000000000..054ff1cc517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-document-styles-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-external-styles-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-external-styles-ref.xht
new file mode 100644
index 00000000000..054ff1cc517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-external-styles-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-combination-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-combination-ref.xht
new file mode 100644
index 00000000000..55de445a30d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-combination-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" fill="green" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ex-unit-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ex-unit-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-relative-ref.xht
new file mode 100644
index 00000000000..4f22ed4cc9e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-relative-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="50" fill="green" height="100"></rect>
+ <rect width="50" fill="blue" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-transform-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-transform-ref.xht
new file mode 100644
index 00000000000..640f0e52fdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-gradientTransform-transform-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar to the left of a vertical yellow bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="50" fill="green" height="100"></rect>
+ <rect width="50" fill="yellow" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-250x250-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-250x250-ref.xht
new file mode 100644
index 00000000000..44a85450415
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-250x250-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-ref.xht
new file mode 100644
index 00000000000..f0086ee18a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-green-square-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="40" width="80" fill="green" x="40" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-inline-styles-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-inline-styles-ref.xht
new file mode 100644
index 00000000000..054ff1cc517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-inline-styles-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-clipped-rect-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-clipped-rect-ref.xht
new file mode 100644
index 00000000000..70173afe96b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-clipped-rect-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="40" fill="green" x="100" height="40"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-four-color-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-four-color-ref.xht
new file mode 100644
index 00000000000..8199146488b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-matrix-four-color-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-cm-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-cm-ref.xht
new file mode 100644
index 00000000000..b1f4a066e72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-cm-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="2cm" fill="url(#grad)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-in-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-in-ref.xht
new file mode 100644
index 00000000000..65486697b86
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-in-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="1.5in" fill="url(#grad)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-pt-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-pt-ref.xht
new file mode 100644
index 00000000000..4deb2753a25
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-pt-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="80pt" fill="url(#grad)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-ref.xht
new file mode 100644
index 00000000000..080406feb99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-length-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-invalid-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-invalid-ref.xht
new file mode 100644
index 00000000000..62d6c231d7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-invalid-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="150" fill="url(#grad)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-ref.xht
new file mode 100644
index 00000000000..62d6c231d7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-origin-relative-length-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="150" fill="url(#grad)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-combination-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-combination-ref.xht
new file mode 100644
index 00000000000..55de445a30d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-combination-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" fill="green" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ex-unit-ref.xht
new file mode 100644
index 00000000000..e268008b030
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ex-unit-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="160" fill="green" height="160"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-relative-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-patternTransform-relative-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-3args-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-3args-ref.xht
new file mode 100644
index 00000000000..c2619e8ac5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-3args-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="80" fill="green" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-45-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-45-ref.xht
new file mode 100644
index 00000000000..50139b2c42f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-45-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-90-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-90-ref.xht
new file mode 100644
index 00000000000..080ce8e43e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-rotate-angle-90-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-scale-ref.xht
new file mode 100644
index 00000000000..c438d06f47e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-scale-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewx-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewx-ref.xht
new file mode 100644
index 00000000000..5d976210555
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewx-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewxy-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewxy-ref.xht
new file mode 100644
index 00000000000..faca5f75777
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewxy-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewy-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewy-ref.xht
new file mode 100644
index 00000000000..20489c6a6de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-skewy-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-transform-list-separations-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-transform-list-separations-ref.xht
new file mode 100644
index 00000000000..b04ef816a00
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-transform-list-separations-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="100" width="100" fill="url(#grad)" x="100" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-abs-unit-combinations-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-abs-unit-combinations-ref.xht
new file mode 100644
index 00000000000..481ad728d9e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-abs-unit-combinations-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="75" fill="green" x="100" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ex-unit-ref.xht
new file mode 100644
index 00000000000..3d1aabf3c79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ex-unit-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg ahem" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="40" width="100" fill="green" x="40" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-ref.xht
new file mode 100644
index 00000000000..41e14d2a049
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="75" width="150" fill="green" x="50" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-relative-ref.xht
new file mode 100644
index 00000000000..204b0779015
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-multiple-relative-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="100" width="200" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ref.xht
new file mode 100644
index 00000000000..b843c859263
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="100" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-relative-ref.xht
new file mode 100644
index 00000000000..27652246791
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translate-relative-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="100" width="100" fill="green" x="50" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ex-unit-ref.xht
new file mode 100644
index 00000000000..0ac05ec1fd5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ex-unit-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg ahem" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" x="40" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ref.xht
new file mode 100644
index 00000000000..98385a36d59
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatex-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ex-unit-ref.xht
new file mode 100644
index 00000000000..cb56ca422a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ex-unit-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg ahem" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="40" width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ref.xht
new file mode 100644
index 00000000000..b11652aa549
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/svg-translatey-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-3d-rotateY-stair-above-ref-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-3d-rotateY-stair-above-ref-001.xht
new file mode 100644
index 00000000000..4802283c101
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-3d-rotateY-stair-above-ref-001.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Apple" href="http://www.apple.com/" />
+ <style type="text/css"><![CDATA[
+div {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+ ]]></style>
+ </head>
+ <body>
+<div></div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-abspos-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-abspos-ref.xht
new file mode 100644
index 00000000000..72fa3ba2e60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-abspos-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-001-ref.xht
new file mode 100644
index 00000000000..af7af5ddb10
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-001-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ }
+ div p {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ }
+ #ref {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>You should see a green box. There should be no red.</p>
+ <div>
+ <p id="ref"></p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-002-ref.xht
new file mode 100644
index 00000000000..7589f41a260
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-applies-to-002-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ color: green;
+ }
+ div p {
+ width: 10em;
+ font-family: Ahem;
+ position: absolute;
+ top: 0;
+ left: 0;
+ line-height: 2;
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>
+ You should see two lines of 5 green boxes each. You should see no
+ red.
+ </p>
+ <div>
+ <p>X X <span>X X X X X X</span> X X</p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-006-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-006-notref.xht
new file mode 100644
index 00000000000..5eef45a491e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-006-notref.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ html {
+ background: white;
+ height: 100%;
+ width: 100%;
+ }
+ body {
+ background: url(support/transform-triangle-up.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-1.xht
new file mode 100644
index 00000000000..f2d94c08d98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-1.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ background: url(support/transform-triangle-up.svg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-2.xht
new file mode 100644
index 00000000000..66d433b1315
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-background-ref-2.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <style>
+ html {
+ background: url(support/transform-triangle-up.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-blank-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-blank-ref.xht
new file mode 100644
index 00000000000..ab361e874db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-blank-ref.xht
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-1.xht
new file mode 100644
index 00000000000..52d39caecd3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-1.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ div.test {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div style="transform: skewX(15deg);">
+ <div style="transform: rotate(90deg);">
+ <div style="transform: scale(2);">
+ <div style="transform: translate(100px);">
+ <div class="test">
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-2.xht
new file mode 100644
index 00000000000..55ccd453aac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-notref-2.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ body &gt; div &gt; div {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-ref.xht
new file mode 100644
index 00000000000..10aa948ded8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-compound-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:robert@ocallahan.org" rel="author" title="Robert O'Callahan" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ div.test {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div style="transform: translate(100px);">
+ <div style="transform: scale(2);">
+ <div style="transform: rotate(90deg);">
+ <div style="transform: skewX(15deg);">
+ <div class="test">
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-descendant-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-descendant-ref.xht
new file mode 100644
index 00000000000..0ef767847f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-descendant-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ background: green;
+ height: 100px;
+ width: 100px;
+ }
+ span {
+ background: yellow;
+ }
+ body &gt; div &gt; div {
+ position: relative;
+ top: 150px;
+ left: 20px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div><span>span 1</span></div>
+ </div>
+ <span>span 2</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-notref.xht
new file mode 100644
index 00000000000..b938cc3fd39
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-notref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-ref.xht
new file mode 100644
index 00000000000..babd0b83c9d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-display-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-fixed-bg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-fixed-bg-ref.xht
new file mode 100644
index 00000000000..28048d04953
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-fixed-bg-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) 50px 50px;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-notref.xht
new file mode 100644
index 00000000000..b562b9eb186
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-notref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ float: left;
+ }
+ div::before {
+ float: left;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-ref.xht
new file mode 100644
index 00000000000..e209a280bb4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-001-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ float: left;
+ }
+ div:first-child {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>abc</div>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-notref.xht
new file mode 100644
index 00000000000..5a41c7bc3c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-notref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ span::before {
+ display: block;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-ref.xht
new file mode 100644
index 00000000000..08a3e941790
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-generated-002-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <div>abc</div>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-iframe-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-iframe-ref.xht
new file mode 100644
index 00000000000..cd7384c0482
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-iframe-ref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ iframe {
+ overflow: hidden;
+ height: 200px;
+ width: 300px;
+ }
+ </style>
+ </head><body><iframe src="about:blank"></iframe>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-image-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-image-ref.xht
new file mode 100644
index 00000000000..75da8de0a43
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-image-ref.xht
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <img src="support/transform-triangle-right.svg" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-origin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-origin-ref.xht
new file mode 100644
index 00000000000..ad672af5f13
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-origin-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ position: relative;
+ top: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-ref.xht
new file mode 100644
index 00000000000..a90ea1a2092
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inherit-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-notref.xht
new file mode 100644
index 00000000000..ed1cdc8223d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-notref.xht
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <p>This is some text<br />that is not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-ref.xht
new file mode 100644
index 00000000000..a8b4bd9a9fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-inline-ref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ p + p {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>This is some text<br />that is not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-001-ref.xht
new file mode 100644
index 00000000000..970733879e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-001-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=text</p>
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-002-ref.xht
new file mode 100644
index 00000000000..888755adcdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-002-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=file</p>
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-003-ref.xht
new file mode 100644
index 00000000000..b7d9346dc91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-003-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=search</p>
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-004-ref.xht
new file mode 100644
index 00000000000..bd938eac146
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-004-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=tel</p>
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-005-ref.xht
new file mode 100644
index 00000000000..a4a0e819166
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-005-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=url</p>
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-006-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-006-ref.xht
new file mode 100644
index 00000000000..78b06d420af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-006-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=email</p>
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-007-ref.xht
new file mode 100644
index 00000000000..f7260820af8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-007-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=password</p>
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-008-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-008-ref.xht
new file mode 100644
index 00000000000..e94e21e73c6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-008-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime</p>
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-009-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-009-ref.xht
new file mode 100644
index 00000000000..585e78fe4f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-009-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=date</p>
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-010-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-010-ref.xht
new file mode 100644
index 00000000000..14139dfada6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-010-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=month</p>
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-011-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-011-ref.xht
new file mode 100644
index 00000000000..a3bec14f3ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-011-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=week</p>
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-012-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-012-ref.xht
new file mode 100644
index 00000000000..992c7f96e39
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-012-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=time</p>
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-013-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-013-ref.xht
new file mode 100644
index 00000000000..e833dd5b01e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-013-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime-local</p>
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-014-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-014-ref.xht
new file mode 100644
index 00000000000..2fc7a8b81d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-014-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=number</p>
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-015-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-015-ref.xht
new file mode 100644
index 00000000000..0d936175c0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-015-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=range</p>
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-016-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-016-ref.xht
new file mode 100644
index 00000000000..9d7b48b0249
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-016-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=color</p>
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-017-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-017-ref.xht
new file mode 100644
index 00000000000..5ba472f878c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-017-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=checkbox</p>
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-018-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-018-ref.xht
new file mode 100644
index 00000000000..cfadf94526b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-018-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=radio</p>
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-019-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-019-ref.xht
new file mode 100644
index 00000000000..bc6fe7064d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-input-019-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=submit</p>
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-lime-square-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-lime-square-ref.xht
new file mode 100644
index 00000000000..ccac9ab9a65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-lime-square-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-001-ref.xht
new file mode 100644
index 00000000000..abba48aea52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-001-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-002-ref.xht
new file mode 100644
index 00000000000..b045e6ee28f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-002-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ top: 100px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-003-ref.xht
new file mode 100644
index 00000000000..5352632909d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-003-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ left: 47px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-004-ref.xht
new file mode 100644
index 00000000000..624f812875c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-004-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ top: 23px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-notref.xht
new file mode 100644
index 00000000000..9ddd90d465d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-notref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-ref.xht
new file mode 100644
index 00000000000..6921e3d7362
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-005-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: skewX(45deg);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-006-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-006-ref.xht
new file mode 100644
index 00000000000..dda1bdaa70f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-006-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: skewY(45deg);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-007-ref.xht
new file mode 100644
index 00000000000..9910fc2068e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-007-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ right: 50px;
+ bottom: 150px;
+ width: 200px;
+ height: 400px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-notref.xht
new file mode 100644
index 00000000000..fc6d6e70776
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-notref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ }
+ body &gt; div {
+ transform: matrix(1, 0, 0, 1, 50, 0);
+ }
+ body &gt; div &gt; div {
+ transform: matrix(1, 0, 0, 1, 50, 0);
+ }
+ body &gt; div &gt; div &gt; div {
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-ref.xht
new file mode 100644
index 00000000000..1e7145311d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-matrix-008-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-007-ref.xht
new file mode 100644
index 00000000000..eb861d252bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-007-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test Reference File</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<style>
+ #test {
+ background-color: green;
+ height: 50px;
+ margin: 50px;
+ width: 50px;
+ }
+ #container {
+ background-color: gray;
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div id="container"><div id="test"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-01-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-01-ref.xht
new file mode 100644
index 00000000000..f35b143c290
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-01-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:youremail@address.com" rel="author" title="CJ Gammon" />
+ <style type="text/css">
+
+ #container{
+ position: relative;
+ }
+
+ .square{
+ position: absolute;
+ }
+
+ #green{
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+
+ <div id="container">
+ <div class="square" id="green"></div>
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-notref.xht
new file mode 100644
index 00000000000..ec46c56e587
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-notref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-1.xht
new file mode 100644
index 00000000000..b5ae0b5c4ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-1.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 0% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-2.xht
new file mode 100644
index 00000000000..df0673aa570
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-2.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 50% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-3.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-3.xht
new file mode 100644
index 00000000000..27febcb4a75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-name-ref-3.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 100% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-1.xht
new file mode 100644
index 00000000000..216765fd92c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-1.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-2.xht
new file mode 100644
index 00000000000..216765fd92c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref-2.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref.xht
new file mode 100644
index 00000000000..14843cadf44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-origin-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform-origin</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <style type="text/css">
+ body {margin:0}
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div class="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-001-ref.xht
new file mode 100644
index 00000000000..d61cc345b81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-001-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: auto;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 150px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-002-ref.xht
new file mode 100644
index 00000000000..04a2ee2d275
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-overflow-002-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: scroll;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 150px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-notref.xht
new file mode 100644
index 00000000000..40047d3fc23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-notref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-ref.xht
new file mode 100644
index 00000000000..5ea408ab190
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-percent-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-propagate-inherit-boolean-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-propagate-inherit-boolean-ref.xht
new file mode 100644
index 00000000000..157bb0a08fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-propagate-inherit-boolean-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="http://dbaron.org/" rel="author" title="L. David Baron" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ p {
+ font-size: 20px;
+ margin: 0;
+ height: 0;
+ width: 100px;
+ position: relative;
+ left: 80px;
+ }
+ p + p {
+ font-size: 40px;
+ position: relative;
+ left: 160px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>One</p>
+ <p>Two</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-001-ref.xht
new file mode 100644
index 00000000000..7cacd8d7659
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-001-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ html {
+ background: url(support/transform-triangle-right.svg) top right;
+ }
+ body {
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-003-ref.xht
new file mode 100644
index 00000000000..69163500ca8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-003-ref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left-small.svg);
+ }
+ body {
+ margin: 0;
+ }
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;/body&gt;
+&lt;/html&gt;
+</style></head><body></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-004-ref.xht
new file mode 100644
index 00000000000..e9be30153a9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-root-bg-004-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ background: url(support/transform-triangle-left.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-notref.xht
new file mode 100644
index 00000000000..577a67456d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-notref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-ref.xht
new file mode 100644
index 00000000000..97158a22789
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-001-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: rotate(45deg);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-notref.xht
new file mode 100644
index 00000000000..2fd4409693d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-notref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-ref.xht
new file mode 100644
index 00000000000..a49fa672f15
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rotate-007-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rounding-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rounding-ref.xht
new file mode 100644
index 00000000000..e5afbb3b563
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-rounding-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-percent-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-percent-ref.xht
new file mode 100644
index 00000000000..6a9c50f286f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-percent-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-ref.xht
new file mode 100644
index 00000000000..e72f253b8f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 50px;
+ height: 50px;
+ margin: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-test-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-test-ref.xht
new file mode 100644
index 00000000000..d8edd27cff9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scale-test-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:oleg@the-incredible.me" rel="author" title="Oleg Janeiko" />
+ <style type="text/css">
+ div {
+ background-color: green;
+ float: left;
+ margin: 50px;
+ width: 33px;
+ height: 33px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green squares of the same size.</p>
+ <div></div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scalex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scalex-ref.xht
new file mode 100644
index 00000000000..dbb9c029a64
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scalex-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 50px;
+ height: 100px;
+ margin-left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scaley-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scaley-ref.xht
new file mode 100644
index 00000000000..f77433d8d2d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-scaley-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 50px;
+ margin-top: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-singular-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-singular-ref.xht
new file mode 100644
index 00000000000..d00f0ddaa78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-singular-ref.xht
@@ -0,0 +1,7 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head><body>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-stresstest-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-stresstest-ref.xht
new file mode 100644
index 00000000000..e7d3c6e457f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-stresstest-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 200px;
+ width: 200px;
+ background: gold;
+ position: relative;
+ left: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-notref.xht
new file mode 100644
index 00000000000..aa8ff254bd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-notref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-ref.xht
new file mode 100644
index 00000000000..a13fbba840c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-001-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-002-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-002-notref.xht
new file mode 100644
index 00000000000..d894f352b36
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-002-notref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ table {
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-notref.xht
new file mode 100644
index 00000000000..91ff6267d63
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-notref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-ref.xht
new file mode 100644
index 00000000000..0c46dcc67c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-004-ref.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-005-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-005-notref.xht
new file mode 100644
index 00000000000..528c6f610b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-005-notref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ table {
+ display: inline-table;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-notref.xht
new file mode 100644
index 00000000000..6b355b26240
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-notref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ table, tbody, tr, td {
+ margin: 0;
+ padding: 0;
+ border-spacing: 0;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-ref.xht
new file mode 100644
index 00000000000..6840ecfbb78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-009-ref.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: rotateX(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-010-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-010-notref.xht
new file mode 100644
index 00000000000..1b265f355ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-010-notref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div &gt; div {
+ display: table;
+ }
+ body &gt; div &gt; div &gt; div {
+ display: table-row;
+ }
+ body &gt; div &gt; div &gt; div &gt; div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-011-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-011-notref.xht
new file mode 100644
index 00000000000..9365e6673a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-table-011-notref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div &gt; div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-block-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-block-ref.xht
new file mode 100644
index 00000000000..5eca72638bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-block-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: inline-block;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-table-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-table-ref.xht
new file mode 100644
index 00000000000..b88b5751599
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-inline-table-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-list-item-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-list-item-ref.xht
new file mode 100644
index 00000000000..3f3833e34c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-list-item-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: list-item;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-caption-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-caption-ref.xht
new file mode 100644
index 00000000000..6b1fa95e931
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-caption-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-caption;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-cell-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-cell-ref.xht
new file mode 100644
index 00000000000..30b05bfdac1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-cell-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-footer-group-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-footer-group-ref.xht
new file mode 100644
index 00000000000..97794d153ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-footer-group-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-footer-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-header-group-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-header-group-ref.xht
new file mode 100644
index 00000000000..dcdba846c11
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-header-group-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-header-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-ref.xht
new file mode 100644
index 00000000000..fde42a55db9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-group-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-group-ref.xht
new file mode 100644
index 00000000000..b3dc7f6bf87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-group-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-row-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-ref.xht
new file mode 100644
index 00000000000..f4c97e7f2dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-transformable-table-row-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-row;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translate-ref.xht
new file mode 100644
index 00000000000..ffecdc3c990
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translate-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="position: relative; left: 50px; top: 50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatex-ref.xht
new file mode 100644
index 00000000000..9ad6ad97ff9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatex-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="position:relative; left:50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatey-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatey-ref.xht
new file mode 100644
index 00000000000..2ca3144b0d0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform-translatey-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="position:relative; top:50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-001-ref.xht
new file mode 100644
index 00000000000..972378ddf0f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-001-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: matrix(1,2,3,4,5,6); width: 100px; height: 100px;
+ background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-002-ref.xht
new file mode 100644
index 00000000000..8768493ca94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-002-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: translate3d(4px,5px,6px) scale3d(1,2,3);
+ width: 100px; height: 100px; background: lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-003-ref.xht
new file mode 100644
index 00000000000..699e0c38627
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-003-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: perspective(200px) rotatey(-45deg) scalex(1.41421356);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-004-ref.xht
new file mode 100644
index 00000000000..fd0a7e7aeed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-004-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: perspective(200px) rotatex(45deg) scaley(1.41421356);
+ transform-origin: bottom"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-005-ref.xht
new file mode 100644
index 00000000000..ad0f32a807a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-matrix3d-005-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="padding: 25px">
+ <div style="height: 50px; width: 50px; background: gold"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-001-ref.xht
new file mode 100644
index 00000000000..52f5e3c2562
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-001-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-009-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-009-ref.xht
new file mode 100644
index 00000000000..bbf31981b2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-009-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body style="width: 400px">
+ <div style="perspective: 1000px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-origin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-origin-ref.xht
new file mode 100644
index 00000000000..608c686ab65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-perspective-origin-ref.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: top left;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-001-ref.xht
new file mode 100644
index 00000000000..a1a0fd5257d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-001-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatex(180deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-013-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-013-ref.xht
new file mode 100644
index 00000000000..efccb2974de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-preserve3d-013-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <!-- sqrt(2) == 0.70710678; 200/sqrt(2) == 141.421356.
+ 'transform' is needed on the outer div so the scrollbars are shrunk
+ appropriately. -->
+ </head>
+ <body>
+ <div style="overflow: scroll; transform: scaley(0.70710678);
+ transform-origin: top">
+ <div style="height: 200px">
+ <div style="height: 141.421356px; width: 100px; background: lime">
+ </div>
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-notref.xht
new file mode 100644
index 00000000000..0187deb04d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-notref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-ref.xht
new file mode 100644
index 00000000000..b0e825ddb78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-perspective-ref.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+
+ perspective: 500px;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+
+ transform: rotateY(40deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-ref.xht
new file mode 100644
index 00000000000..18ad775c1d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-transformorigin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-transformorigin-ref.xht
new file mode 100644
index 00000000000..18668709354
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatex-transformorigin-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); transform-origin: top right;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatey-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatey-ref.xht
new file mode 100644
index 00000000000..64b5d6d6a3f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-rotatey-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-notref.xht
new file mode 100644
index 00000000000..19e11bb295e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-notref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-ref.xht
new file mode 100644
index 00000000000..e222a6012cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-001-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: scaleX(2) scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-005-ref.xht
new file mode 100644
index 00000000000..01e5febe584
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-005-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-007-ref.xht
new file mode 100644
index 00000000000..de0b485ae19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-scale-007-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: scaleY(-1); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-sorting-006-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-sorting-006-ref.xht
new file mode 100644
index 00000000000..ce2abddd70f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-sorting-006-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <!--
+ In a correct implementation, the bottom borders here will be invisible, because
+ the later divs get painted on top. This is to catch an incorrect pass in
+ Safari on Windows, which draws the test file and the ref with the same error
+ (painting the back halves on top) and so passes if the back halves are solid
+ red and green.
+ -->
+ </head>
+ <body>
+ <div style="height: 70px; width: 50px; background: red;
+ border-bottom: 30px solid black;
+ transform: rotateX(45deg) rotateY(45deg);
+ transform-origin: right"></div>
+ <div style="height: 70px; width: 50px; background: green;
+ border-bottom: 30px solid black;
+ transform: translate(50px, -100px) rotateX(45deg) rotateY(-45deg);
+ transform-origin: left"></div>
+ <div style="height: 100px; width: 50px; background: red;
+ transform: translate(50px, -200px) rotateX(45deg) rotateY(45deg);
+ transform-origin: left"></div>
+ <div style="height: 100px; width: 50px; background: green;
+ transform: translateY(-300px) rotateX(45deg) rotateY(-45deg);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translate3d-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translate3d-ref.xht
new file mode 100644
index 00000000000..6e27b70c408
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translate3d-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="transform: rotatex(45deg); transform-origin: 10px 30px -10px;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-notref.xht
new file mode 100644
index 00000000000..736115b4aba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-notref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: translatez(-20px) rotatex(45deg) translatez(20px); transform-origin: 0 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-ref.xht
new file mode 100644
index 00000000000..713b75faa51
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transform3d-translatez-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: 0 0 -10px; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-degree-90-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-degree-90-ref.xht
new file mode 100644
index 00000000000..143af58a7c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-degree-90-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .greenRectangle {
+ position: absolute;
+ top: 75px;
+ left: 125px;
+ width: 100px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="greenRectangle"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-translate-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-translate-scale-ref.xht
new file mode 100644
index 00000000000..b5f5196a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotate-translate-scale-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and rotate function with one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotateY-degree-60-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotateY-degree-60-ref.xht
new file mode 100644
index 00000000000..0a81caea1a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-rotateY-degree-60-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <style>
+ div {
+ background-color: green;
+ position: absolute;
+ top: 100px;
+ width: 25px;
+ height: 100px;
+ }
+
+ #left {
+ left: 100px;
+ }
+
+ #right {
+ left: 175px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green rectangles.</p>
+ <div id="left"></div>
+ <div id="right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewX-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewX-ref.xht
new file mode 100644
index 00000000000..d9d6150610b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewX-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for X axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .triangle-topright {
+ position: absolute;
+ width: 0;
+ height: 0;
+ top: 50px;
+ left: 50px;
+ border-top: 100px solid green;
+ border-left: 100px solid transparent;
+ }
+
+ .triangle-bottomleft {
+ position: absolute;
+ width: 0;
+ height: 0;
+ top: 50px;
+ left: 150px;
+ border-bottom: 100px solid green;
+ border-right: 100px solid transparent;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a parallelogram and no red.</p>
+ <div class="triangle-topright"></div>
+ <div class="triangle-bottomleft"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewY-ref.xht
new file mode 100644
index 00000000000..5b36cfbe93d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transforms-skewY-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for Y axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .triangle-bottomleft {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 0;
+ height: 0;
+ border-bottom: 100px solid green;
+ border-right: 100px solid transparent;
+ }
+ .triangle-topright {
+ position: absolute;
+ top: 150px;
+ left: 100px;
+ width: 0;
+ height: 0;
+ border-top: 100px solid green;
+ border-left: 100px solid transparent;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green parallelogram and no red.</p>
+ <div class="triangle-topright"></div>
+ <div class="triangle-bottomleft"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-optional-second-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-optional-second-ref.xht
new file mode 100644
index 00000000000..54125c652f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-optional-second-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-ref.xht
new file mode 100644
index 00000000000..d999b91e8fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/translate-ref.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ border: 1px solid gray;
+ width: 300px;
+ height: 300px;
+ }
+
+ .inner {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+
+ position: relative;
+ left:100px;
+ top:100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only one green area, no red area.</p>
+ <div class="container">
+ <div class="inner">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-preserve-3d-1-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-preserve-3d-1-ref.xht
new file mode 100644
index 00000000000..7e2d3d2a723
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-preserve-3d-1-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform preserve-3d</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateX-3-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateX-3-ref.xht
new file mode 100644
index 00000000000..99abf389d22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateX-3-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateX</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateY-1-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateY-1-ref.xht
new file mode 100644
index 00000000000..210100b4b69
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/transofrmed-rotateY-1-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateY</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ border: 1px solid black;
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-css-3d-polygon-cycle-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-css-3d-polygon-cycle-ref.xht
new file mode 100644
index 00000000000..da0c21c3bd3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-css-3d-polygon-cycle-ref.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red0 {
+ background-color: red;
+ left: 6px;
+ width: 100px;
+ height: 50px;
+ }
+ #green0 {
+ background-color: green;
+ top: 6px;
+ width: 50px;
+ height: 100px;
+ }
+ #blue0 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ transform: translate(40px, 81px) rotate(45deg);
+ }
+ #red1 {
+ background-color: red;
+ width: 100px;
+ height: 50px;
+ transform: translate(94px, 0px);
+ }
+ #green1 {
+ background-color: green;
+ width: 50px;
+ height: 100px;
+ transform: translate(0px, 94px);
+ }
+ #blue1 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ transform: translate(102px, 19px) rotate(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="blue0" class="rect"></div>
+ <div id="green0" class="rect"></div>
+ <div id="red0" class="rect"></div>
+ <div id="red1" class="rect"></div>
+ <div id="green1" class="rect"></div>
+ <div id="blue1" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-rotate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-rotate-ref.xht
new file mode 100644
index 00000000000..3489f26c041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-rotate-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <style type="text/css">
+ body {margin:0}
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div class="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewx-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewx-001.xht
new file mode 100644
index 00000000000..a09c2ac0dfd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewx-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div class="greenSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="100px" width="200px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="200,100 100,100 0,0 100,0 " fill="green"></polygon>
+ </svg>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewy-001.xht
new file mode 100644
index 00000000000..7d864657d23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-skewy-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div class="greenSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="200px" width="100px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 100 200" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="100,200 0,99.999 0,0 100,100 " fill="green"></polygon>
+ </svg>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatex-001.xht
new file mode 100644
index 00000000000..c4f289423ec
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatex-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 1000px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatey-001.xht
new file mode 100644
index 00000000000..d8e18a60298
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reference/ttwf-reftest-transform-translatey-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 200px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest-toc.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest-toc.xht
new file mode 100644
index 00000000000..569cf42350d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest-toc.xht
@@ -0,0 +1,8289 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite Reftest Index</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite Reftest Index</h1>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="ref-column"></col>
+ <col id="flags-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th>Reference</th>
+ <th>Flags</th>
+ </tr>
+ </thead>
+ <tbody id="2d-rotate-001" class="css3, rotate, svg">
+ <tr>
+ <td rowspan="1" title="CSS Transform using 2d rotate()">
+ <a href="2d-rotate-001.xht">2d-rotate-001</a></td>
+ <td><a href="reference/2d-rotate-ref.xht">=</a> <a href="reference/2d-rotate-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="animations-001" class="ahem animated">
+ <tr>
+ <td rowspan="1" title="CSS Regions: animating content flowed into a region">
+ <a href="animations-001.xht">animations-001</a></td>
+ <td><a href="reference/animations-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="animated" title="Animated test">Animated</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="backface-visibility-hidden-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with backface visibility = hidden">
+ <a href="backface-visibility-hidden-001.xht">backface-visibility-hidden-001</a></td>
+ <td><a href="reference/backface-visibility-hidden-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="canvas3d-001" class="dom">
+ <tr>
+ <td rowspan="1" title="CSS Regions: rendering 3D canvas elements inside regions">
+ <a href="canvas3d-001.xht">canvas3d-001</a></td>
+ <td><a href="reference/canvas3d-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="canvas3d-002" class="dom">
+ <tr>
+ <td rowspan="1" title="CSS Regions: rendering text flowed in a region on top of 3D content">
+ <a href="canvas3d-002.xht">canvas3d-002</a></td>
+ <td><a href="reference/canvas3d-002-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="css-rotate-2d-3d-001" class="">
+ <tr>
+ <td rowspan="1" title="2D rotation with 3D rotation">
+ <a href="css-rotate-2d-3d-001.xht">css-rotate-2d-3d-001</a></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-scale-nested-001" class="">
+ <tr>
+ <td rowspan="1" title="scale 0 on a parent with a child">
+ <a href="css-scale-nested-001.xht">css-scale-nested-001</a></td>
+ <td><a href="reference/css-scale-nested-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-skew-001" class="">
+ <tr>
+ <td rowspan="1" title="skew function part 1">
+ <a href="css-skew-001.xht">css-skew-001</a></td>
+ <td><a href="reference/css-skew-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-skew-002" class="">
+ <tr>
+ <td rowspan="1" title="skew function part 2">
+ <a href="css-skew-002.xht">css-skew-002</a></td>
+ <td><a href="reference/css-skew-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-x-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-X-negative.xht">css-transform-3d-rotate3d-x-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-x-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-X-positive.xht">css-transform-3d-rotate3d-x-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-y-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Y-negative.xht">css-transform-3d-rotate3d-y-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-y-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Y-positive.xht">css-transform-3d-rotate3d-y-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-z-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Z-negative.xht">css-transform-3d-rotate3d-z-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-z-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Z-positive.xht">css-transform-3d-rotate3d-z-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatex-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotateX on div element">
+ <a href="css-transform-3d-rotateX-negative.xht">css-transform-3d-rotatex-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatex-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotateX on div element">
+ <a href="css-transform-3d-rotateX-positive.xht">css-transform-3d-rotatex-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatey-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotateY on div element">
+ <a href="css-transform-3d-rotateY-negative.xht">css-transform-3d-rotatey-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatey-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotateY on div element">
+ <a href="css-transform-3d-rotateY-positive.xht">css-transform-3d-rotatey-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatez-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotateZ-negative.xht">css-transform-3d-rotatez-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatez-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotateZ-positive.xht">css-transform-3d-rotatez-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-transform-style" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with transform-style on nested elements">
+ <a href="css-transform-3d-transform-style.xht">css-transform-3d-transform-style</a></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function on hover state">
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and move its origin">
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transforms-3d-on-anonymous-block-001" class="">
+ <tr>
+ <td rowspan="1" title="No 3D transforms on anonymous block boxes">
+ <a href="css-transforms-3d-on-anonymous-block-001.xht">css-transforms-3d-on-anonymous-block-001</a></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transforms-transformlist" class="">
+ <tr>
+ <td rowspan="1" title="SVG transform in baseVal list">
+ <a href="css-transforms-transformlist.xht">css-transforms-transformlist</a></td>
+ <td><a href="reference/css-transforms-transformlist-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-perspective" class="">
+ <tr>
+ <td rowspan="1" title="rotateX 90 degrees with perspective make it invisible">
+ <a href="css3-transform-perspective.xht">css3-transform-perspective</a></td>
+ <td><a href="reference/css3-transform-perspective-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-rotatey" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotateY function">
+ <a href="css3-transform-rotateY.xht">css3-transform-rotatey</a></td>
+ <td><a href="reference/css3-transform-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-scale" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function">
+ <a href="css3-transform-scale.xht">css3-transform-scale</a></td>
+ <td><a href="reference/css3-transform-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function">
+ <a href="css3-transform-scale-002.xht">css3-transform-scale-002</a></td>
+ <td><a href="reference/css3-transform-scale-ref-002.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="iframe-001" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: flowing an iframe that loads content with 3D transform">
+ <a href="iframe-001.xht">iframe-001</a></td>
+ <td><a href="reference/iframe-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 0px center('center' computes to '50%' in vertical position)">
+ <a href="perspective-origin-001.xht">perspective-origin-001</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - center 0px('center' computes to '50%' in horizontal position)">
+ <a href="perspective-origin-002.xht">perspective-origin-002</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-003" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)">
+ <a href="perspective-origin-003.xht">perspective-origin-003</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-004" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 50% top('top' computes to '0%' in vertical position)">
+ <a href="perspective-origin-004.xht">perspective-origin-004</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-005" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - left 50%('left' computes to '0%' in horizontal position)">
+ <a href="perspective-origin-005.xht">perspective-origin-005</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-006" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - right 50%('right' computes to '100%' in horizontal position)">
+ <a href="perspective-origin-006.xht">perspective-origin-006</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-x" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-xy" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-origin-xy.xht">perspective-origin-xy</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-0" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-0.xht">perspective-translatez-0</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-negative" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-negative.xht">perspective-translatez-negative</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-positive" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-positive.xht">perspective-translatez-positive</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (non-text) content">
+ <a href="regions-transforms-001.xht">regions-transforms-001</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-002" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow content element that has a child">
+ <a href="regions-transforms-002.xht">regions-transforms-002</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-003" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Named flow content that has a transformed parent outside of the named flow">
+ <a href="regions-transforms-003.xht">regions-transforms-003</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-004" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region using a 3D transform">
+ <a href="regions-transforms-004.xht">regions-transforms-004</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-005" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region">
+ <a href="regions-transforms-005.xht">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-006" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on region with named flow (text) content that overflows">
+ <a href="regions-transforms-006.xht">regions-transforms-006</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-007" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on both the named flow content and the region">
+ <a href="regions-transforms-007.xht">regions-transforms-007</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-008" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows">
+ <a href="regions-transforms-008.xht">regions-transforms-008</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-009" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows">
+ <a href="regions-transforms-009.xht">regions-transforms-009</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-010" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with position: relative">
+ <a href="regions-transforms-010.xht">regions-transforms-010</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-011" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region where parent and child are separate named flow content nodes">
+ <a href="regions-transforms-011.xht">regions-transforms-011</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-012" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow content flowing into transformed region">
+ <a href="regions-transforms-012.xht">regions-transforms-012</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-013" class="">
+ <tr>
+ <td rowspan="2" title="CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions">
+ <a href="regions-transforms-013.xht">regions-transforms-013</a></td>
+ <td><a href="reference/regions-transforms-013-alt-ref.xht">=</a> </td>
+ <td rowspan="2"></td>
+ </tr>
+ <tr>
+ <td><a href="reference/regions-transforms-013-alt-ref.xht">=</a></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-014" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transform region with position:absolute and transform-origin">
+ <a href="regions-transforms-014.xht">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-015" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute">
+ <a href="regions-transforms-015.xht">regions-transforms-015</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-016" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow content with perspective()">
+ <a href="regions-transforms-016.xht">regions-transforms-016</a></td>
+ <td><a href="reference/regions-transforms-016-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-017" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Multiple transformed named flow content nodes that overflow a region">
+ <a href="regions-transforms-017.xht">regions-transforms-017</a></td>
+ <td><a href="reference/regions-transforms-017-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-018" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow (text) content that overflows a region">
+ <a href="regions-transforms-018.xht">regions-transforms-018</a></td>
+ <td><a href="reference/regions-transforms-018-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-019" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow (text) content with perspective property set on region">
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-020" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions">
+ <a href="regions-transforms-020.xht">regions-transforms-020</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-021" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions">
+ <a href="regions-transforms-021.xht">regions-transforms-021</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-022" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions">
+ <a href="regions-transforms-022.xht">regions-transforms-022</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="rotate_45deg.xht">rotate_45deg</a></td>
+ <td><a href="reference/rotate_45deg-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_x_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateX with perspective produces a trapezoid">
+ <a href="rotate_x_45deg.xht">rotate_x_45deg</a></td>
+ <td><a href="reference/rotate_x_45deg-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_y_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="rotate_y_45deg.xht">rotate_y_45deg</a></td>
+ <td><a href="reference/rotate_y_45deg-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotatey" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotateY">
+ <a href="rotateY.xht">rotatey</a></td>
+ <td><a href="reference/rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scale-optional-second-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and one parameter">
+ <a href="scale-optional-second-001.xht">scale-optional-second-001</a></td>
+ <td><a href="reference/scale-optional-second-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scale-zero-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and zero values">
+ <a href="scale-zero-001.xht">scale-zero-001</a></td>
+ <td><a href="reference/scale-zero-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scalex" class="">
+ <tr>
+ <td rowspan="1" title="test scale x">
+ <a href="scalex.xht">scalex</a></td>
+ <td><a href="reference/scalex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scaley" class="">
+ <tr>
+ <td rowspan="1" title="test scale y">
+ <a href="scaley.xht">scaley</a></td>
+ <td><a href="reference/scaley-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="skew-test1" class="svg">
+ <tr>
+ <td rowspan="1" title="Testing 1 - skew()">
+ <a href="skew-test1.xht">skew-test1</a></td>
+ <td><a href="reference/skew-test1-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-document-styles-001.xht">svg-document-styles-001</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-document-styles-002.xht">svg-document-styles-002</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-document-styles-003.xht">svg-document-styles-003</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-document-styles-004.xht">svg-document-styles-004</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid document transform style">
+ <a href="svg-document-styles-005.xht">svg-document-styles-005</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group">
+ <a href="svg-document-styles-006.xht">svg-document-styles-006</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-document-styles-007.xht">svg-document-styles-007</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document and presentation attribute styles on an SVG element">
+ <a href="svg-document-styles-008.xht">svg-document-styles-008</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-document-styles-009.xht">svg-document-styles-009</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-document-styles-010.xht">svg-document-styles-010</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-document-styles-011.xht">svg-document-styles-011</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="Document style of rotate with three arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style">
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document and presentation attribute styles on an SVG element using rotate with three arguments">
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-external-styles-001.xht">svg-external-styles-001</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-external-styles-002.xht">svg-external-styles-002</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-external-styles-003.xht">svg-external-styles-003</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-external-styles-004.xht">svg-external-styles-004</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid external transform style">
+ <a href="svg-external-styles-005.xht">svg-external-styles-005</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group">
+ <a href="svg-external-styles-006.xht">svg-external-styles-006</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-external-styles-007.xht">svg-external-styles-007</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external and presentation attribute styles on an SVG element">
+ <a href="svg-external-styles-008.xht">svg-external-styles-008</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-external-styles-009.xht">svg-external-styles-009</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-external-styles-010.xht">svg-external-styles-010</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-external-styles-011.xht">svg-external-styles-011</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="External style of rotate with three arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style">
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external and presentation attribute styles on an SVG element">
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG transform presentation attribute on the gradient element - has no effect">
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute with translateX applied twice">
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units">
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect">
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect">
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect">
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-inline-styles-001.xht">svg-inline-styles-001</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-inline-styles-002.xht">svg-inline-styles-002</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-inline-styles-003.xht">svg-inline-styles-003</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-inline-styles-004.xht">svg-inline-styles-004</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid inline transform style">
+ <a href="svg-inline-styles-005.xht">svg-inline-styles-005</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group">
+ <a href="svg-inline-styles-006.xht">svg-inline-styles-006</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-inline-styles-007.xht">svg-inline-styles-007</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline and presentation attribute styles on an SVG element">
+ <a href="svg-inline-styles-008.xht">svg-inline-styles-008</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-inline-styles-009.xht">svg-inline-styles-009</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-inline-styles-010.xht">svg-inline-styles-010</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-inline-styles-011.xht">svg-inline-styles-011</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style">
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments">
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0">
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0">
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0">
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0">
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0">
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0">
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100">
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100">
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0">
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100">
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0">
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100">
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0">
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0">
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100">
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100">
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100">
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100">
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0">
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100">
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0">
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100">
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0">
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0">
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0">
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100">
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100">
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100">
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1">
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100">
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100">
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-032" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0">
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1">
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0">
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100">
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0">
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0">
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50">
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100">
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-040" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50">
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0">
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50">
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0">
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0">
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150">
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0">
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100">
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-048" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200">
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas and no spaces">
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-050" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma">
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-051" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma">
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-052" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma">
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-053" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma">
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-054" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma">
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-055" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma">
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-056" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by multiple spaces">
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-057" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas">
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-058" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'a' value">
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-059" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'b' value">
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-060" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'c' value">
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-061" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'd' value">
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-062" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'e' value">
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-063" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'f' value">
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-064" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'a' value with another transform function">
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-065" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'b' value with another transform function">
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-066" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'c' value with another transform function">
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-067" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'd' value with another transform function">
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-068" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'e' value with another transform function">
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-069" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'f' value with another transform function">
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - default value">
+ <a href="svg-origin-length-001.xht">svg-origin-length-001</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 0">
+ <a href="svg-origin-length-002.xht">svg-origin-length-002</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 100px 0">
+ <a href="svg-origin-length-003.xht">svg-origin-length-003</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 100px">
+ <a href="svg-origin-length-004.xht">svg-origin-length-004</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 50px 50px">
+ <a href="svg-origin-length-005.xht">svg-origin-length-005</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 100px 0">
+ <a href="svg-origin-length-006.xht">svg-origin-length-006</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 100">
+ <a href="svg-origin-length-007.xht">svg-origin-length-007</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 50 50">
+ <a href="svg-origin-length-008.xht">svg-origin-length-008</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in cm - default value">
+ <a href="svg-origin-length-cm-001.xht">svg-origin-length-cm-001</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in cm - 0 0">
+ <a href="svg-origin-length-cm-002.xht">svg-origin-length-cm-002</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 2cm 0">
+ <a href="svg-origin-length-cm-003.xht">svg-origin-length-cm-003</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 2cm">
+ <a href="svg-origin-length-cm-004.xht">svg-origin-length-cm-004</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 1cm 1cm">
+ <a href="svg-origin-length-cm-005.xht">svg-origin-length-cm-005</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in inch - default value">
+ <a href="svg-origin-length-in-001.xht">svg-origin-length-in-001</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in inch - 0 0">
+ <a href="svg-origin-length-in-002.xht">svg-origin-length-in-002</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 1.5in 0">
+ <a href="svg-origin-length-in-003.xht">svg-origin-length-in-003</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 1.5in">
+ <a href="svg-origin-length-in-004.xht">svg-origin-length-in-004</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0.75in 0.75in">
+ <a href="svg-origin-length-in-005.xht">svg-origin-length-in-005</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in pt - default value">
+ <a href="svg-origin-length-pt-001.xht">svg-origin-length-pt-001</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in pt - 0 0">
+ <a href="svg-origin-length-pt-002.xht">svg-origin-length-pt-002</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 80pt 0">
+ <a href="svg-origin-length-pt-003.xht">svg-origin-length-pt-003</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 80pt">
+ <a href="svg-origin-length-pt-004.xht">svg-origin-length-pt-004</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 40pt 40pt">
+ <a href="svg-origin-length-pt-005.xht">svg-origin-length-pt-005</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value absolute value and missing second argument">
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value 'center' value and missing second argument">
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value '50%' value and missing second argument">
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% 50%'">
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% center'">
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 50%'">
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center center'">
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '75 center'">
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '75 50%'">
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 75'">
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% 75'">
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0'">
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '150'">
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '100%'">
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right'">
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left'">
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '25%'">
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top'">
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom'">
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0% 0%'">
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top right'">
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top left'">
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top center'">
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom left'">
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom center'">
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom right'">
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right top'">
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right center'">
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right bottom'">
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 75'">
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 0%'">
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-032" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 100%'">
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left top'">
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left center'">
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left bottom'">
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 75'">
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 0%'">
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 100%'">
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center top'">
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-040" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center bottom'">
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center left'">
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center right'">
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 100%'">
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0 center'">
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 0%'">
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 0'">
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top 100%'">
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'">
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top 150'">
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom 150'">
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top top'">
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'">
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top bottom'">
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom top'">
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'left left'">
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'left right'">
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'right right'">
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'right left'">
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG transform presentation attribute on the pattern element - not supported">
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied twice">
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units">
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX">
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX">
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect">
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and pixel on translate">
+ <a href="svg-rotate-3args-001.xht">svg-rotate-3args-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments without units on rotate or translate values">
+ <a href="svg-rotate-3args-002.xht">svg-rotate-3args-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with grad on rotate and pt on translate">
+ <a href="svg-rotate-3args-003.xht">svg-rotate-3args-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with turn on rotate and pc on translate">
+ <a href="svg-rotate-3args-004.xht">svg-rotate-3args-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with rad on rotate and mm on translate">
+ <a href="svg-rotate-3args-005.xht">svg-rotate-3args-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative rotate">
+ <a href="svg-rotate-3args-006.xht">svg-rotate-3args-006</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative translateX">
+ <a href="svg-rotate-3args-007.xht">svg-rotate-3args-007</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative translateY">
+ <a href="svg-rotate-3args-008.xht">svg-rotate-3args-008</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with scientific numbers on degree angles">
+ <a href="svg-rotate-3args-009.xht">svg-rotate-3args-009</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with pixel units in scientific notation on translate">
+ <a href="svg-rotate-3args-010.xht">svg-rotate-3args-010</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and percentage units on translate">
+ <a href="svg-rotate-3args-011.xht">svg-rotate-3args-011</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and negative percentage units on translate">
+ <a href="svg-rotate-3args-012.xht">svg-rotate-3args-012</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with space delimited arguments">
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments">
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments with a space after the comma">
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas">
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with length values - 40px 40px">
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument">
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument">
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'">
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values">
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values">
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values">
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with one absolute translation-value argument">
+ <a href="svg-rotate-3args-invalid-001.xht">svg-rotate-3args-invalid-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with no translation-value arguments and a comma">
+ <a href="svg-rotate-3args-invalid-002.xht">svg-rotate-3args-invalid-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments, with a third absolute translation-value argument">
+ <a href="svg-rotate-3args-invalid-003.xht">svg-rotate-3args-invalid-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with one relative translation-value argument">
+ <a href="svg-rotate-3args-invalid-004.xht">svg-rotate-3args-invalid-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments, with a third relative translation-value argument">
+ <a href="svg-rotate-3args-invalid-005.xht">svg-rotate-3args-invalid-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on rotate">
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on rotate">
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on rotate">
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on rotate">
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on rotate">
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative, unit less turn">
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative degrees">
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative gradians">
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative radians">
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative turns">
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with unit less angle">
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in degree">
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in gradian">
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in radian">
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in turn">
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on unit less angles">
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on degree angles">
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on gradian angles">
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on radian angles">
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and with scientific numbers on turns">
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on rotate">
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on rotate">
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on rotate">
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on rotate">
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on rotate">
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative, unit less turn">
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative degrees">
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative gradians">
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative radians">
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative turns">
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with unit less angle">
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in degree">
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in gradian">
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in radian">
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in turn">
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on unit less angles">
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on degree angles">
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on gradian angles">
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on radian angles">
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on turns">
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 with only one parameter specified">
+ <a href="svg-scale-001.xht">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 1.5 with only one parameter specified">
+ <a href="svg-scale-002.xht">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 2 with only one parameter specified">
+ <a href="svg-scale-003.xht">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace">
+ <a href="svg-scale-004.xht">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale with percent values - not supported">
+ <a href="svg-scale-005.xht">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 0.5 and vertically 1.5">
+ <a href="svg-scale-006.xht">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 1.5 and vertically 0.5">
+ <a href="svg-scale-007.xht">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 on the g element">
+ <a href="svg-scale-008.xht">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element">
+ <a href="svg-scale-009.xht">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 with only one parameter specified">
+ <a href="svg-scale-010.xht">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -2 with only one parameter specified">
+ <a href="svg-scale-011.xht">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace">
+ <a href="svg-scale-012.xht">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -0.5 and vertically -1.5">
+ <a href="svg-scale-013.xht">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -1.5 and vertically -0.5">
+ <a href="svg-scale-014.xht">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -0.5 and vertically 1.5">
+ <a href="svg-scale-015.xht">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 1.5 and vertically -0.5">
+ <a href="svg-scale-016.xht">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 on the g element">
+ <a href="svg-scale-017.xht">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX 0.5">
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX 1.5">
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX with percent argument - not supported">
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX -0.5">
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX -1.5">
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY 0.5">
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY 1.5">
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY with percent argument - not supported">
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and and scaleY -0.5">
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY -1.5">
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on skewX">
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on skewX">
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on skewX">
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on skewX">
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on skewX">
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative, unit less turn">
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative degrees">
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative gradians">
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative radians">
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative turns">
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with unit less angle">
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in degree">
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in gradian">
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in radian">
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in turn">
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on unit less angles">
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on unit less angles">
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on gradian angles">
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on radian angles">
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on turns">
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewxy-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with skewX and skewY">
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewxy-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with skewX and skewY with different units">
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on skewY">
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on skewY">
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on skewY">
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on skewY">
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on skewY">
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative, unit less turn">
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative degrees">
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative gradians">
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative radians">
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative turns">
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with unit less angle">
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in degree">
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in gradian">
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in radian">
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in turn">
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on unit less angles">
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on unit less angles">
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on gradian angles">
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on radian angles">
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on turns">
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate on group">
+ <a href="svg-transform-group-001.xht">svg-transform-group-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX on group">
+ <a href="svg-transform-group-002.xht">svg-transform-group-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY on group">
+ <a href="svg-transform-group-003.xht">svg-transform-group-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale on group">
+ <a href="svg-transform-group-004.xht">svg-transform-group-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX on group">
+ <a href="svg-transform-group-005.xht">svg-transform-group-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY on group">
+ <a href="svg-transform-group-006.xht">svg-transform-group-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate on group">
+ <a href="svg-transform-group-007.xht">svg-transform-group-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX on group">
+ <a href="svg-transform-group-008.xht">svg-transform-group-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY on group">
+ <a href="svg-transform-group-009.xht">svg-transform-group-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix on group">
+ <a href="svg-transform-group-010.xht">svg-transform-group-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with three arguments on group">
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-001" class="svg">
+ <tr>
+ <td rowspan="1" title="No separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma + no whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma + whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma, whitespace, and no separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Multiple spaces between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Multiple spaces before and after transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute">
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute">
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by newlines on SVG presentation attribute">
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas and newlines on SVG presentation attribute">
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate on group, translate on child">
+ <a href="svg-transform-nested-001.xht">svg-transform-nested-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, translateX on child">
+ <a href="svg-transform-nested-002.xht">svg-transform-nested-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, translateY on child">
+ <a href="svg-transform-nested-003.xht">svg-transform-nested-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, scale on child">
+ <a href="svg-transform-nested-004.xht">svg-transform-nested-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, scaleX on child">
+ <a href="svg-transform-nested-005.xht">svg-transform-nested-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, scaleY on child">
+ <a href="svg-transform-nested-006.xht">svg-transform-nested-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, rotate on child">
+ <a href="svg-transform-nested-007.xht">svg-transform-nested-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewX on group, skewX on child">
+ <a href="svg-transform-nested-008.xht">svg-transform-nested-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewY on group, skewY on child">
+ <a href="svg-transform-nested-009.xht">svg-transform-nested-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, matrix on child">
+ <a href="svg-transform-nested-010.xht">svg-transform-nested-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translate on group, scale on child">
+ <a href="svg-transform-nested-011.xht">svg-transform-nested-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, scaleY on child">
+ <a href="svg-transform-nested-012.xht">svg-transform-nested-012</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, skewX on child">
+ <a href="svg-transform-nested-013.xht">svg-transform-nested-013</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, skewY on child">
+ <a href="svg-transform-nested-014.xht">svg-transform-nested-014</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, rotate on child">
+ <a href="svg-transform-nested-015.xht">svg-transform-nested-015</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, translateX on child">
+ <a href="svg-transform-nested-016.xht">svg-transform-nested-016</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, translateY on child">
+ <a href="svg-transform-nested-017.xht">svg-transform-nested-017</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewX on group, scaleX on child">
+ <a href="svg-transform-nested-018.xht">svg-transform-nested-018</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewY on group, translate on child">
+ <a href="svg-transform-nested-019.xht">svg-transform-nested-019</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, scaleX on child">
+ <a href="svg-transform-nested-020.xht">svg-transform-nested-020</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translate on group, scaleY on child1, rotate on child2">
+ <a href="svg-transform-nested-021.xht">svg-transform-nested-021</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2">
+ <a href="svg-transform-nested-022.xht">svg-transform-nested-022</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, translate on child1, scale on child2">
+ <a href="svg-transform-nested-023.xht">svg-transform-nested-023</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, translateX on child1, scaleX on child2">
+ <a href="svg-transform-nested-024.xht">svg-transform-nested-024</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, translateY on child1, scale on child2">
+ <a href="svg-transform-nested-025.xht">svg-transform-nested-025</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, translate on child1, rotate on child2">
+ <a href="svg-transform-nested-026.xht">svg-transform-nested-026</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2">
+ <a href="svg-transform-nested-027.xht">svg-transform-nested-027</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2">
+ <a href="svg-transform-nested-028.xht">svg-transform-nested-028</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, rotate with three arguments on child">
+ <a href="svg-transform-nested-029.xht">svg-transform-nested-029</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value arguments without unit">
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units on translate">
+ <a href="svg-translate-002.xht">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units on translate">
+ <a href="svg-translate-003.xht">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units on translate">
+ <a href="svg-translate-004.xht">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units on translate">
+ <a href="svg-translate-005.xht">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units on translate">
+ <a href="svg-translate-006.xht">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units on translate">
+ <a href="svg-translate-007.xht">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units on translate">
+ <a href="svg-translate-008.xht">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation">
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate">
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units in scientific notation on translate">
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate">
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate">
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate">
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate">
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units in scientific notation on translate">
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents">
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with negative translation-value arguments without unit">
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative pixel units on translate">
+ <a href="svg-translate-026.xht">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative point units on translate">
+ <a href="svg-translate-027.xht">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative pica units on translate">
+ <a href="svg-translate-028.xht">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative millimeter units on translate">
+ <a href="svg-translate-029.xht">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative centimeter units on translate">
+ <a href="svg-translate-030.xht">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative inch units on translate">
+ <a href="svg-translate-031.xht">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative em units on translate">
+ <a href="svg-translate-032.xht">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation">
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate">
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate">
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate">
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate">
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate">
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate">
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate">
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents">
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with one translation-value argument">
+ <a href="svg-translate-049.xht">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-050" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with one negative translation-value argument">
+ <a href="svg-translate-050.xht">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-051" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with no spaces">
+ <a href="svg-translate-051.xht">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-052" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with a space in between">
+ <a href="svg-translate-052.xht">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-053" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with arguments separated by multiple spaces">
+ <a href="svg-translate-053.xht">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-054" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma">
+ <a href="svg-translate-054.xht">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-055" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma">
+ <a href="svg-translate-055.xht">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less">
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px">
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm">
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt">
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px">
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm">
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units on translate">
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate">
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative ex units on translate">
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate">
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice">
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice in both directions">
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units">
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice in percentage units">
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with percentage units on translate">
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative percentage units on translate">
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %">
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px">
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %">
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less">
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less">
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %">
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied twice">
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units">
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied twice in percentage units">
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with percentage unit on translateX">
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative percentage unit on translateX">
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value argument without unit">
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit on translateY">
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit on translateY">
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit on translateY">
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit on translateY">
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit on translateY">
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit on translateY">
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit on translateY">
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation">
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY">
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY">
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY">
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY">
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY">
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with a negative translation-value argument without unit">
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pixel unit on translateY">
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative point unit on translateY">
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pica unit on translateY">
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative millimeter unit on translateY">
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative centimeter unit on translateY">
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative inch unit on translateY">
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative em unit on translateY">
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY">
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY">
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY">
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY">
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY">
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied twice">
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units">
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied twice in percentage units">
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied in both directions">
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit on translateY">
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY">
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative ex unit on translateY">
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY">
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with percentage unit on translateY">
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative percentage unit on translateY">
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-3d-rotatey-stair-above-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="transform-3d-rotateY-stair-above-001.xht">transform-3d-rotatey-stair-above-001</a></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-3d-rotatey-stair-below-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="transform-3d-rotateY-stair-below-001.xht">transform-3d-rotatey-stair-below-001</a></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-001" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (left/top)">
+ <a href="transform-abspos-001.xht">transform-abspos-001</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-002" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (left/top offsets)">
+ <a href="transform-abspos-002.xht">transform-abspos-002</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-003" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (right/bottom offsets)">
+ <a href="transform-abspos-003.xht">transform-abspos-003</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-004" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (bottom/right)">
+ <a href="transform-abspos-004.xht">transform-abspos-004</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-005" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (bottom/right)">
+ <a href="transform-abspos-005.xht">transform-abspos-005</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-006" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (table)">
+ <a href="transform-abspos-006.xht">transform-abspos-006</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-007" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (inline-table)">
+ <a href="transform-abspos-007.xht">transform-abspos-007</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-applies-to-001" class="">
+ <tr>
+ <td rowspan="1" title="transform applied to elements with 'display' set to 'block'">
+ <a href="transform-applies-to-001.xht">transform-applies-to-001</a></td>
+ <td><a href="reference/transform-applies-to-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-applies-to-002" class="ahem">
+ <tr>
+ <td rowspan="1" title="Transform does not apply to non-replaced inline elements">
+ <a href="transform-applies-to-002.xht">transform-applies-to-002</a></td>
+ <td><a href="reference/transform-applies-to-002-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (rotate right)">
+ <a href="transform-background-001.xht">transform-background-001</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (rotate left)">
+ <a href="transform-background-002.xht">transform-background-002</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (flip)">
+ <a href="transform-background-003.xht">transform-background-003</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (nested flip)">
+ <a href="transform-background-004.xht">transform-background-004</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (non-propagated body)">
+ <a href="transform-background-005.xht">transform-background-005</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (propagated body)">
+ <a href="transform-background-006.xht">transform-background-006</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> <a href="reference/transform-background-006-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (propagated body with root element transform)">
+ <a href="transform-background-007.xht">transform-background-007</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (root element background and transform)">
+ <a href="transform-background-008.xht">transform-background-008</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-compound-001" class="">
+ <tr>
+ <td rowspan="1" title="Compound Transforms">
+ <a href="transform-compound-001.xht">transform-compound-001</a></td>
+ <td><a href="reference/transform-compound-ref.xht">=</a> <a href="reference/transform-compound-notref-1.xht">&#x2260;</a> <a href="reference/transform-compound-notref-2.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-descendant-001" class="">
+ <tr>
+ <td rowspan="1" title="Transform Affects Descendant">
+ <a href="transform-descendant-001.xht">transform-descendant-001</a></td>
+ <td><a href="reference/transform-descendant-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-001" class="">
+ <tr>
+ <td rowspan="1" title="Inline-Block">
+ <a href="transform-display-001.xht">transform-display-001</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-002" class="">
+ <tr>
+ <td rowspan="1" title="Table">
+ <a href="transform-display-002.xht">transform-display-002</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-003" class="">
+ <tr>
+ <td rowspan="1" title="Inline-Table">
+ <a href="transform-display-003.xht">transform-display-003</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-004" class="">
+ <tr>
+ <td rowspan="1" title="List-Item">
+ <a href="transform-display-004.xht">transform-display-004</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background">
+ <a href="transform-fixed-bg-001.xht">transform-fixed-bg-001</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-002" class="dom svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with scrolling)">
+ <a href="transform-fixed-bg-002.xht">transform-fixed-bg-002</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with rotation)">
+ <a href="transform-fixed-bg-003.xht">transform-fixed-bg-003</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-004" class="dom svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with rotation and scrolling)">
+ <a href="transform-fixed-bg-004.xht">transform-fixed-bg-004</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (no-op transform)">
+ <a href="transform-fixed-bg-005.xht">transform-fixed-bg-005</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (transform of intermediate)">
+ <a href="transform-fixed-bg-006.xht">transform-fixed-bg-006</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (transform on root)">
+ <a href="transform-fixed-bg-007.xht">transform-fixed-bg-007</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-generated-001" class="">
+ <tr>
+ <td rowspan="1" title="Generated Content (block)">
+ <a href="transform-generated-001.xht">transform-generated-001</a></td>
+ <td><a href="reference/transform-generated-001-ref.xht">=</a> <a href="reference/transform-generated-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-generated-002" class="">
+ <tr>
+ <td rowspan="1" title="Generated Content (inline)">
+ <a href="transform-generated-002.xht">transform-generated-002</a></td>
+ <td><a href="reference/transform-generated-002-ref.xht">=</a> <a href="reference/transform-generated-002-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-iframe-001" class="">
+ <tr>
+ <td rowspan="1" title="Iframe">
+ <a href="transform-iframe-001.xht">transform-iframe-001</a></td>
+ <td><a href="reference/transform-iframe-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-image-001" class="">
+ <tr>
+ <td rowspan="1" title="Transformed &lt;img&gt;">
+ <a href="transform-image-001.xht">transform-image-001</a></td>
+ <td><a href="reference/transform-image-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-001" class="">
+ <tr>
+ <td rowspan="1" title="'inherit' and em">
+ <a href="transform-inherit-001.xht">transform-inherit-001</a></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-002" class="">
+ <tr>
+ <td rowspan="1" title="'inherit' and percentages">
+ <a href="transform-inherit-002.xht">transform-inherit-002</a></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="&quot;transform-origin: inherit&quot; and em">
+ <a href="transform-inherit-origin-001.xht">transform-inherit-origin-001</a></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="&quot;transform-origin: inherit&quot; and percentages">
+ <a href="transform-inherit-origin-002.xht">transform-inherit-origin-002</a></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inline-001" class="">
+ <tr>
+ <td rowspan="1" title="Transformed Inline">
+ <a href="transform-inline-001.xht">transform-inline-001</a></td>
+ <td><a href="reference/transform-inline-ref.xht">=</a> <a href="reference/transform-inline-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-001" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=text)">
+ <a href="transform-input-001.xht">transform-input-001</a></td>
+ <td><a href="reference/transform-input-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-002" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=file)">
+ <a href="transform-input-002.xht">transform-input-002</a></td>
+ <td><a href="reference/transform-input-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-003" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=search)">
+ <a href="transform-input-003.xht">transform-input-003</a></td>
+ <td><a href="reference/transform-input-003-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-004" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=tel)">
+ <a href="transform-input-004.xht">transform-input-004</a></td>
+ <td><a href="reference/transform-input-004-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-005" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=url)">
+ <a href="transform-input-005.xht">transform-input-005</a></td>
+ <td><a href="reference/transform-input-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-006" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=email)">
+ <a href="transform-input-006.xht">transform-input-006</a></td>
+ <td><a href="reference/transform-input-006-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-007" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=password)">
+ <a href="transform-input-007.xht">transform-input-007</a></td>
+ <td><a href="reference/transform-input-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-008" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=datetime)">
+ <a href="transform-input-008.xht">transform-input-008</a></td>
+ <td><a href="reference/transform-input-008-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-009" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=date)">
+ <a href="transform-input-009.xht">transform-input-009</a></td>
+ <td><a href="reference/transform-input-009-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-010" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=month)">
+ <a href="transform-input-010.xht">transform-input-010</a></td>
+ <td><a href="reference/transform-input-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-011" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=week)">
+ <a href="transform-input-011.xht">transform-input-011</a></td>
+ <td><a href="reference/transform-input-011-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-012" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=time)">
+ <a href="transform-input-012.xht">transform-input-012</a></td>
+ <td><a href="reference/transform-input-012-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-013" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=datetime-local)">
+ <a href="transform-input-013.xht">transform-input-013</a></td>
+ <td><a href="reference/transform-input-013-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-014" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=number)">
+ <a href="transform-input-014.xht">transform-input-014</a></td>
+ <td><a href="reference/transform-input-014-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-015" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=range)">
+ <a href="transform-input-015.xht">transform-input-015</a></td>
+ <td><a href="reference/transform-input-015-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-016" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=color)">
+ <a href="transform-input-016.xht">transform-input-016</a></td>
+ <td><a href="reference/transform-input-016-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-017" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=checkbox)">
+ <a href="transform-input-017.xht">transform-input-017</a></td>
+ <td><a href="reference/transform-input-017-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-018" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=radio)">
+ <a href="transform-input-018.xht">transform-input-018</a></td>
+ <td><a href="reference/transform-input-018-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-019" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=submit)">
+ <a href="transform-input-019.xht">transform-input-019</a></td>
+ <td><a href="reference/transform-input-019-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateX()">
+ <a href="transform-matrix-001.xht">transform-matrix-001</a></td>
+ <td><a href="reference/transform-matrix-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-002" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateY()">
+ <a href="transform-matrix-002.xht">transform-matrix-002</a></td>
+ <td><a href="reference/transform-matrix-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-003" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateX(%)">
+ <a href="transform-matrix-003.xht">transform-matrix-003</a></td>
+ <td><a href="reference/transform-matrix-003-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-004" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateY(%)">
+ <a href="transform-matrix-004.xht">transform-matrix-004</a></td>
+ <td><a href="reference/transform-matrix-004-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-005" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/skewX()">
+ <a href="transform-matrix-005.xht">transform-matrix-005</a></td>
+ <td><a href="reference/transform-matrix-005-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-006" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/skewY()">
+ <a href="transform-matrix-006.xht">transform-matrix-006</a></td>
+ <td><a href="reference/transform-matrix-006-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-007" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/scale()">
+ <a href="transform-matrix-007.xht">transform-matrix-007</a></td>
+ <td><a href="reference/transform-matrix-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-008" class="">
+ <tr>
+ <td rowspan="1" title="matrix() with non-numeric args">
+ <a href="transform-matrix-008.xht">transform-matrix-008</a></td>
+ <td><a href="reference/transform-matrix-008-ref.xht">=</a> <a href="reference/transform-matrix-008-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin">
+ <a href="transform-origin.xht">transform-origin</a></td>
+ <td><a href="reference/transform-origin-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="Default transform-origin not top left">
+ <a href="transform-origin-001.xht">transform-origin-001</a></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="Default transform-origin not center right">
+ <a href="transform-origin-002.xht">transform-origin-002</a></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-003" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 1">
+ <a href="transform-origin-003.xht">transform-origin-003</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-004" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 2">
+ <a href="transform-origin-004.xht">transform-origin-004</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-005" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 3">
+ <a href="transform-origin-005.xht">transform-origin-005</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-006" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 4">
+ <a href="transform-origin-006.xht">transform-origin-006</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-007" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)">
+ <a href="transform-origin-007.xht">transform-origin-007</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-008" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - center 0%('center' computes to '50%' in horizontal position)">
+ <a href="transform-origin-008.xht">transform-origin-008</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-009" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 0% center('center' computes to '50%' in vertical position)">
+ <a href="transform-origin-009.xht">transform-origin-009</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-01" class="">
+ <tr>
+ <td rowspan="1" title="SVG Transform using transform-origin">
+ <a href="transform-origin-01.xht">transform-origin-01</a></td>
+ <td><a href="reference/transform-origin-01-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-010" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - left 0%('left' computes to '0%' in horizontal position)">
+ <a href="transform-origin-010.xht">transform-origin-010</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-011" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - right 100%('right' computes to '100%' in horizontal position)">
+ <a href="transform-origin-011.xht">transform-origin-011</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-012" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 0% top('top' computes to '0%' in vertical position)">
+ <a href="transform-origin-012.xht">transform-origin-012</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-001" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top left">
+ <a href="transform-origin-name-001.xht">transform-origin-name-001</a></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-002" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: left top">
+ <a href="transform-origin-name-002.xht">transform-origin-name-002</a></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-003" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top">
+ <a href="transform-origin-name-003.xht">transform-origin-name-003</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-004" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top center">
+ <a href="transform-origin-name-004.xht">transform-origin-name-004</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-005" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: center top">
+ <a href="transform-origin-name-005.xht">transform-origin-name-005</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-006" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top right">
+ <a href="transform-origin-name-006.xht">transform-origin-name-006</a></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-007" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: right top">
+ <a href="transform-origin-name-007.xht">transform-origin-name-007</a></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-overflow-001" class="">
+ <tr>
+ <td rowspan="1" title="overflow: auto">
+ <a href="transform-overflow-001.xht">transform-overflow-001</a></td>
+ <td><a href="reference/transform-overflow-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-overflow-002" class="">
+ <tr>
+ <td rowspan="1" title="overflow: scroll">
+ <a href="transform-overflow-002.xht">transform-overflow-002</a></td>
+ <td><a href="reference/transform-overflow-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-001" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX)">
+ <a href="transform-percent-001.xht">transform-percent-001</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-002" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateY)">
+ <a href="transform-percent-002.xht">transform-percent-002</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-003" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translate)">
+ <a href="transform-percent-003.xht">transform-percent-003</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-004" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translateY)">
+ <a href="transform-percent-004.xht">transform-percent-004</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-005" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translateY and translate)">
+ <a href="transform-percent-005.xht">transform-percent-005</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-006" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translate)">
+ <a href="transform-percent-006.xht">transform-percent-006</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-007" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateY and translate)">
+ <a href="transform-percent-007.xht">transform-percent-007</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-008" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (border box)">
+ <a href="transform-percent-008.xht">transform-percent-008</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-propagate-inherit-boolean-001" class="">
+ <tr>
+ <td rowspan="1" title="em on Multiple Elements">
+ <a href="transform-propagate-inherit-boolean-001.xht">transform-propagate-inherit-boolean-001</a></td>
+ <td><a href="reference/transform-propagate-inherit-boolean-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) on Root Element With Background">
+ <a href="transform-root-bg-001.xht">transform-root-bg-001</a></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-002" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) on Root Element With Background On Body">
+ <a href="transform-root-bg-002.xht">transform-root-bg-002</a></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-003" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5) on Root Element With Background">
+ <a href="transform-root-bg-003.xht">transform-root-bg-003</a></td>
+ <td><a href="reference/transform-root-bg-003-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-004" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) On Body With Background">
+ <a href="transform-root-bg-004.xht">transform-root-bg-004</a></td>
+ <td><a href="reference/transform-root-bg-004-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-001" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(360deg)">
+ <a href="transform-rotate-001.xht">transform-rotate-001</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-002" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(400grad)">
+ <a href="transform-rotate-002.xht">transform-rotate-002</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-003" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)">
+ <a href="transform-rotate-003.xht">transform-rotate-003</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-004" class="">
+ <tr>
+ <td rowspan="1" title="rotate(-45deg) rotate(100grad)">
+ <a href="transform-rotate-004.xht">transform-rotate-004</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-005" class="">
+ <tr>
+ <td rowspan="1" title="rotate(-135deg) rotate(3.1415926535897932384626433rad)">
+ <a href="transform-rotate-005.xht">transform-rotate-005</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-006" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(1turn)">
+ <a href="transform-rotate-006.xht">transform-rotate-006</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-007" class="">
+ <tr>
+ <td rowspan="1" title="Rotated Simple Box">
+ <a href="transform-rotate-007.xht">transform-rotate-007</a></td>
+ <td><a href="reference/transform-rotate-007-ref.xht">=</a> <a href="reference/transform-rotate-007-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rounding-001" class="">
+ <tr>
+ <td rowspan="1" title="Rounding">
+ <a href="transform-rounding-001.xht">transform-rounding-001</a></td>
+ <td><a href="reference/transform-rounding-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5, 0.5)">
+ <a href="transform-scale-001.xht">transform-scale-001</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5)">
+ <a href="transform-scale-002.xht">transform-scale-002</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-percent-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(50%, 50%)">
+ <a href="transform-scale-percent-001.xht">transform-scale-percent-001</a></td>
+ <td><a href="reference/transform-scale-percent-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-test" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function.">
+ <a href="transform-scale-test.xht">transform-scale-test</a></td>
+ <td><a href="reference/transform-scale-test-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scalex-001" class="">
+ <tr>
+ <td rowspan="1" title="scaleX(0.5)">
+ <a href="transform-scalex-001.xht">transform-scalex-001</a></td>
+ <td><a href="reference/transform-scalex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scaley-001" class="">
+ <tr>
+ <td rowspan="1" title="scaleY(0.5)">
+ <a href="transform-scaley-001.xht">transform-scaley-001</a></td>
+ <td><a href="reference/transform-scaley-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-singular-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix(1, 1, 1, 1, 0, 0)">
+ <a href="transform-singular-001.xht">transform-singular-001</a></td>
+ <td><a href="reference/transform-singular-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-001" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, transform: scale(1)">
+ <a href="transform-stacking-001.xht">transform-stacking-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-002" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, transform: none">
+ <a href="transform-stacking-002.xht">transform-stacking-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-003" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, invalid transform value">
+ <a href="transform-stacking-003.xht">transform-stacking-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-004" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, inherited transform: none">
+ <a href="transform-stacking-004.xht">transform-stacking-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stresstest-001" class="">
+ <tr>
+ <td rowspan="1" title="Inversion Stress Test">
+ <a href="transform-stresstest-001.xht">transform-stresstest-001</a></td>
+ <td><a href="reference/transform-stresstest-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-001" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table">
+ <a href="transform-table-001.xht">transform-table-001</a></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-002" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Inline-Table">
+ <a href="transform-table-002.xht">transform-table-002</a></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-002-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-003" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table 2">
+ <a href="transform-table-003.xht">transform-table-003</a></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-004" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table with caption-side: bottom">
+ <a href="transform-table-004.xht">transform-table-004</a></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-004-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-005" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table with caption-side: bottom">
+ <a href="transform-table-005.xht">transform-table-005</a></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-005-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-006" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 1">
+ <a href="transform-table-006.xht">transform-table-006</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-007" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 2">
+ <a href="transform-table-007.xht">transform-table-007</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-008" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 3">
+ <a href="transform-table-008.xht">transform-table-008</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-009" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 1">
+ <a href="transform-table-009.xht">transform-table-009</a></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-009-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-010" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 2">
+ <a href="transform-table-010.xht">transform-table-010</a></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-010-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-011" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 3">
+ <a href="transform-table-011.xht">transform-table-011</a></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-011-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-inline-block" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Inline-Block">
+ <a href="transform-transformable-inline-block.xht">transform-transformable-inline-block</a></td>
+ <td><a href="reference/transform-transformable-inline-block-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-inline-table" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Inline-Table">
+ <a href="transform-transformable-inline-table.xht">transform-transformable-inline-table</a></td>
+ <td><a href="reference/transform-transformable-inline-table-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-list-item" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of List-Item">
+ <a href="transform-transformable-list-item.xht">transform-transformable-list-item</a></td>
+ <td><a href="reference/transform-transformable-list-item-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table">
+ <a href="transform-transformable-table.xht">transform-transformable-table</a></td>
+ <td><a href="reference/transform-transformable-table-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-caption" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Caption">
+ <a href="transform-transformable-table-caption.xht">transform-transformable-table-caption</a></td>
+ <td><a href="reference/transform-transformable-table-caption-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-cell" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Cell">
+ <a href="transform-transformable-table-cell.xht">transform-transformable-table-cell</a></td>
+ <td><a href="reference/transform-transformable-table-cell-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-footer-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Footer-Group">
+ <a href="transform-transformable-table-footer-group.xht">transform-transformable-table-footer-group</a></td>
+ <td><a href="reference/transform-transformable-table-footer-group-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-header-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Header-Group">
+ <a href="transform-transformable-table-header-group.xht">transform-transformable-table-header-group</a></td>
+ <td><a href="reference/transform-transformable-table-header-group-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-row" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Row">
+ <a href="transform-transformable-table-row.xht">transform-transformable-table-row</a></td>
+ <td><a href="reference/transform-transformable-table-row-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-row-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Row-Group">
+ <a href="transform-transformable-table-row-group.xht">transform-transformable-table-row-group</a></td>
+ <td><a href="reference/transform-transformable-table-row-group-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-001" class="">
+ <tr>
+ <td rowspan="1" title="translate(50px, 50px)">
+ <a href="transform-translate-001.xht">transform-translate-001</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-002" class="">
+ <tr>
+ <td rowspan="1" title="translate(50px, 50px) rotate(360deg)">
+ <a href="transform-translate-002.xht">transform-translate-002</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-003" class="">
+ <tr>
+ <td rowspan="1" title="translate(25px, 25px) translate(25px, 25px)">
+ <a href="transform-translate-003.xht">transform-translate-003</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-004" class="">
+ <tr>
+ <td rowspan="1" title="translate() plus relative positioning">
+ <a href="transform-translate-004.xht">transform-translate-004</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-005" class="">
+ <tr>
+ <td rowspan="1" title="Several Translations Combined">
+ <a href="transform-translate-005.xht">transform-translate-005</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-001" class="">
+ <tr>
+ <td rowspan="1" title="translatex(50px)">
+ <a href="transform-translatex-001.xht">transform-translatex-001</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-002" class="">
+ <tr>
+ <td rowspan="1" title="translatex(50px) rotate(360deg)">
+ <a href="transform-translatex-002.xht">transform-translatex-002</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-003" class="">
+ <tr>
+ <td rowspan="1" title="translatex(25px) translatex(25px)">
+ <a href="transform-translatex-003.xht">transform-translatex-003</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-004" class="">
+ <tr>
+ <td rowspan="1" title="translatex() plus relative positioning">
+ <a href="transform-translatex-004.xht">transform-translatex-004</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-005" class="">
+ <tr>
+ <td rowspan="1" title="Several X-Translations Combined">
+ <a href="transform-translatex-005.xht">transform-translatex-005</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-006" class="">
+ <tr>
+ <td rowspan="1" title="transform property with translateX function">
+ <a href="transform-translatex-006.xht">transform-translatex-006</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-001" class="">
+ <tr>
+ <td rowspan="1" title="translatey(50px)">
+ <a href="transform-translatey-001.xht">transform-translatey-001</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-002" class="">
+ <tr>
+ <td rowspan="1" title="translatey(50px) rotate(360deg)">
+ <a href="transform-translatey-002.xht">transform-translatey-002</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-003" class="">
+ <tr>
+ <td rowspan="1" title="translatey(25px) translatey(25px)">
+ <a href="transform-translatey-003.xht">transform-translatey-003</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-004" class="">
+ <tr>
+ <td rowspan="1" title="translatey() plus relative positioning">
+ <a href="transform-translatey-004.xht">transform-translatey-004</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-005" class="">
+ <tr>
+ <td rowspan="1" title="Several Y-Translations Combined">
+ <a href="transform-translatey-005.xht">transform-translatey-005</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, rotatex(180deg)">
+ <a href="transform3d-backface-visibility-001.xht">transform3d-backface-visibility-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-002" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent and Child in Different Rendering Contexts">
+ <a href="transform3d-backface-visibility-002.xht">transform3d-backface-visibility-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-003" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, rotatex(180deg) on Table">
+ <a href="transform3d-backface-visibility-003.xht">transform3d-backface-visibility-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-004" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Same Rendering Context, Split Transform">
+ <a href="transform3d-backface-visibility-004.xht">transform3d-backface-visibility-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-005" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Different Rendering Context">
+ <a href="transform3d-backface-visibility-005.xht">transform3d-backface-visibility-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-006" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Same Rendering Context">
+ <a href="transform3d-backface-visibility-006.xht">transform3d-backface-visibility-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-007" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, scalez(-1)">
+ <a href="transform3d-backface-visibility-007.xht">transform3d-backface-visibility-007</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-image-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale3d() on a Bitmap">
+ <a href="transform3d-image-scale-001.xht">transform3d-image-scale-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-image-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="scale3d() on an SVG">
+ <a href="transform3d-image-scale-002.xht">transform3d-image-scale-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)">
+ <a href="transform3d-matrix3d-001.xht">transform3d-matrix3d-001</a></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-002" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)">
+ <a href="transform3d-matrix3d-002.xht">transform3d-matrix3d-002</a></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-003" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)">
+ <a href="transform3d-matrix3d-003.xht">transform3d-matrix3d-003</a></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-004" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)">
+ <a href="transform3d-matrix3d-004.xht">transform3d-matrix3d-004</a></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-005" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)">
+ <a href="transform3d-matrix3d-005.xht">transform3d-matrix3d-005</a></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective()">
+ <a href="transform3d-perspective-001.xht">transform3d-perspective-001</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-002" class="">
+ <tr>
+ <td rowspan="1" title="Inherited Perspective">
+ <a href="transform3d-perspective-002.xht">transform3d-perspective-002</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-003" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Grandparent">
+ <a href="transform3d-perspective-003.xht">transform3d-perspective-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-004" class="">
+ <tr>
+ <td rowspan="1" title="'perspective: 1000px' on Grandparent and 'perspective: none' on Parent">
+ <a href="transform3d-perspective-004.xht">transform3d-perspective-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-005" class="">
+ <tr>
+ <td rowspan="1" title="'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent">
+ <a href="transform3d-perspective-005.xht">transform3d-perspective-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-006" class="">
+ <tr>
+ <td rowspan="1" title="Simple Perspective">
+ <a href="transform3d-perspective-006.xht">transform3d-perspective-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-007" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Table Parent">
+ <a href="transform3d-perspective-007.xht">transform3d-perspective-007</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-008" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Table">
+ <a href="transform3d-perspective-008.xht">transform3d-perspective-008</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-009" class="">
+ <tr>
+ <td rowspan="1" title="'perspective-origin' and translate()">
+ <a href="transform3d-perspective-009.xht">transform3d-perspective-009</a></td>
+ <td><a href="reference/transform3d-perspective-009-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin">
+ <a href="transform3d-perspective-origin-001.xht">transform3d-perspective-origin-001</a></td>
+ <td><a href="reference/transform3d-perspective-origin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="transform3d-rotatex-perspective-001.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Preserve-3D">
+ <a href="transform3d-preserve3d-001.xht">transform3d-preserve3d-001</a></td>
+ <td><a href="reference/transform3d-preserve3d-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-002" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 1">
+ <a href="transform3d-preserve3d-002.xht">transform3d-preserve3d-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-003" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 2">
+ <a href="transform3d-preserve3d-003.xht">transform3d-preserve3d-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-004" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 3">
+ <a href="transform3d-preserve3d-004.xht">transform3d-preserve3d-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-005" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Transformed Grandparent and Grandchild">
+ <a href="transform3d-preserve3d-005.xht">transform3d-preserve3d-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-006" class="">
+ <tr>
+ <td rowspan="1" title="Two rotatex(), No Preserve-3D">
+ <a href="transform3d-preserve3d-006.xht">transform3d-preserve3d-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-007" class="">
+ <tr>
+ <td rowspan="1" title="Two rotatey(), No Preserve-3D">
+ <a href="transform3d-preserve3d-007.xht">transform3d-preserve3d-007</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-008" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: hidden'">
+ <a href="transform3d-preserve3d-008.xht">transform3d-preserve3d-008</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-009" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: auto'">
+ <a href="transform3d-preserve3d-009.xht">transform3d-preserve3d-009</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-010" class="">
+ <tr>
+ <td rowspan="1" title="rotatex() With Preserve-3D">
+ <a href="transform3d-preserve3d-010.xht">transform3d-preserve3d-010</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-011" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With 90-Degree Rotation">
+ <a href="transform3d-preserve3d-011.xht">transform3d-preserve3d-011</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-012" class="">
+ <tr>
+ <td rowspan="1" title="90-Degree Rotations Without Preserve-3D">
+ <a href="transform3d-preserve3d-012.xht">transform3d-preserve3d-012</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-013" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: scroll'">
+ <a href="transform3d-preserve3d-013.xht">transform3d-preserve3d-013</a></td>
+ <td><a href="reference/transform3d-preserve3d-013-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotate3d-001" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d(1, 0, 0, 45deg)">
+ <a href="transform3d-rotate3d-001.xht">transform3d-rotate3d-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotate3d-002" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d(0, 1, 0, 45deg)">
+ <a href="transform3d-rotate3d-002.xht">transform3d-rotate3d-002</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-001" class="">
+ <tr>
+ <td rowspan="1" title="rotatex(45deg) rotatey(360deg) rotatex(360deg)">
+ <a href="transform3d-rotatex-001.xht">transform3d-rotatex-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective(1000px) rotatex(45deg)">
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-002" class="">
+ <tr>
+ <td rowspan="1" title="rotatex() and 'perspective'">
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-003" class="">
+ <tr>
+ <td rowspan="1" title="'perspective' and 'opacity'">
+ <a href="transform3d-rotatex-perspective-003.xht">transform3d-rotatex-perspective-003</a></td>
+ <td><a href="reference/transform3d-rotatex-perspective-ref.xht">=</a> <a href="reference/transform3d-rotatex-perspective-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-transformorigin-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateX() with 'transform-origin'">
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatey-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY(45deg) rotateY(360deg)">
+ <a href="transform3d-rotatey-001.xht">transform3d-rotatey-001</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale3d(2, 2, 2)">
+ <a href="transform3d-scale-001.xht">transform3d-scale-001</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)">
+ <a href="transform3d-scale-002.xht">transform3d-scale-002</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-003" class="">
+ <tr>
+ <td rowspan="1" title="scaleX(2) scaleY(2) scaleZ(2)">
+ <a href="transform3d-scale-003.xht">transform3d-scale-003</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-004" class="">
+ <tr>
+ <td rowspan="1" title="scale3d(2, 2, 0)">
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-005" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)">
+ <a href="transform3d-scale-005.xht">transform3d-scale-005</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-006" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(90deg) scaleZ(2) rotateX(-90deg)">
+ <a href="transform3d-scale-006.xht">transform3d-scale-006</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-007" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(180deg) scaleZ(-1)">
+ <a href="transform3d-scale-007.xht">transform3d-scale-007</a></td>
+ <td><a href="reference/transform3d-scale-007-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting">
+ <a href="transform3d-sorting-001.xht">transform3d-sorting-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-002" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With Rotation">
+ <a href="transform3d-sorting-002.xht">transform3d-sorting-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-003" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With No Preserve-3D">
+ <a href="transform3d-sorting-003.xht">transform3d-sorting-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-004" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With Preserve-3D on Grandparent">
+ <a href="transform3d-sorting-004.xht">transform3d-sorting-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-005" class="">
+ <tr>
+ <td rowspan="1" title="Sorting With Background on Parent">
+ <a href="transform3d-sorting-005.xht">transform3d-sorting-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-006" class="">
+ <tr>
+ <td rowspan="1" title="Sorting With Intersection">
+ <a href="transform3d-sorting-006.xht">transform3d-sorting-006</a></td>
+ <td><a href="reference/transform3d-sorting-006-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-translate3d-001" class="">
+ <tr>
+ <td rowspan="1" title="translate3d() vs. 'transform-origin'">
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-translatez-001" class="">
+ <tr>
+ <td rowspan="1" title="translatez() vs. 'transform-origin'">
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotate-degree-90" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotate function and one parameter">
+ <a href="transforms-rotate-degree-90.xht">transforms-rotate-degree-90</a></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotate-translate-scale" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and rotate function with one parameter">
+ <a href="transforms-rotate-translate-scale.xht">transforms-rotate-translate-scale</a></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotatey-degree-60" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotate function and one parameter">
+ <a href="transforms-rotateY-degree-60.xht">transforms-rotatey-degree-60</a></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-skewx" class="">
+ <tr>
+ <td rowspan="1" title="transform property with skew function for X axis.">
+ <a href="transforms-skewX.xht">transforms-skewx</a></td>
+ <td><a href="reference/transforms-skewX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-skewy" class="">
+ <tr>
+ <td rowspan="1" title="transform property with skew function for Y axis.">
+ <a href="transforms-skewY.xht">transforms-skewy</a></td>
+ <td><a href="reference/transforms-skewY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="translate" class="">
+ <tr>
+ <td rowspan="1" title="test translate">
+ <a href="translate.xht">translate</a></td>
+ <td><a href="reference/translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="translate-optional-second-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with translate function and one parameter">
+ <a href="translate-optional-second-001.xht">translate-optional-second-001</a></td>
+ <td><a href="reference/translate-optional-second-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-preserve-3d-1" class="">
+ <tr>
+ <td rowspan="1" title="transform preserve-3d">
+ <a href="transofrmed-preserve-3d-1.xht">transofrmed-preserve-3d-1</a></td>
+ <td><a href="reference/transofrmed-preserve-3d-1-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-rotatex-3" class="">
+ <tr>
+ <td rowspan="1" title="transform rotateX">
+ <a href="transofrmed-rotateX-3.xht">transofrmed-rotatex-3</a></td>
+ <td><a href="reference/transofrmed-rotateX-3-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-rotatey-1" class="">
+ <tr>
+ <td rowspan="1" title="transform rotateY">
+ <a href="transofrmed-rotateY-1.xht">transofrmed-rotatey-1</a></td>
+ <td><a href="reference/transofrmed-rotateY-1-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-css-3d-polygon-cycle" class="svg">
+ <tr>
+ <td rowspan="1" title="3d transform polygon cycle">
+ <a href="ttwf-css-3d-polygon-cycle.xht">ttwf-css-3d-polygon-cycle</a></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-css-3d-polygon-cycle-mismatch" class="svg">
+ <tr>
+ <td rowspan="1" title="3d transform polygon cycle">
+ <a href="ttwf-css-3d-polygon-cycle-mismatch.xht">ttwf-css-3d-polygon-cycle-mismatch</a></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-reftest-rotate" class="">
+ <tr>
+ <td rowspan="1" title="transform rotate">
+ <a href="ttwf-reftest-rotate.xht">ttwf-reftest-rotate</a></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-skewx-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using skewX() function">
+ <a href="ttwf-transform-skewx-001.xht">ttwf-transform-skewx-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-skewx-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-skewy-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using skewY() function">
+ <a href="ttwf-transform-skewy-001.xht">ttwf-transform-skewy-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-skewy-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-translatex-001" class="CSS Transform">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using translateX() function">
+ <a href="ttwf-transform-translatex-001.xht">ttwf-transform-translatex-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-translatex-001.xht">=</a> </td>
+ <td rowspan="1"><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-translatey-001" class="CSS Transform">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using translateY() function">
+ <a href="ttwf-transform-translatey-001.xht">ttwf-transform-translatey-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-translatey-001.xht">=</a> </td>
+ <td rowspan="1"><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html>
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest.list b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest.list
new file mode 100644
index 00000000000..559f9a2cc92
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/reftest.list
@@ -0,0 +1,1034 @@
+
+2d-rotate-001.xht == reference/2d-rotate-ref.xht != reference/2d-rotate-notref.xht
+animations-001.xht == reference/animations-001-ref.xht
+backface-visibility-hidden-001.xht == reference/backface-visibility-hidden-ref.xht
+canvas3d-001.xht == reference/canvas3d-001-ref.xht
+canvas3d-002.xht == reference/canvas3d-002-ref.xht
+css-rotate-2d-3d-001.xht == reference/css-rotate-2d-3d-001-ref.xht
+css-scale-nested-001.xht == reference/css-scale-nested-ref.xht
+css-skew-001.xht == reference/css-skew-001-ref.xht
+css-skew-002.xht == reference/css-skew-002-ref.xht
+css-transform-3d-rotate3d-X-negative.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotate3d-X-positive.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotate3d-Y-negative.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotate3d-Y-positive.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotate3d-Z-negative.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-rotate3d-Z-positive.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-rotateX-negative.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotateX-positive.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotateY-negative.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotateY-positive.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotateZ-negative.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-rotateZ-positive.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-transform-style.xht == reference/css-transform-3d-transform-style-ref.xht
+css-transform-scale-001.xht == reference/css-transform-scale-ref-001.xht
+css-transform-scale-002.xht == reference/css-transform-scale-ref-002.xht
+css-transforms-3d-on-anonymous-block-001.xht == reference/css-transforms-3d-anonymous-block-ref.xht
+css-transforms-transformlist.xht == reference/css-transforms-transformlist-ref.xht
+css3-transform-perspective.xht == reference/css3-transform-perspective-ref.xht
+css3-transform-rotateY.xht == reference/css3-transform-rotateY-ref.xht
+css3-transform-scale.xht == reference/css3-transform-scale-ref.xht
+css3-transform-scale-002.xht == reference/css3-transform-scale-ref-002.xht
+iframe-001.xht == reference/iframe-001-ref.xht
+perspective-origin-001.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-002.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-003.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-004.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-005.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-006.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-x.xht == reference/perspective-origin-reftest.xht
+perspective-origin-xy.xht == reference/perspective-reftest.xht
+perspective-translateZ-0.xht == reference/perspective-reftest.xht
+perspective-translateZ-negative.xht == reference/perspective-reftest.xht
+perspective-translateZ-positive.xht == reference/perspective-reftest.xht
+regions-transforms-001.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-002.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-003.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-004.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-005.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-006.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-007.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-008.xht == reference/regions-transforms-008-ref.xht
+regions-transforms-009.xht == reference/regions-transforms-008-ref.xht
+regions-transforms-010.xht == reference/regions-transforms-010-ref.xht
+regions-transforms-011.xht == reference/regions-transforms-010-ref.xht
+regions-transforms-012.xht == reference/regions-transforms-010-ref.xht
+regions-transforms-013.xht == reference/regions-transforms-013-alt-ref.xht
+regions-transforms-013.xht == reference/regions-transforms-013-ref.xht
+regions-transforms-014.xht == reference/regions-transforms-014-ref.xht
+regions-transforms-015.xht == reference/regions-transforms-014-ref.xht
+regions-transforms-016.xht == reference/regions-transforms-016-ref.xht
+regions-transforms-017.xht == reference/regions-transforms-017-ref.xht
+regions-transforms-018.xht == reference/regions-transforms-018-ref.xht
+regions-transforms-019.xht == reference/regions-transforms-019-ref.xht
+regions-transforms-020.xht == reference/regions-transforms-020-ref.xht
+regions-transforms-021.xht == reference/regions-transforms-020-ref.xht
+regions-transforms-022.xht == reference/regions-transforms-020-ref.xht
+rotate_45deg.xht == reference/rotate_45deg-ref.xht
+rotate_x_45deg.xht == reference/rotate_x_45deg-ref.xht
+rotate_y_45deg.xht == reference/rotate_y_45deg-ref.xht
+rotateY.xht == reference/rotateY-ref.xht
+scale-optional-second-001.xht == reference/scale-optional-second-ref.xht
+scale-zero-001.xht == reference/scale-zero-ref.xht
+scalex.xht == reference/scalex-ref.xht
+scaley.xht == reference/scaley-ref.xht
+skew-test1.xht == reference/skew-test1-ref.xht
+svg-document-styles-001.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-002.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-003.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-004.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-005.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-006.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-007.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-008.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-009.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-010.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-011.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-012.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-013.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-014.xht == reference/svg-document-styles-ref.xht
+svg-external-styles-001.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-002.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-003.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-004.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-005.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-006.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-007.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-008.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-009.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-010.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-011.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-012.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-013.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-014.xht == reference/svg-external-styles-ref.xht
+svg-gradientTransform-001.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-002.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-003.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-004.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-005.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-006.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-007.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-008.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-009.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-010.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-011.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-012.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-013.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-014.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-015.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-016.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-017.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-018.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-019.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-020.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-021.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-022.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-023.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-024.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-025.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-026.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-027.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-028.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-029.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-030.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-031.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-032.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-033.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-034.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-035.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-036.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-037.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-038.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-039.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-040.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-041.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-042.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-043.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-044.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-045.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-046.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-047.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-048.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-049.xht == reference/svg-gradientTransform-transform-ref.xht
+svg-gradientTransform-combination-001.xht == reference/svg-gradientTransform-combination-ref.xht
+svg-gradientTransform-combination-002.xht == reference/svg-gradientTransform-combination-ref.xht
+svg-gradientTransform-combination-003.xht == reference/svg-gradientTransform-combination-ref.xht
+svg-gradientTransform-ex-unit-001.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-002.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-003.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-004.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-005.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-006.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-relative-001.xht == reference/svg-gradientTransform-relative-ref.xht
+svg-gradientTransform-relative-002.xht == reference/svg-gradientTransform-relative-ref.xht
+svg-gradientTransform-relative-003.xht == reference/svg-gradientTransform-relative-ref.xht
+svg-inline-styles-001.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-002.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-003.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-004.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-005.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-006.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-007.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-008.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-009.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-010.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-011.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-012.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-013.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-014.xht == reference/svg-inline-styles-ref.xht
+svg-matrix-001.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-002.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-003.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-004.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-005.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-006.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-007.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-008.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-009.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-010.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-011.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-012.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-013.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-014.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-015.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-016.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-017.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-018.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-019.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-020.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-021.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-022.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-023.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-024.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-025.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-026.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-027.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-028.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-029.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-030.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-031.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-032.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-033.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-034.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-035.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-036.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-037.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-038.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-039.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-040.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-041.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-042.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-043.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-044.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-045.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-046.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-047.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-048.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-049.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-050.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-051.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-052.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-053.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-054.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-055.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-056.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-057.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-058.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-059.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-060.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-061.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-062.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-063.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-064.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-065.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-066.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-067.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-068.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-069.xht == reference/svg-matrix-four-color-ref.xht
+svg-origin-length-001.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-002.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-003.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-004.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-005.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-006.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-007.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-008.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-cm-001.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-002.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-003.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-004.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-005.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-in-001.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-002.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-003.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-004.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-005.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-pt-001.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-002.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-003.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-004.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-005.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-relative-length-001.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-002.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-003.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-004.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-005.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-006.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-007.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-008.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-009.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-010.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-011.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-012.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-013.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-014.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-015.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-016.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-017.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-018.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-019.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-020.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-021.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-022.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-023.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-024.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-025.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-026.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-027.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-028.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-029.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-030.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-031.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-032.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-033.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-034.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-035.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-036.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-037.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-038.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-039.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-040.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-041.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-042.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-043.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-044.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-045.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-046.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-invalid-001.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-002.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-003.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-004.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-005.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-006.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-007.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-008.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-009.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-010.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-011.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-012.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-patternTransform-001.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-002.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-003.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-004.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-005.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-006.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-007.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-008.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-009.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-010.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-011.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-012.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-013.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-014.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-015.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-016.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-017.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-018.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-019.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-020.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-021.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-022.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-023.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-024.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-025.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-026.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-027.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-028.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-029.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-030.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-031.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-032.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-033.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-034.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-035.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-036.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-037.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-038.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-039.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-040.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-041.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-042.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-043.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-044.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-045.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-046.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-047.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-048.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-049.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-combination-001.xht == reference/svg-patternTransform-combination-ref.xht
+svg-patternTransform-combination-002.xht == reference/svg-patternTransform-combination-ref.xht
+svg-patternTransform-combination-003.xht == reference/svg-patternTransform-combination-ref.xht
+svg-patternTransform-ex-unit-001.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-002.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-003.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-004.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-005.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-006.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-relative-001.xht == reference/svg-patternTransform-relative-ref.xht
+svg-patternTransform-relative-002.xht == reference/svg-patternTransform-relative-ref.xht
+svg-patternTransform-relative-003.xht == reference/svg-patternTransform-relative-ref.xht
+svg-rotate-3args-001.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-002.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-003.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-004.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-005.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-006.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-007.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-008.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-009.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-010.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-011.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-012.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-013.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-014.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-015.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-016.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-017.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-018.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-019.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-020.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-021.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-022.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-023.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-001.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-002.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-003.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-004.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-005.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-angle-45-001.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-002.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-003.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-004.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-005.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-006.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-007.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-008.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-009.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-010.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-011.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-012.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-013.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-014.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-015.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-016.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-017.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-018.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-019.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-020.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-021.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-022.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-023.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-024.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-025.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-90-001.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-002.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-003.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-004.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-005.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-006.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-007.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-008.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-009.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-010.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-011.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-012.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-013.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-014.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-015.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-016.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-017.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-018.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-019.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-020.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-021.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-022.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-023.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-024.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-025.xht == reference/svg-rotate-angle-90-ref.xht
+svg-scale-001.xht == reference/svg-scale-ref.xht
+svg-scale-002.xht == reference/svg-scale-ref.xht
+svg-scale-003.xht == reference/svg-scale-ref.xht
+svg-scale-004.xht == reference/svg-scale-ref.xht
+svg-scale-005.xht == reference/svg-scale-ref.xht
+svg-scale-006.xht == reference/svg-scale-ref.xht
+svg-scale-007.xht == reference/svg-scale-ref.xht
+svg-scale-008.xht == reference/svg-scale-ref.xht
+svg-scale-009.xht == reference/svg-scale-ref.xht
+svg-scale-010.xht == reference/svg-scale-ref.xht
+svg-scale-011.xht == reference/svg-scale-ref.xht
+svg-scale-012.xht == reference/svg-scale-ref.xht
+svg-scale-013.xht == reference/svg-scale-ref.xht
+svg-scale-014.xht == reference/svg-scale-ref.xht
+svg-scale-015.xht == reference/svg-scale-ref.xht
+svg-scale-016.xht == reference/svg-scale-ref.xht
+svg-scale-017.xht == reference/svg-scale-ref.xht
+svg-scalex-001.xht == reference/svg-scale-ref.xht
+svg-scalex-002.xht == reference/svg-scale-ref.xht
+svg-scalex-003.xht == reference/svg-scale-ref.xht
+svg-scalex-004.xht == reference/svg-scale-ref.xht
+svg-scalex-005.xht == reference/svg-scale-ref.xht
+svg-scaley-001.xht == reference/svg-scale-ref.xht
+svg-scaley-002.xht == reference/svg-scale-ref.xht
+svg-scaley-003.xht == reference/svg-scale-ref.xht
+svg-scaley-004.xht == reference/svg-scale-ref.xht
+svg-scaley-005.xht == reference/svg-scale-ref.xht
+svg-skewx-001.xht == reference/svg-skewx-ref.xht
+svg-skewx-002.xht == reference/svg-skewx-ref.xht
+svg-skewx-003.xht == reference/svg-skewx-ref.xht
+svg-skewx-004.xht == reference/svg-skewx-ref.xht
+svg-skewx-005.xht == reference/svg-skewx-ref.xht
+svg-skewx-006.xht == reference/svg-skewx-ref.xht
+svg-skewx-007.xht == reference/svg-skewx-ref.xht
+svg-skewx-008.xht == reference/svg-skewx-ref.xht
+svg-skewx-009.xht == reference/svg-skewx-ref.xht
+svg-skewx-010.xht == reference/svg-skewx-ref.xht
+svg-skewx-011.xht == reference/svg-skewx-ref.xht
+svg-skewx-012.xht == reference/svg-skewx-ref.xht
+svg-skewx-013.xht == reference/svg-skewx-ref.xht
+svg-skewx-014.xht == reference/svg-skewx-ref.xht
+svg-skewx-015.xht == reference/svg-skewx-ref.xht
+svg-skewx-016.xht == reference/svg-skewx-ref.xht
+svg-skewx-017.xht == reference/svg-skewx-ref.xht
+svg-skewx-018.xht == reference/svg-skewx-ref.xht
+svg-skewx-019.xht == reference/svg-skewx-ref.xht
+svg-skewx-020.xht == reference/svg-skewx-ref.xht
+svg-skewx-021.xht == reference/svg-skewx-ref.xht
+svg-skewx-022.xht == reference/svg-skewx-ref.xht
+svg-skewx-023.xht == reference/svg-skewx-ref.xht
+svg-skewx-024.xht == reference/svg-skewx-ref.xht
+svg-skewx-025.xht == reference/svg-skewx-ref.xht
+svg-skewxy-001.xht == reference/svg-skewxy-ref.xht
+svg-skewxy-002.xht == reference/svg-skewxy-ref.xht
+svg-skewy-001.xht == reference/svg-skewy-ref.xht
+svg-skewy-002.xht == reference/svg-skewy-ref.xht
+svg-skewy-003.xht == reference/svg-skewy-ref.xht
+svg-skewy-004.xht == reference/svg-skewy-ref.xht
+svg-skewy-005.xht == reference/svg-skewy-ref.xht
+svg-skewy-006.xht == reference/svg-skewy-ref.xht
+svg-skewy-007.xht == reference/svg-skewy-ref.xht
+svg-skewy-008.xht == reference/svg-skewy-ref.xht
+svg-skewy-009.xht == reference/svg-skewy-ref.xht
+svg-skewy-010.xht == reference/svg-skewy-ref.xht
+svg-skewy-011.xht == reference/svg-skewy-ref.xht
+svg-skewy-012.xht == reference/svg-skewy-ref.xht
+svg-skewy-013.xht == reference/svg-skewy-ref.xht
+svg-skewy-014.xht == reference/svg-skewy-ref.xht
+svg-skewy-015.xht == reference/svg-skewy-ref.xht
+svg-skewy-016.xht == reference/svg-skewy-ref.xht
+svg-skewy-017.xht == reference/svg-skewy-ref.xht
+svg-skewy-018.xht == reference/svg-skewy-ref.xht
+svg-skewy-019.xht == reference/svg-skewy-ref.xht
+svg-skewy-020.xht == reference/svg-skewy-ref.xht
+svg-skewy-021.xht == reference/svg-skewy-ref.xht
+svg-skewy-022.xht == reference/svg-skewy-ref.xht
+svg-skewy-023.xht == reference/svg-skewy-ref.xht
+svg-skewy-024.xht == reference/svg-skewy-ref.xht
+svg-skewy-025.xht == reference/svg-skewy-ref.xht
+svg-transform-group-001.xht == reference/svg-green-square-ref.xht
+svg-transform-group-002.xht == reference/svg-green-square-ref.xht
+svg-transform-group-003.xht == reference/svg-green-square-ref.xht
+svg-transform-group-004.xht == reference/svg-green-square-ref.xht
+svg-transform-group-005.xht == reference/svg-green-square-ref.xht
+svg-transform-group-006.xht == reference/svg-green-square-ref.xht
+svg-transform-group-007.xht == reference/svg-green-square-ref.xht
+svg-transform-group-008.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-group-009.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-group-010.xht == reference/svg-green-square-ref.xht
+svg-transform-group-011.xht == reference/svg-green-square-ref.xht
+svg-transform-list-separations-001.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-002.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-003.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-004.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-005.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-006.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-007.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-008.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-009.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-010.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-011.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-nested-001.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-002.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-003.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-004.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-005.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-006.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-007.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-008.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-009.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-010.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-011.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-012.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-013.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-014.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-015.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-016.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-017.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-018.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-019.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-020.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-021.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-022.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-023.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-024.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-025.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-026.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-027.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-028.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-029.xht == reference/svg-green-square-ref.xht
+svg-translate-001.xht == reference/svg-translate-ref.xht
+svg-translate-002.xht == reference/svg-translate-ref.xht
+svg-translate-003.xht == reference/svg-translate-ref.xht
+svg-translate-004.xht == reference/svg-translate-ref.xht
+svg-translate-005.xht == reference/svg-translate-ref.xht
+svg-translate-006.xht == reference/svg-translate-ref.xht
+svg-translate-007.xht == reference/svg-translate-ref.xht
+svg-translate-008.xht == reference/svg-translate-ref.xht
+svg-translate-009.xht == reference/svg-translate-ref.xht
+svg-translate-010.xht == reference/svg-translate-ref.xht
+svg-translate-011.xht == reference/svg-translate-ref.xht
+svg-translate-012.xht == reference/svg-translate-ref.xht
+svg-translate-013.xht == reference/svg-translate-ref.xht
+svg-translate-014.xht == reference/svg-translate-ref.xht
+svg-translate-015.xht == reference/svg-translate-ref.xht
+svg-translate-016.xht == reference/svg-translate-ref.xht
+svg-translate-017.xht == reference/svg-translate-ref.xht
+svg-translate-018.xht == reference/svg-translate-ref.xht
+svg-translate-019.xht == reference/svg-translate-ref.xht
+svg-translate-020.xht == reference/svg-translate-ref.xht
+svg-translate-021.xht == reference/svg-translate-ref.xht
+svg-translate-022.xht == reference/svg-translate-ref.xht
+svg-translate-023.xht == reference/svg-translate-ref.xht
+svg-translate-024.xht == reference/svg-translate-ref.xht
+svg-translate-025.xht == reference/svg-translate-ref.xht
+svg-translate-026.xht == reference/svg-translate-ref.xht
+svg-translate-027.xht == reference/svg-translate-ref.xht
+svg-translate-028.xht == reference/svg-translate-ref.xht
+svg-translate-029.xht == reference/svg-translate-ref.xht
+svg-translate-030.xht == reference/svg-translate-ref.xht
+svg-translate-031.xht == reference/svg-translate-ref.xht
+svg-translate-032.xht == reference/svg-translate-ref.xht
+svg-translate-033.xht == reference/svg-translate-ref.xht
+svg-translate-034.xht == reference/svg-translate-ref.xht
+svg-translate-035.xht == reference/svg-translate-ref.xht
+svg-translate-036.xht == reference/svg-translate-ref.xht
+svg-translate-037.xht == reference/svg-translate-ref.xht
+svg-translate-038.xht == reference/svg-translate-ref.xht
+svg-translate-039.xht == reference/svg-translate-ref.xht
+svg-translate-040.xht == reference/svg-translate-ref.xht
+svg-translate-041.xht == reference/svg-translate-ref.xht
+svg-translate-042.xht == reference/svg-translate-ref.xht
+svg-translate-043.xht == reference/svg-translate-ref.xht
+svg-translate-044.xht == reference/svg-translate-ref.xht
+svg-translate-045.xht == reference/svg-translate-ref.xht
+svg-translate-046.xht == reference/svg-translate-ref.xht
+svg-translate-047.xht == reference/svg-translate-ref.xht
+svg-translate-048.xht == reference/svg-translate-ref.xht
+svg-translate-049.xht == reference/svg-translate-ref.xht
+svg-translate-050.xht == reference/svg-translate-ref.xht
+svg-translate-051.xht == reference/svg-translate-ref.xht
+svg-translate-052.xht == reference/svg-translate-ref.xht
+svg-translate-053.xht == reference/svg-translate-ref.xht
+svg-translate-054.xht == reference/svg-translate-ref.xht
+svg-translate-055.xht == reference/svg-translate-ref.xht
+svg-translate-abs-unit-combinations-001.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-002.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-003.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-004.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-005.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-006.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-ex-unit-001.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-002.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-003.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-004.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-005.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-006.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-multiple-001.xht == reference/svg-translate-multiple-ref.xht
+svg-translate-multiple-002.xht == reference/svg-translate-multiple-ref.xht
+svg-translate-multiple-relative-001.xht == reference/svg-translate-multiple-relative-ref.xht
+svg-translate-multiple-relative-002.xht == reference/svg-translate-multiple-relative-ref.xht
+svg-translate-relative-001.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-002.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-003.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-004.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-005.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-006.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-007.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-008.xht == reference/svg-translate-relative-ref.xht
+svg-translatex-001.xht == reference/svg-translatex-ref.xht
+svg-translatex-002.xht == reference/svg-translatex-ref.xht
+svg-translatex-003.xht == reference/svg-translatex-ref.xht
+svg-translatex-004.xht == reference/svg-translatex-ref.xht
+svg-translatex-005.xht == reference/svg-translatex-ref.xht
+svg-translatex-006.xht == reference/svg-translatex-ref.xht
+svg-translatex-007.xht == reference/svg-translatex-ref.xht
+svg-translatex-008.xht == reference/svg-translatex-ref.xht
+svg-translatex-009.xht == reference/svg-translatex-ref.xht
+svg-translatex-010.xht == reference/svg-translatex-ref.xht
+svg-translatex-011.xht == reference/svg-translatex-ref.xht
+svg-translatex-012.xht == reference/svg-translatex-ref.xht
+svg-translatex-013.xht == reference/svg-translatex-ref.xht
+svg-translatex-014.xht == reference/svg-translatex-ref.xht
+svg-translatex-015.xht == reference/svg-translatex-ref.xht
+svg-translatex-016.xht == reference/svg-translatex-ref.xht
+svg-translatex-017.xht == reference/svg-translatex-ref.xht
+svg-translatex-018.xht == reference/svg-translatex-ref.xht
+svg-translatex-019.xht == reference/svg-translatex-ref.xht
+svg-translatex-020.xht == reference/svg-translatex-ref.xht
+svg-translatex-021.xht == reference/svg-translatex-ref.xht
+svg-translatex-022.xht == reference/svg-translatex-ref.xht
+svg-translatex-023.xht == reference/svg-translatex-ref.xht
+svg-translatex-024.xht == reference/svg-translatex-ref.xht
+svg-translatex-025.xht == reference/svg-translatex-ref.xht
+svg-translatex-026.xht == reference/svg-translatex-ref.xht
+svg-translatex-027.xht == reference/svg-translatex-ref.xht
+svg-translatex-028.xht == reference/svg-translatex-ref.xht
+svg-translatex-029.xht == reference/svg-translatex-ref.xht
+svg-translatex-030.xht == reference/svg-translatex-ref.xht
+svg-translatex-031.xht == reference/svg-translatex-ref.xht
+svg-translatex-032.xht == reference/svg-translatex-ref.xht
+svg-translatex-033.xht == reference/svg-translatex-ref.xht
+svg-translatex-034.xht == reference/svg-translatex-ref.xht
+svg-translatex-035.xht == reference/svg-translatex-ref.xht
+svg-translatex-036.xht == reference/svg-translatex-ref.xht
+svg-translatex-037.xht == reference/svg-translatex-ref.xht
+svg-translatex-038.xht == reference/svg-translatex-ref.xht
+svg-translatex-039.xht == reference/svg-translatex-ref.xht
+svg-translatex-040.xht == reference/svg-translatex-ref.xht
+svg-translatex-041.xht == reference/svg-translatex-ref.xht
+svg-translatex-042.xht == reference/svg-translatex-ref.xht
+svg-translatex-043.xht == reference/svg-translatex-ref.xht
+svg-translatex-044.xht == reference/svg-translatex-ref.xht
+svg-translatex-045.xht == reference/svg-translatex-ref.xht
+svg-translatex-046.xht == reference/svg-translatex-ref.xht
+svg-translatex-047.xht == reference/svg-translatex-ref.xht
+svg-translatex-048.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-001.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-002.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-003.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-004.xht == reference/svg-translatex-ref.xht
+svg-translatex-ex-unit-001.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-002.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-003.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-004.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-005.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-006.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-relative-001.xht == reference/svg-translatex-ref.xht
+svg-translatex-relative-002.xht == reference/svg-translatex-ref.xht
+svg-translatey-001.xht == reference/svg-translatey-ref.xht
+svg-translatey-002.xht == reference/svg-translatey-ref.xht
+svg-translatey-003.xht == reference/svg-translatey-ref.xht
+svg-translatey-004.xht == reference/svg-translatey-ref.xht
+svg-translatey-005.xht == reference/svg-translatey-ref.xht
+svg-translatey-006.xht == reference/svg-translatey-ref.xht
+svg-translatey-007.xht == reference/svg-translatey-ref.xht
+svg-translatey-008.xht == reference/svg-translatey-ref.xht
+svg-translatey-009.xht == reference/svg-translatey-ref.xht
+svg-translatey-010.xht == reference/svg-translatey-ref.xht
+svg-translatey-011.xht == reference/svg-translatey-ref.xht
+svg-translatey-012.xht == reference/svg-translatey-ref.xht
+svg-translatey-013.xht == reference/svg-translatey-ref.xht
+svg-translatey-014.xht == reference/svg-translatey-ref.xht
+svg-translatey-015.xht == reference/svg-translatey-ref.xht
+svg-translatey-016.xht == reference/svg-translatey-ref.xht
+svg-translatey-017.xht == reference/svg-translatey-ref.xht
+svg-translatey-018.xht == reference/svg-translatey-ref.xht
+svg-translatey-019.xht == reference/svg-translatey-ref.xht
+svg-translatey-020.xht == reference/svg-translatey-ref.xht
+svg-translatey-021.xht == reference/svg-translatey-ref.xht
+svg-translatey-022.xht == reference/svg-translatey-ref.xht
+svg-translatey-023.xht == reference/svg-translatey-ref.xht
+svg-translatey-024.xht == reference/svg-translatey-ref.xht
+svg-translatey-025.xht == reference/svg-translatey-ref.xht
+svg-translatey-026.xht == reference/svg-translatey-ref.xht
+svg-translatey-027.xht == reference/svg-translatey-ref.xht
+svg-translatey-028.xht == reference/svg-translatey-ref.xht
+svg-translatey-029.xht == reference/svg-translatey-ref.xht
+svg-translatey-030.xht == reference/svg-translatey-ref.xht
+svg-translatey-031.xht == reference/svg-translatey-ref.xht
+svg-translatey-032.xht == reference/svg-translatey-ref.xht
+svg-translatey-033.xht == reference/svg-translatey-ref.xht
+svg-translatey-034.xht == reference/svg-translatey-ref.xht
+svg-translatey-035.xht == reference/svg-translatey-ref.xht
+svg-translatey-036.xht == reference/svg-translatey-ref.xht
+svg-translatey-037.xht == reference/svg-translatey-ref.xht
+svg-translatey-038.xht == reference/svg-translatey-ref.xht
+svg-translatey-039.xht == reference/svg-translatey-ref.xht
+svg-translatey-040.xht == reference/svg-translatey-ref.xht
+svg-translatey-041.xht == reference/svg-translatey-ref.xht
+svg-translatey-042.xht == reference/svg-translatey-ref.xht
+svg-translatey-043.xht == reference/svg-translatey-ref.xht
+svg-translatey-044.xht == reference/svg-translatey-ref.xht
+svg-translatey-045.xht == reference/svg-translatey-ref.xht
+svg-translatey-046.xht == reference/svg-translatey-ref.xht
+svg-translatey-047.xht == reference/svg-translatey-ref.xht
+svg-translatey-048.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-001.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-002.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-003.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-004.xht == reference/svg-translatey-ref.xht
+svg-translatey-ex-unit-001.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-002.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-003.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-004.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-005.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-006.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-relative-001.xht == reference/svg-translatey-ref.xht
+svg-translatey-relative-002.xht == reference/svg-translatey-ref.xht
+transform-3d-rotateY-stair-above-001.xht == reference/transform-3d-rotateY-stair-above-ref-001.xht
+transform-3d-rotateY-stair-below-001.xht == reference/transform-3d-rotateY-stair-above-ref-001.xht
+transform-abspos-001.xht == reference/transform-abspos-ref.xht
+transform-abspos-002.xht == reference/transform-abspos-ref.xht
+transform-abspos-003.xht == reference/transform-abspos-ref.xht
+transform-abspos-004.xht == reference/transform-abspos-ref.xht
+transform-abspos-005.xht != reference/transform-abspos-ref.xht
+transform-abspos-006.xht == reference/transform-abspos-ref.xht
+transform-abspos-007.xht == reference/transform-abspos-ref.xht
+transform-applies-to-001.xht == reference/transform-applies-to-001-ref.xht
+transform-applies-to-002.xht == reference/transform-applies-to-002-ref.xht
+transform-background-001.xht == reference/transform-background-ref-1.xht
+transform-background-002.xht == reference/transform-background-ref-1.xht
+transform-background-003.xht == reference/transform-background-ref-1.xht
+transform-background-004.xht == reference/transform-background-ref-1.xht
+transform-background-005.xht == reference/transform-background-ref-2.xht
+transform-background-006.xht == reference/transform-background-ref-2.xht != reference/transform-background-006-notref.xht
+transform-background-007.xht == reference/transform-background-ref-2.xht
+transform-background-008.xht == reference/transform-background-ref-2.xht
+transform-compound-001.xht == reference/transform-compound-ref.xht != reference/transform-compound-notref-1.xht != reference/transform-compound-notref-2.xht
+transform-descendant-001.xht == reference/transform-descendant-ref.xht
+transform-display-001.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-display-002.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-display-003.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-display-004.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-fixed-bg-001.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-002.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-003.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-004.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-005.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-006.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-007.xht == reference/transform-fixed-bg-ref.xht
+transform-generated-001.xht == reference/transform-generated-001-ref.xht != reference/transform-generated-001-notref.xht
+transform-generated-002.xht == reference/transform-generated-002-ref.xht != reference/transform-generated-002-notref.xht
+transform-iframe-001.xht == reference/transform-iframe-ref.xht
+transform-image-001.xht == reference/transform-image-ref.xht
+transform-inherit-001.xht == reference/transform-inherit-ref.xht
+transform-inherit-002.xht == reference/transform-inherit-ref.xht
+transform-inherit-origin-001.xht == reference/transform-inherit-origin-ref.xht
+transform-inherit-origin-002.xht == reference/transform-inherit-origin-ref.xht
+transform-inline-001.xht == reference/transform-inline-ref.xht != reference/transform-inline-notref.xht
+transform-input-001.xht == reference/transform-input-001-ref.xht
+transform-input-002.xht == reference/transform-input-002-ref.xht
+transform-input-003.xht == reference/transform-input-003-ref.xht
+transform-input-004.xht == reference/transform-input-004-ref.xht
+transform-input-005.xht == reference/transform-input-005-ref.xht
+transform-input-006.xht == reference/transform-input-006-ref.xht
+transform-input-007.xht == reference/transform-input-007-ref.xht
+transform-input-008.xht == reference/transform-input-008-ref.xht
+transform-input-009.xht == reference/transform-input-009-ref.xht
+transform-input-010.xht == reference/transform-input-010-ref.xht
+transform-input-011.xht == reference/transform-input-011-ref.xht
+transform-input-012.xht == reference/transform-input-012-ref.xht
+transform-input-013.xht == reference/transform-input-013-ref.xht
+transform-input-014.xht == reference/transform-input-014-ref.xht
+transform-input-015.xht == reference/transform-input-015-ref.xht
+transform-input-016.xht == reference/transform-input-016-ref.xht
+transform-input-017.xht == reference/transform-input-017-ref.xht
+transform-input-018.xht == reference/transform-input-018-ref.xht
+transform-input-019.xht == reference/transform-input-019-ref.xht
+transform-matrix-001.xht == reference/transform-matrix-001-ref.xht
+transform-matrix-002.xht == reference/transform-matrix-002-ref.xht
+transform-matrix-003.xht == reference/transform-matrix-003-ref.xht
+transform-matrix-004.xht == reference/transform-matrix-004-ref.xht
+transform-matrix-005.xht == reference/transform-matrix-005-ref.xht != reference/transform-matrix-005-notref.xht
+transform-matrix-006.xht == reference/transform-matrix-006-ref.xht != reference/transform-matrix-005-notref.xht
+transform-matrix-007.xht == reference/transform-matrix-007-ref.xht
+transform-matrix-008.xht == reference/transform-matrix-008-ref.xht != reference/transform-matrix-008-notref.xht
+transform-origin.xht == reference/transform-origin-ref.xht
+transform-origin-001.xht != reference/transform-origin-ref-1.xht
+transform-origin-002.xht != reference/transform-origin-ref-1.xht
+transform-origin-003.xht == reference/transform-origin-ref-2.xht
+transform-origin-004.xht == reference/transform-origin-ref-2.xht
+transform-origin-005.xht == reference/transform-origin-ref-2.xht
+transform-origin-006.xht == reference/transform-origin-ref-2.xht
+transform-origin-007.xht == reference/transform-origin-007-ref.xht
+transform-origin-008.xht == reference/transform-origin-007-ref.xht
+transform-origin-009.xht == reference/transform-origin-007-ref.xht
+transform-origin-01.xht == reference/transform-origin-01-ref.xht
+transform-origin-010.xht == reference/transform-origin-007-ref.xht
+transform-origin-011.xht == reference/transform-origin-007-ref.xht
+transform-origin-012.xht == reference/transform-origin-007-ref.xht
+transform-origin-name-001.xht == reference/transform-origin-name-ref-1.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-002.xht == reference/transform-origin-name-ref-1.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-003.xht == reference/transform-origin-name-ref-2.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-004.xht == reference/transform-origin-name-ref-2.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-005.xht == reference/transform-origin-name-ref-2.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-006.xht == reference/transform-origin-name-ref-3.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-007.xht == reference/transform-origin-name-ref-3.xht != reference/transform-origin-name-notref.xht
+transform-overflow-001.xht == reference/transform-overflow-001-ref.xht
+transform-overflow-002.xht == reference/transform-overflow-002-ref.xht
+transform-percent-001.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-002.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-003.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-004.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-005.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-006.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-007.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-008.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-propagate-inherit-boolean-001.xht == reference/transform-propagate-inherit-boolean-ref.xht
+transform-root-bg-001.xht == reference/transform-root-bg-001-ref.xht
+transform-root-bg-002.xht == reference/transform-root-bg-001-ref.xht
+transform-root-bg-003.xht == reference/transform-root-bg-003-ref.xht
+transform-root-bg-004.xht == reference/transform-root-bg-004-ref.xht
+transform-rotate-001.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-002.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-003.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-004.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-005.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-006.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-007.xht == reference/transform-rotate-007-ref.xht != reference/transform-rotate-007-notref.xht
+transform-rounding-001.xht == reference/transform-rounding-ref.xht
+transform-scale-001.xht == reference/transform-scale-ref.xht
+transform-scale-002.xht == reference/transform-scale-ref.xht
+transform-scale-percent-001.xht == reference/transform-scale-percent-ref.xht
+transform-scale-test.xht == reference/transform-scale-test-ref.xht
+transform-scalex-001.xht == reference/transform-scalex-ref.xht
+transform-scaley-001.xht == reference/transform-scaley-ref.xht
+transform-singular-001.xht == reference/transform-singular-ref.xht
+transform-stacking-001.xht == reference/transform-lime-square-ref.xht
+transform-stacking-002.xht == reference/transform-lime-square-ref.xht
+transform-stacking-003.xht == reference/transform-lime-square-ref.xht
+transform-stacking-004.xht == reference/transform-lime-square-ref.xht
+transform-stresstest-001.xht == reference/transform-stresstest-ref.xht
+transform-table-001.xht == reference/transform-table-001-ref.xht != reference/transform-table-001-notref.xht
+transform-table-002.xht == reference/transform-table-001-ref.xht != reference/transform-table-002-notref.xht
+transform-table-003.xht == reference/transform-table-001-ref.xht != reference/transform-table-001-notref.xht
+transform-table-004.xht == reference/transform-table-004-ref.xht != reference/transform-table-004-notref.xht
+transform-table-005.xht == reference/transform-table-004-ref.xht != reference/transform-table-005-notref.xht
+transform-table-006.xht == reference/transform-blank-ref.xht
+transform-table-007.xht == reference/transform-blank-ref.xht
+transform-table-008.xht == reference/transform-blank-ref.xht
+transform-table-009.xht == reference/transform-table-009-ref.xht != reference/transform-table-009-notref.xht
+transform-table-010.xht == reference/transform-table-009-ref.xht != reference/transform-table-010-notref.xht
+transform-table-011.xht == reference/transform-table-009-ref.xht != reference/transform-table-011-notref.xht
+transform-transformable-inline-block.xht == reference/transform-transformable-inline-block-ref.xht
+transform-transformable-inline-table.xht == reference/transform-transformable-inline-table-ref.xht
+transform-transformable-list-item.xht == reference/transform-transformable-list-item-ref.xht
+transform-transformable-table.xht == reference/transform-transformable-table-ref.xht
+transform-transformable-table-caption.xht == reference/transform-transformable-table-caption-ref.xht
+transform-transformable-table-cell.xht == reference/transform-transformable-table-cell-ref.xht
+transform-transformable-table-footer-group.xht == reference/transform-transformable-table-footer-group-ref.xht
+transform-transformable-table-header-group.xht == reference/transform-transformable-table-header-group-ref.xht
+transform-transformable-table-row.xht == reference/transform-transformable-table-row-ref.xht
+transform-transformable-table-row-group.xht == reference/transform-transformable-table-row-group-ref.xht
+transform-translate-001.xht == reference/transform-translate-ref.xht
+transform-translate-002.xht == reference/transform-translate-ref.xht
+transform-translate-003.xht == reference/transform-translate-ref.xht
+transform-translate-004.xht == reference/transform-translate-ref.xht
+transform-translate-005.xht == reference/transform-translate-ref.xht
+transform-translatex-001.xht == reference/transform-translatex-ref.xht
+transform-translatex-002.xht == reference/transform-translatex-ref.xht
+transform-translatex-003.xht == reference/transform-translatex-ref.xht
+transform-translatex-004.xht == reference/transform-translatex-ref.xht
+transform-translatex-005.xht == reference/transform-translatex-ref.xht
+transform-translatex-006.xht == reference/transform-translatex-ref.xht
+transform-translatey-001.xht == reference/transform-translatey-ref.xht
+transform-translatey-002.xht == reference/transform-translatey-ref.xht
+transform-translatey-003.xht == reference/transform-translatey-ref.xht
+transform-translatey-004.xht == reference/transform-translatey-ref.xht
+transform-translatey-005.xht == reference/transform-translatey-ref.xht
+transform3d-backface-visibility-001.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-002.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-003.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-004.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-005.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-006.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-007.xht == reference/transform-lime-square-ref.xht
+transform3d-image-scale-001.xht == reference/transform-lime-square-ref.xht
+transform3d-image-scale-002.xht == reference/transform-lime-square-ref.xht
+transform3d-matrix3d-001.xht == reference/transform3d-matrix3d-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-002.xht == reference/transform3d-matrix3d-002-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-003.xht == reference/transform3d-matrix3d-003-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-004.xht == reference/transform3d-matrix3d-004-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-005.xht == reference/transform3d-matrix3d-005-ref.xht
+transform3d-perspective-001.xht == reference/transform3d-perspective-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-002.xht == reference/transform3d-perspective-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-003.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-004.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-005.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-006.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-007.xht == reference/transform3d-perspective-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-008.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-009.xht == reference/transform3d-perspective-009-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-origin-001.xht == reference/transform3d-perspective-origin-ref.xht != reference/transform-lime-square-ref.xht != transform3d-rotatex-perspective-001.xht != reference/transform3d-rotatex-ref.xht
+transform3d-preserve3d-001.xht == reference/transform3d-preserve3d-001-ref.xht
+transform3d-preserve3d-002.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-003.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-004.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-005.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-006.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-007.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-008.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-009.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-010.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-011.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-012.xht == reference/transform-blank-ref.xht
+transform3d-preserve3d-013.xht == reference/transform3d-preserve3d-013-ref.xht
+transform3d-rotate3d-001.xht == reference/transform3d-rotatex-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotate3d-002.xht == reference/transform3d-rotatey-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotatex-001.xht == reference/transform3d-rotatex-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotatex-perspective-001.xht != reference/transform-lime-square-ref.xht != reference/transform3d-rotatex-ref.xht
+transform3d-rotatex-perspective-002.xht != reference/transform-lime-square-ref.xht != reference/transform3d-rotatex-ref.xht
+transform3d-rotatex-perspective-003.xht == reference/transform3d-rotatex-perspective-ref.xht != reference/transform3d-rotatex-perspective-notref.xht
+transform3d-rotatex-transformorigin-001.xht == reference/transform3d-rotatex-transformorigin-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotatey-001.xht == reference/transform3d-rotatey-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-scale-001.xht == reference/transform3d-scale-001-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-scale-002.xht == reference/transform3d-scale-001-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-scale-003.xht == reference/transform3d-scale-001-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-scale-004.xht == reference/transform-blank-ref.xht
+transform3d-scale-005.xht == reference/transform3d-scale-005-ref.xht
+transform3d-scale-006.xht == reference/transform3d-scale-005-ref.xht
+transform3d-scale-007.xht == reference/transform3d-scale-007-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-sorting-001.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-002.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-003.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-004.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-005.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-006.xht == reference/transform3d-sorting-006-ref.xht
+transform3d-translate3d-001.xht == reference/transform3d-translate3d-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-translatez-001.xht == reference/transform3d-translatez-ref.xht != reference/transform3d-translatez-notref.xht
+transforms-rotate-degree-90.xht == reference/transforms-rotate-degree-90-ref.xht
+transforms-rotate-translate-scale.xht == reference/transforms-rotate-translate-scale-ref.xht
+transforms-rotateY-degree-60.xht == reference/transforms-rotateY-degree-60-ref.xht
+transforms-skewX.xht == reference/transforms-skewX-ref.xht
+transforms-skewY.xht == reference/transforms-skewY-ref.xht
+translate.xht == reference/translate-ref.xht
+translate-optional-second-001.xht == reference/translate-optional-second-ref.xht
+transofrmed-preserve-3d-1.xht == reference/transofrmed-preserve-3d-1-ref.xht
+transofrmed-rotateX-3.xht == reference/transofrmed-rotateX-3-ref.xht
+transofrmed-rotateY-1.xht == reference/transofrmed-rotateY-1-ref.xht
+ttwf-css-3d-polygon-cycle.xht == reference/ttwf-css-3d-polygon-cycle-ref.xht
+ttwf-css-3d-polygon-cycle-mismatch.xht == reference/ttwf-css-3d-polygon-cycle-ref.xht
+ttwf-reftest-rotate.xht == reference/ttwf-reftest-rotate-ref.xht
+ttwf-transform-skewx-001.xht == reference/ttwf-reftest-transform-skewx-001.xht
+ttwf-transform-skewy-001.xht == reference/ttwf-reftest-transform-skewy-001.xht
+ttwf-transform-translatex-001.xht == reference/ttwf-reftest-transform-translatex-001.xht
+ttwf-transform-translatey-001.xht == reference/ttwf-reftest-transform-translatey-001.xht
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-001.xht
new file mode 100644
index 00000000000..ade9411f050
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-001.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (non-text) content</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This test checks that the transform is applied to the named flow non-text content." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-into: f;
+ transform: translateX(100px);
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-002.xht
new file mode 100644
index 00000000000..0e5637e2cf8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-002.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow content element that has a child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This test checks that the child is transformed along with the parent when the
+ transform is applied to a named flow content node" name="assert" />
+ <style>
+ #named-flow-parent {
+ width: 50px;
+ height: 50px;
+ background-color: white;
+ flow-into: f;
+ transform: scaleX(2);
+ transform-origin: left top;
+ }
+ #named-flow-child {
+ width: 50px;
+ height: 100px;
+ background-color: green;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow-parent">
+ <div id="named-flow-child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-003.xht
new file mode 100644
index 00000000000..0706cf9251b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-003.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Named flow content that has a transformed parent outside of the named flow</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This tests checks that when a transform is applied to a parent outside of the named
+ flow but has child in the named flow, the child is not transformed along with the parent." name="assert" />
+ <style>
+ #parent {
+ margin-top: -10px;
+ width: 10px;
+ height: 10px;
+ background-color: red;
+ transform: translateX(-50px);
+ }
+ #child {
+ background-color: green;
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="parent">
+ <div id="child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-004.xht
new file mode 100644
index 00000000000..1c624d7742f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-004.xht
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region using a 3D transform</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This test checks that a 3D transform can be applied to a region" name="assert" />
+ <style>
+
+ #named-flow {
+ width: 75px;
+ height: 75px;
+ background-color: red;
+ border-top: 25px solid green;
+ border-right: 25px solid green;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ margin
+ background-color: red;
+ flow-from: f;
+ transform: rotate3d(1,1,0,180deg);
+ }
+ #square {
+ position: absolute;
+ left: 33px;
+ top: 50px;
+ width: 75px;
+ height: 75px;
+ background-color: green;
+ }
+ #failure1, #failure2 {
+ position: absolute;
+ background-color: red;
+ }
+ #failure1 {
+ width: 25px;
+ height: 100px;
+ }
+ #failure2 {
+ width: 100px;
+ height: 25px;
+ top: 125px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+
+ <div id="failure1"></div>
+ <div id="failure2"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+ <div id="square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-005.xht
new file mode 100644
index 00000000000..97714a32fc2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-005.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
+ once this gets in the spec. -->
+ <meta content="Test checks that content that has a 3D transform does not respect the perspective
+ set on its parent when flowed into a region." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ #parent {
+ width: 100px;
+ height: 100px;
+ perspective: 800px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateY(85deg);
+ color: red;
+ }
+ #region {
+ flow-from: f;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ #green-rect {
+ position: absolute;
+ top: 50px;
+ left: 53px;
+ width: 10px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="region"></div>
+ <div id="parent">
+ <div class="ahem" id="named-flow">
+ XXXXX<br />
+ XXXXX<br />
+ XXXXX<br />
+ XXXXX<br />
+ XXXXX<br />
+ </div>
+ </div>
+ <!-- If the red content is properly transformed, it will be hidden beneath this green div -->
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-006.xht
new file mode 100644
index 00000000000..7a9f339c924
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-006.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: 3D transform on region with named flow (text) content that overflows</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="Test checks that content flowed in a region and overflowing it is still rendered
+ if the region has a 3D transform applied." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 20px;
+ }
+ #named-flow {
+ flow-into: f;
+ width: 100px;
+ height: 100px;
+ color: red;
+ background-color: green;
+ }
+ #region {
+ flow-from: f;
+ transform: rotateZ(90deg);
+ transform-origin: bottom right;
+
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ #green-rect {
+ position: absolute;
+ width: 20px;
+ height: 100px;
+ background-color: green;
+ top: 50px;
+ left: 88px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="region"></div>
+ <div class="ahem" id="named-flow">XXXXX</div>
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-007.xht
new file mode 100644
index 00000000000..296d7eb428b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-007.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: Transforms on both the named flow content and the region</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer author" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="ahem" name="flags" />
+ <meta content="Test checks that if both the content flowed in a region and the region have a
+ transform applied, they are properly composed. More specifically, in this test
+ the content should appear as rotated 180 degrees." name="assert" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 20px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotate(90deg);
+ width: 100px;
+ height: 100px;
+ color: red;
+ background-color: green;
+ }
+ #region {
+ flow-from: f;
+ transform: rotate(90deg);
+ width: 100px;
+ height: 100px;
+ }
+ #green-rect {
+ position: absolute;
+ width: 100px;
+ height: 20px;
+ background-color: green;
+ top: 130px;
+ left: 8px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div class="ahem" id="named-flow">XXXXX</div>
+ <div id="region"></div>
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-008.xht
new file mode 100644
index 00000000000..fd35c2e1d61
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-008.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer author" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-008-ref.xht" rel="match" />
+ <meta content="ahem" name="flags" />
+ <meta content="This test checks that named flow text content is transformed when it breaks across
+ multiple regions and that the overflow remains visible." name="assert" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ #named-flow {
+ color: green;
+ margin-left: -50px;
+ transform: translateX(50px);
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ border: 1px solid black;
+ flow-from: f;
+ }
+ .failure {
+ position: absolute;
+ width: 102px;
+ height: 102px;
+ margin-top: 1px;
+ margin-left: 10px;
+ padding-left: 1px;
+ color: red;
+ z-index: -1;
+ }
+ .left {
+ left: 8px;
+ }
+ .right {
+ left: 120px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="ahem" id="named-flow">XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX</div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+ <div class="ahem failure left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure right">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-009.xht
new file mode 100644
index 00000000000..51659352709
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-009.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-008-ref.xht" rel="match" />
+ <meta content="ahem" name="flags" />
+ <meta content="This test checks that the regions are transformed when named flow text content breaks
+ across multiple regions and that the overflow remains visible." name="assert" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ #named-flow {
+ color: green;
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ float: left;
+ margin-left: 10px;
+ border: 1px solid black;
+ flow-from: f;
+ transform: translateX(50px);
+ }
+ .failure-left,
+ .failure-right {
+ position: absolute;
+ width: 102px;
+ height: 102px;
+ margin-top: 1px;
+ margin-left: 10px;
+ padding-left: 1px;
+ color: red;
+ z-index: -1;
+ }
+ .left {
+ margin-left: -40px;
+ }
+ .failure-left {
+ left: 8px;
+ }
+ .failure-right {
+ left: 120px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="ahem" id="named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div class="region left"></div>
+ <div class="region"></div>
+ <div class="ahem failure-left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure-right">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-010.xht
new file mode 100644
index 00000000000..cd681f49aad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-010.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region with position: relative</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-010-ref.xht" rel="match" />
+ <meta content="This test checks that the transform can be applied on relative positioned region." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ left: -50px;
+ flow-from: f;
+ transform: rotate(90deg);
+ }
+ #failure {
+ position: absolute;
+ width: 98px;
+ height: 98px;
+ left: 60px;
+ top: 50px;
+ background-color: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-011.xht
new file mode 100644
index 00000000000..d6661e1a03e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-011.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region where parent and child are separate named flow content nodes</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-010-ref.xht" rel="match" />
+ <meta content="This test checks that the region is transformed when a parent and its child are
+ separate named flow content nodes flowing into it." name="assert" />
+ <style>
+ #named-flow-parent {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #named-flow-child {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ transform: translateX(-50px) rotate(90deg);
+ transform-origin: right bottom;
+ }
+ #failure {
+ position: absolute;
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 59px;
+ top: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow-parent">
+ <div id="named-flow-child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-012.xht
new file mode 100644
index 00000000000..9db656b7990
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-012.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow content flowing into transformed region</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-010-ref.xht" rel="match" />
+ <meta content="This test checks that named flow text content is transformed when it flows into
+ a region that is also transformed." name="assert" />
+ <style>
+ #named-flow {
+ background-color: red;
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ transform: translateX(100px);
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-from: f;
+ transform: translateX(50px);
+ }
+ #failure {
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ position: absolute;
+ left: 59px;
+ top: 51px;
+ z-index: -1;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-013.xht
new file mode 100644
index 00000000000..e16a4feefb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-013.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#breaking-rules" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#monolithic" rel="help" />
+ <!-- This reference is for UAs that slice monolithic content -->
+ <link href="reference/regions-transforms-013-ref.xht" rel="match" />
+ <!-- This reference is for UAs that overflow monolithic content -->
+ <link href="reference/regions-transforms-013-alt-ref.xht" rel="match" />
+ <meta content="This test checks that the named flow content that is monolithic is transformed when it
+ breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform: scaleY(2);
+ transform-origin: top left;
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ flow-from: f;
+ }
+ #region1 {
+ background-color: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div id="named-flow"></div>
+ <div class="region" id="region1"></div>
+ <div class="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-014.xht
new file mode 100644
index 00000000000..d40b40185c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-014.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transform region with position:absolute and transform-origin</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/regions-transforms-014-ref.xht" rel="match" />
+ <meta content="This test checks that the transform and transform-origin are applied to a region
+ with absolute positioning." name="assert" />
+ <style>
+ #named-flow {
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 50px;
+ height: 50px;
+ background-color: red;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ flow-from: f;
+ transform: scale(2);
+ transform-origin: left top;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-015.xht
new file mode 100644
index 00000000000..a2058d805cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-015.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-014-ref.xht" rel="match" />
+ <meta content="This test checks that the transform and transform-origin are applied to named flow
+ content that flows into a region with absolute positioning." name="assert" /><style>
+ #named-flow {
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ transform: scale(2);
+ flow-into: f;
+ /* need to use transform-origin, otherwise scale will cause the green square to grow past the left &amp; top
+ edges of the region box */
+ transform-origin: left top;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ z-index: 4;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-016.xht
new file mode 100644
index 00000000000..19ceec3d4a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-016.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title></title>
+ <title>CSS Regions: 3D transform on named flow content with perspective()</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-016-ref.xht" rel="match" />
+ <meta content="This test checks that a 3D transform is applied with perspective to named flow content." name="assert" />
+ <style>
+ #region {
+ width: 300px;
+ height: 300px;
+ position: relative;
+ flow-from: f;
+ }
+ #named-flow {
+ width: 200px;
+ height: 200px;
+ margin: 0 auto 60px;
+ background-color: green;
+ flow-into: f;
+ transform: perspective(600px) rotateX(45deg);
+ }
+ #div-red-parent {
+ position: relative;
+ }
+ .div-red {
+ width: 48px;
+ height: 48px;
+ position: absolute;
+ background-color: red;
+ }
+ #div-red1 {
+ left: 64px;
+ top: 38px;
+ }
+ #div-red2 {
+ left: 191px;
+ top: 38px;
+ }
+ #div-red3 {
+ left: 48px;
+ top: 131px;
+ }
+ #div-red4 {
+ left: 207px;
+ top: 131px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green trapezoid and no red.</p>
+ <!-- This test fails in WebKit. See this bug: https://bugs.webkit.org/show_bug.cgi?id=114293 -->
+ <div id="div-red-parent">
+ <div id="div-red1" class="div-red"></div>
+ <div id="div-red2" class="div-red"></div>
+ <div id="div-red3" class="div-red"></div>
+ <div id="div-red4" class="div-red"></div>
+ </div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-017.xht
new file mode 100644
index 00000000000..84d9e2fa7ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-017.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Multiple transformed named flow content nodes that overflow a region</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-017-ref.xht" rel="match" />
+ <meta content="This test checks that multiple named flow content nodes are transformed into a region
+ and that the overflow remains visible." name="assert" />
+ <style>
+ #named-flow-parent {
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ transform: scaleY(2);
+ transform-origin: top left;
+ }
+ #named-flow-1 {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ }
+ #named-flow-2 {
+ width: 100px;
+ height: 50px;
+ background-color: blue;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ #failure {
+ position: absolute;
+ background-color: red;
+ width: 98px;
+ height: 98px;
+ top: 151px;
+ left: 9px;
+ z-index: -1;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and a blue square below it, and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow-parent">
+ <div id="named-flow-1"></div>
+ <div id="named-flow-2"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-018.xht
new file mode 100644
index 00000000000..dab74c92b47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-018.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: 3D transform on named flow (text) content that overflows a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="Test checks that content that is transformed does not clip when flowed in a region." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-018-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 100px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateZ(90deg);
+ color: green;
+ }
+ #region {
+ flow-from: f;
+ border-bottom: 20px solid green;
+ width: 100px;
+ height: 80px;
+ }
+ #failure {
+ position: absolute;
+ width: 18px;
+ height: 78px;
+ background-color: red;
+ top: 151px;
+ left: 49px;
+ z-index: -1;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green cross and no red.</p>
+ <div class="ahem" id="named-flow">
+ XXXXXXXXX
+ </div>
+ <div id="region"></div>
+ <div id="failure"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-019.xht
new file mode 100644
index 00000000000..73aa7e5e3dd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-019.xht
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: 3D transform on named flow (text) content with perspective property set on region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-origin-property" rel="help" />
+ <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
+ once this gets in the spec. -->
+ <meta content="Test checks that the 3D transform is applied named content flow, that the
+ perspective set on the region is applied, and that the content is not clipped when
+ the perspective is shifted" name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-019-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateY(45deg);
+ color: green;
+ }
+ #region {
+ flow-from: f;
+ perspective: 200px;
+ perspective-origin: 100% 50%;
+ width: 100px;
+ height: 100px;
+ margin: 20px;
+ }
+ /* Adding a red div that will be covered by the properly transformed
+ element with the perspective respected */
+ #failure {
+ position: absolute;
+ left: 25px;
+ width: 10px;
+ height: 112px;
+ background-color: red;
+ z-index: -1;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green trapezoid and no red.</p>
+ <div id="failure"></div>
+ <div class="ahem" id="named-flow">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-020.xht
new file mode 100644
index 00000000000..dd147e696c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-020.xht
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#breaking-rules" rel="help" />
+ <link href="reference/regions-transforms-020-ref.xht" rel="match" />
+ <meta content="This test checks that the named flow content that is fragmentable (has a break point)
+ is transformed when it breaks across multiple regions." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ }
+ .src-child {
+ height: 50px;
+ background-color: green;
+ }
+ .region {
+ width: 100px;
+ height: 50px;
+ margin-left: 10px;
+ float: left;
+ background-color: red;
+ flow-from: f;
+ transform: scaleY(2);
+ transform-origin: top left;
+ }
+
+ .failure-div {
+ position: absolute;
+ margin-left: 10px;
+ background-color: red;
+ width: 98px;
+ height: 98px;
+ }
+ .right {
+ left: 119px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div class="failure-div"></div>
+ <div class="failure-div right"></div>
+ <div id="named-flow">
+ <div class="src-child"></div>
+ <div class="src-child"></div>
+ </div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-021.xht
new file mode 100644
index 00000000000..24a18790895
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-021.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-020-ref.xht" rel="match" />
+ <meta content="This test checks that separate transforms can be applied to each named flow content
+ node that breaks across multiple regions and that each fragment has its own transform origin." name="assert" />
+ <style>
+ .named-flow {
+ float: left;
+ background-color: green;
+ flow-into: f;
+ }
+ #named-flow-1 {
+ margin-top: 25px;
+ margin-left: 25px;
+ width: 50px;
+ height: 50px;
+ transform: scale(2);
+ transform-origin: center center;
+ }
+ #named-flow-2 {
+ width: 100px;
+ height: 50px;
+ margin-top: 25px;
+ transform-origin: top left;
+ transform: scaleY(2);
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div id="named-flow-1" class="named-flow"></div>
+ <div id="named-flow-2" class="named-flow"></div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-022.xht
new file mode 100644
index 00000000000..c389f79c6c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/regions-transforms-022.xht
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-020-ref.xht" rel="match" />
+ <meta content="ahem" name="flags" />
+ <meta content="This test checks that separate transforms can be applied to each named flow content
+ text node that breaks across multiple regions" name="assert" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ .named-flow {
+ width: 100px;
+ color: green;
+ flow-into: f;
+ }
+ #named-flow-1 {
+ margin-left: -50px;
+ transform: translateX(50px);
+ }
+ #named-flow-2 {
+ transform: rotate(90deg);
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ flow-from: f;
+ }
+ .failure {
+ width: 100px;
+ height: 100px;
+ position: absolute;
+ float: left;
+ margin-left: 10px;
+ background-color: green;
+ z-index: -1;
+ }
+ .left {
+ color: red;
+ }
+ .right {
+ left: 118px;
+ }
+ .vertical-bar {
+ width: 10px;
+ height: 100px;
+ float: left;
+ background-color: red;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div id="named-flow-1" class="ahem named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div id="named-flow-2" class="ahem named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div class="region"></div>
+ <div class="region"></div>
+ <div class="ahem failure left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure right">
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-180-degrees-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-180-degrees-001.xht
new file mode 100644
index 00000000000..9b6b6bbb688
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-180-degrees-001.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CCSS Test: transform - rotate 180 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(180deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the top of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-270-degrees-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-270-degrees-001.xht
new file mode 100644
index 00000000000..c526243beb8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-270-degrees-001.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CCSS Test: transform - rotate 270 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(270deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the right of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-90-degrees-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-90-degrees-001.xht
new file mode 100644
index 00000000000..e03c5f584ac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate-90-degrees-001.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: transform - rotate 90 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(90deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the left of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotateY.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotateY.xht
new file mode 100644
index 00000000000..0203b800836
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotateY.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotateY</title>
+ <link href="mailto:zrxldl@gmail.com" rel="author" title="Zou Rui" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-05 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey" rel="help" />
+ <link href="reference/rotateY-ref.xht" rel="match" />
+ <meta content="When the value of transform is 'rotateY(90deg)', the foward side of a transformed element disappears." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: rotateY(90deg);
+ }
+
+ .container {
+ position: relative;
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ <div class="redSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_45deg.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_45deg.xht
new file mode 100644
index 00000000000..c891a0ba993
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_45deg.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/rotate_45deg-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Rotate 45 degree in y axis" name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateY(45deg);
+ -webkit-transform: rotateY(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+ <p>45 degree rotate on y axis</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_x_45deg.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_x_45deg.xht
new file mode 100644
index 00000000000..65ffedbd466
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_x_45deg.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateX with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/rotate_x_45deg-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Rotate 45 degree in y axis" name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateX(45deg);
+ //-webkit-transform: rotateX(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_y_45deg.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_y_45deg.xht
new file mode 100644
index 00000000000..44b50952aa6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/rotate_y_45deg.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/rotate_y_45deg-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Rotate 45 degree in y axis" name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateY(45deg);
+ //-webkit-transform: rotateY(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-optional-second-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-optional-second-001.xht
new file mode 100644
index 00000000000..7b84d476944
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-optional-second-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and one parameter</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/scale-optional-second-ref.xht" rel="match" />
+ <meta content="If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform:scale(2);
+ }
+ .redSquare {
+ position: absolute;
+ top: 51px;
+ left: 51px;
+ width: 198px;
+ height: 198px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-zero-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-zero-001.xht
new file mode 100644
index 00000000000..7275d5aeeef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scale-zero-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and zero values</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/scale-zero-ref.xht" rel="match" />
+ <meta content="If zero value is passed to scale function, it causes the element to disappear." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: scale(0);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+ <div class="redSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scalex.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scalex.xht
new file mode 100644
index 00000000000..dd7375b6044
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scalex.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test scale x</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/scalex-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="scale x 2" name="assert" />
+ <style type="text/css">
+ .container {
+ z-index: 11;
+ position: absolute;
+ height: 100px;
+ width: 100px;
+ margin-left: 500px;
+ transform: scaleX(2);
+ //-webkit-transform: scaleX(2);
+ background-color: green;
+ }
+
+ .hidden {
+ z-index: 10;
+ background-color: red;
+ position: absolute;
+ height: 100px;
+ width: 200px;
+ margin-left: 450px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green area, no red area.</p>
+ <div class="container">
+ </div>
+ <div class="hidden">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scaley.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scaley.xht
new file mode 100644
index 00000000000..06b5615217e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/scaley.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test scale y</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/scaley-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="scale y 2" name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ z-index: 11;
+ height: 100px;
+ width: 100px;
+ background-color:green;
+ margin-top: 200px;
+ transform: scaleY(2);
+ //-webkit-transform: scaleY(2);
+ }
+
+ .hidden {
+ position: absolute;
+ z-index: 10;
+ height: 200px;
+ width: 100px;
+ background-color:red;
+ margin-top: 150px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only 1 green area</p>
+ <div class="container">
+ </div>
+
+ <div class="hidden">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/skew-test1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/skew-test1.xht
new file mode 100644
index 00000000000..ac40444387c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/skew-test1.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <meta charset="utf-8" />
+ <title>Testing 1 - skew()</title>
+ <link href="mailto:mymygo@gmail.com" rel="author" title="Myriam Goude" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/skew-test1-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0" name="assert" />
+ <style>
+
+ h4 {clear:both;}
+
+ /* Test 1 - skew on block types */
+
+ svg {
+ position:absolute;
+ }
+
+ div {
+ width:150px;
+ height:150px;
+ background-color:lime;
+ }
+
+ .skew_div {
+
+ transform: skew(30deg,20deg);
+ transform-origin:0 0;
+ }
+
+ </style>
+</head>
+<body>
+
+ <h3>
+ Test 1 - Tests with degrees on block elements.
+ </h3>
+ <h4>
+ There should be a green block on the page
+ </h4>
+ <svg xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <polygon style="fill:red" points="0,0 150,55 235,205 88,150"></polygon>
+ </svg>
+
+ <div class="skew_div">
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-green.png
new file mode 100644
index 00000000000..b98ca0ba0a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-lime.png
new file mode 100644
index 00000000000..cb397fb090e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-maroon.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-maroon.png
new file mode 100644
index 00000000000..3f86b072195
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-maroon.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-navy.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-navy.png
new file mode 100644
index 00000000000..9b9a03955ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-navy.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-red.png
new file mode 100644
index 00000000000..6bd73ac1018
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-white.png
new file mode 100644
index 00000000000..dd43faec54a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/1x1-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/3d-filler.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/3d-filler.html
new file mode 100644
index 00000000000..11e7649eb08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/3d-filler.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+ <meta charset="UTF-8">
+ <title>3D transformed Lorem Ipsum</title>
+ <style>
+ body > p {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ color: green;
+ float: left;
+ position: relative;
+ }
+ .transformed {
+ transform: rotateX(0.001deg) rotateZ(-90deg);
+ transform-origin: top center;
+ }
+ .front {
+ z-index: 10;
+ }
+ .back {
+ z-index: 0;
+ }
+ .marker {
+ color: red;
+ }
+ </style>
+</head>
+<body>
+ <p class="transformed front">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </p>
+ <p class="marker back">
+ xx<br>
+ xx
+ </p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-gg-rr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-gg-rr.png
new file mode 100644
index 00000000000..84f5b2a4f1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-gg-rr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-green.png
new file mode 100644
index 00000000000..b3c8cf3eb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-red.png
new file mode 100644
index 00000000000..823f125b8e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/60x60-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/Three.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/Three.js
new file mode 100644
index 00000000000..60747148474
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/Three.js
@@ -0,0 +1,682 @@
+// Three.js r44 - http://github.com/mrdoob/three.js
+var THREE=THREE||{};if(!window.Int32Array)window.Int32Array=Array,window.Float32Array=Array;THREE.Color=function(b){b!==void 0&&this.setHex(b);return this};
+THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(b){this.r=b.r;this.g=b.g;this.b=b.b;return this},setRGB:function(b,c,e){this.r=b;this.g=c;this.b=e;return this},setHSV:function(b,c,e){var f,h,m;if(e==0)this.r=this.g=this.b=0;else switch(f=Math.floor(b*6),h=b*6-f,b=e*(1-c),m=e*(1-c*h),c=e*(1-c*(1-h)),f){case 1:this.r=m;this.g=e;this.b=b;break;case 2:this.r=b;this.g=e;this.b=c;break;case 3:this.r=b;this.g=m;this.b=e;break;case 4:this.r=c;this.g=b;this.b=e;break;case 5:this.r=
+e;this.g=b;this.b=m;break;case 6:case 0:this.r=e,this.g=c,this.b=b}return this},setHex:function(b){b=Math.floor(b);this.r=(b>>16&255)/255;this.g=(b>>8&255)/255;this.b=(b&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};
+THREE.Vector2=function(b,c){this.x=b||0;this.y=c||0};
+THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(b,c){this.x=b;this.y=c;return this},copy:function(b){this.x=b.x;this.y=b.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;return this},
+divideScalar:function(b){b?(this.x/=b,this.y/=b):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){var c=this.x-b.x,b=this.y-b.y;return c*c+b*b},setLength:function(b){return this.normalize().multiplyScalar(b)},
+equals:function(b){return b.x==this.x&&b.y==this.y}};THREE.Vector3=function(b,c,e){this.x=b||0;this.y=c||0;this.z=e||0};
+THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(b,c,e){this.x=b;this.y=c;this.z=e;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;return this},addScalar:function(b){this.x+=b;this.y+=b;this.z+=b;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=
+b.z-c.z;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;return this},multiply:function(b,c){this.x=b.x*c.x;this.y=b.y*c.y;this.z=b.z*c.z;return this},multiplySelf:function(b){this.x*=b.x;this.y*=b.y;this.z*=b.z;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;return this},divideSelf:function(b){this.x/=b.x;this.y/=b.y;this.z/=b.z;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b):this.set(0,0,0);return this},negate:function(){return this.multiplyScalar(-1)},
+dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},cross:function(b,c){this.x=b.y*c.z-b.z*c.y;this.y=b.z*c.x-b.x*c.z;this.z=b.x*c.y-b.y*c.x;return this},crossSelf:function(b){return this.set(this.y*
+b.z-this.z*b.y,this.z*b.x-this.x*b.z,this.x*b.y-this.y*b.x)},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){return(new THREE.Vector3).sub(this,b).lengthSq()},setPositionFromMatrix:function(b){this.x=b.n14;this.y=b.n24;this.z=b.n34},setRotationFromMatrix:function(b){var c=Math.cos(this.y);this.y=Math.asin(b.n13);Math.abs(c)>1.0E-5?(this.x=Math.atan2(-b.n23/c,b.n33/c),this.z=Math.atan2(-b.n12/c,b.n11/c)):(this.x=0,this.z=Math.atan2(b.n21,b.n22))},isZero:function(){return this.lengthSq()<
+1.0E-4}};THREE.Vector4=function(b,c,e,f){this.x=b||0;this.y=c||0;this.z=e||0;this.w=f||1};
+THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w||1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;this.w=b.w+c.w;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;this.w+=b.w;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=b.z-c.z;this.w=
+b.w-c.w;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;this.w-=b.w;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;this.w*=b;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b,this.w/=b):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z+this.w*b.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},
+normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},lerpSelf:function(b,c){this.x+=(b.x-this.x)*c;this.y+=(b.y-this.y)*c;this.z+=(b.z-this.z)*c;this.w+=(b.w-this.w)*c;return this}};THREE.Ray=function(b,c){this.origin=b||new THREE.Vector3;this.direction=c||new THREE.Vector3};
+THREE.Ray.prototype={constructor:THREE.Ray,intersectScene:function(b){return this.intersectObjects(b.objects)},intersectObjects:function(b){var c,e,f=[];c=0;for(e=b.length;c<e;c++)f=f.concat(this.intersectObject(b[c]));f.sort(function(b,e){return b.distance-e.distance});return f},intersectObject:function(b){function c(b,e,c){var f;f=c.clone().subSelf(b).dot(e);if(f<=0)return null;b=b.clone().addSelf(e.clone().multiplyScalar(f));return c.distanceTo(b)}function e(b,e,c,f){var f=f.clone().subSelf(e),
+c=c.clone().subSelf(e),h=b.clone().subSelf(e),b=f.dot(f),e=f.dot(c),f=f.dot(h),k=c.dot(c),c=c.dot(h),h=1/(b*k-e*e),k=(k*f-e*c)*h,b=(b*c-e*f)*h;return k>0&&b>0&&k+b<1}if(b instanceof THREE.Particle){var f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.scale.x)return[];return[{distance:f,point:b.position,face:null,object:b}]}else if(b instanceof THREE.Mesh){f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.geometry.boundingSphere.radius*Math.max(b.scale.x,
+Math.max(b.scale.y,b.scale.z)))return[];var h,m,k,n,u,p,v,t,x,w,z=b.geometry,y=z.vertices,B=[],f=0;for(h=z.faces.length;f<h;f++)if(m=z.faces[f],x=this.origin.clone(),w=this.direction.clone(),p=b.matrixWorld,k=p.multiplyVector3(m.centroid.clone()).subSelf(x),t=k.dot(w),!(t<=0)&&(k=p.multiplyVector3(y[m.a].position.clone()),n=p.multiplyVector3(y[m.b].position.clone()),u=p.multiplyVector3(y[m.c].position.clone()),p=m instanceof THREE.Face4?p.multiplyVector3(y[m.d].position.clone()):null,v=b.matrixRotationWorld.multiplyVector3(m.normal.clone()),
+t=w.dot(v),b.doubleSided||(b.flipSided?t>0:t<0)))if(t=v.dot((new THREE.Vector3).sub(k,x))/t,x=x.addSelf(w.multiplyScalar(t)),m instanceof THREE.Face3)e(x,k,n,u)&&(m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m));else if(m instanceof THREE.Face4&&(e(x,k,n,p)||e(x,n,u,p)))m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m);B.sort(function(b,e){return b.distance-e.distance});return B}else return[]}};
+THREE.Rectangle=function(){function b(){m=f-c;k=h-e}var c,e,f,h,m,k,n=!0;this.getX=function(){return c};this.getY=function(){return e};this.getWidth=function(){return m};this.getHeight=function(){return k};this.getLeft=function(){return c};this.getTop=function(){return e};this.getRight=function(){return f};this.getBottom=function(){return h};this.set=function(k,m,v,t){n=!1;c=k;e=m;f=v;h=t;b()};this.addPoint=function(k,m){n?(n=!1,c=k,e=m,f=k,h=m):(c=c<k?c:k,e=e<m?e:m,f=f>k?f:k,h=h>m?h:m);b()};this.add3Points=
+function(k,m,v,t,x,w){n?(n=!1,c=k<v?k<x?k:x:v<x?v:x,e=m<t?m<w?m:w:t<w?t:w,f=k>v?k>x?k:x:v>x?v:x,h=m>t?m>w?m:w:t>w?t:w):(c=k<v?k<x?k<c?k:c:x<c?x:c:v<x?v<c?v:c:x<c?x:c,e=m<t?m<w?m<e?m:e:w<e?w:e:t<w?t<e?t:e:w<e?w:e,f=k>v?k>x?k>f?k:f:x>f?x:f:v>x?v>f?v:f:x>f?x:f,h=m>t?m>w?m>h?m:h:w>h?w:h:t>w?t>h?t:h:w>h?w:h);b()};this.addRectangle=function(k){n?(n=!1,c=k.getLeft(),e=k.getTop(),f=k.getRight(),h=k.getBottom()):(c=c<k.getLeft()?c:k.getLeft(),e=e<k.getTop()?e:k.getTop(),f=f>k.getRight()?f:k.getRight(),h=h>
+k.getBottom()?h:k.getBottom());b()};this.inflate=function(k){c-=k;e-=k;f+=k;h+=k;b()};this.minSelf=function(k){c=c>k.getLeft()?c:k.getLeft();e=e>k.getTop()?e:k.getTop();f=f<k.getRight()?f:k.getRight();h=h<k.getBottom()?h:k.getBottom();b()};this.instersects=function(b){return Math.min(f,b.getRight())-Math.max(c,b.getLeft())>=0&&Math.min(h,b.getBottom())-Math.max(e,b.getTop())>=0};this.empty=function(){n=!0;h=f=e=c=0;b()};this.isEmpty=function(){return n}};THREE.Matrix3=function(){this.m=[]};
+THREE.Matrix3.prototype={constructor:THREE.Matrix3,transpose:function(){var b,c=this.m;b=c[1];c[1]=c[3];c[3]=b;b=c[2];c[2]=c[6];c[6]=b;b=c[5];c[5]=c[7];c[7]=b;return this},transposeIntoArray:function(b){var c=this.m;b[0]=c[0];b[1]=c[3];b[2]=c[6];b[3]=c[1];b[4]=c[4];b[5]=c[7];b[6]=c[2];b[7]=c[5];b[8]=c[8];return this}};THREE.Matrix4=function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.set(b||1,c||0,e||0,f||0,h||0,m||1,k||0,n||0,u||0,p||0,v||1,t||0,x||0,w||0,z||0,y||1);this.flat=Array(16);this.m33=new THREE.Matrix3};
+THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.n11=b;this.n12=c;this.n13=e;this.n14=f;this.n21=h;this.n22=m;this.n23=k;this.n24=n;this.n31=u;this.n32=p;this.n33=v;this.n34=t;this.n41=x;this.n42=w;this.n43=z;this.n44=y;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(b){this.set(b.n11,b.n12,b.n13,b.n14,b.n21,b.n22,b.n23,b.n24,b.n31,b.n32,b.n33,b.n34,b.n41,b.n42,b.n43,b.n44);return this},lookAt:function(b,
+c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;m.sub(b,c).normalize();if(m.length()===0)m.z=1;f.cross(e,m).normalize();f.length()===0&&(m.x+=1.0E-4,f.cross(e,m).normalize());h.cross(m,f).normalize();this.n11=f.x;this.n12=h.x;this.n13=m.x;this.n21=f.y;this.n22=h.y;this.n23=m.y;this.n31=f.z;this.n32=h.z;this.n33=m.z;return this},multiplyVector3:function(b){var c=b.x,e=b.y,f=b.z,h=1/(this.n41*c+this.n42*e+this.n43*f+this.n44);b.x=(this.n11*c+this.n12*e+this.n13*f+this.n14)*h;
+b.y=(this.n21*c+this.n22*e+this.n23*f+this.n24)*h;b.z=(this.n31*c+this.n32*e+this.n33*f+this.n34)*h;return b},multiplyVector4:function(b){var c=b.x,e=b.y,f=b.z,h=b.w;b.x=this.n11*c+this.n12*e+this.n13*f+this.n14*h;b.y=this.n21*c+this.n22*e+this.n23*f+this.n24*h;b.z=this.n31*c+this.n32*e+this.n33*f+this.n34*h;b.w=this.n41*c+this.n42*e+this.n43*f+this.n44*h;return b},rotateAxis:function(b){var c=b.x,e=b.y,f=b.z;b.x=c*this.n11+e*this.n12+f*this.n13;b.y=c*this.n21+e*this.n22+f*this.n23;b.z=c*this.n31+
+e*this.n32+f*this.n33;b.normalize();return b},crossVector:function(b){var c=new THREE.Vector4;c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=b.w?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44,G=c.n11,H=c.n12,
+E=c.n13,N=c.n14,F=c.n21,I=c.n22,C=c.n23,K=c.n24,U=c.n31,L=c.n32,O=c.n33,S=c.n34,P=c.n41,o=c.n42,W=c.n43,na=c.n44;this.n11=e*G+f*F+h*U+m*P;this.n12=e*H+f*I+h*L+m*o;this.n13=e*E+f*C+h*O+m*W;this.n14=e*N+f*K+h*S+m*na;this.n21=k*G+n*F+u*U+p*P;this.n22=k*H+n*I+u*L+p*o;this.n23=k*E+n*C+u*O+p*W;this.n24=k*N+n*K+u*S+p*na;this.n31=v*G+t*F+x*U+w*P;this.n32=v*H+t*I+x*L+w*o;this.n33=v*E+t*C+x*O+w*W;this.n34=v*N+t*K+x*S+w*na;this.n41=z*G+y*F+B*U+D*P;this.n42=z*H+y*I+B*L+D*o;this.n43=z*E+y*C+B*O+D*W;this.n44=z*
+N+y*K+B*S+D*na;return this},multiplyToArray:function(b,c,e){this.multiply(b,c);e[0]=this.n11;e[1]=this.n21;e[2]=this.n31;e[3]=this.n41;e[4]=this.n12;e[5]=this.n22;e[6]=this.n32;e[7]=this.n42;e[8]=this.n13;e[9]=this.n23;e[10]=this.n33;e[11]=this.n43;e[12]=this.n14;e[13]=this.n24;e[14]=this.n34;e[15]=this.n44;return this},multiplySelf:function(b){this.multiply(this,b);return this},multiplyScalar:function(b){this.n11*=b;this.n12*=b;this.n13*=b;this.n14*=b;this.n21*=b;this.n22*=b;this.n23*=b;this.n24*=
+b;this.n31*=b;this.n32*=b;this.n33*=b;this.n34*=b;this.n41*=b;this.n42*=b;this.n43*=b;this.n44*=b;return this},determinant:function(){var b=this.n11,c=this.n12,e=this.n13,f=this.n14,h=this.n21,m=this.n22,k=this.n23,n=this.n24,u=this.n31,p=this.n32,v=this.n33,t=this.n34,x=this.n41,w=this.n42,z=this.n43,y=this.n44;return f*k*p*x-e*n*p*x-f*m*v*x+c*n*v*x+e*m*t*x-c*k*t*x-f*k*u*w+e*n*u*w+f*h*v*w-b*n*v*w-e*h*t*w+b*k*t*w+f*m*u*z-c*n*u*z-f*h*p*z+b*n*p*z+c*h*t*z-b*m*t*z-e*m*u*y+c*k*u*y+e*h*p*y-b*k*p*y-c*h*
+v*y+b*m*v*y},transpose:function(){var b;b=this.n21;this.n21=this.n12;this.n12=b;b=this.n31;this.n31=this.n13;this.n13=b;b=this.n32;this.n32=this.n23;this.n23=b;b=this.n41;this.n41=this.n14;this.n14=b;b=this.n42;this.n42=this.n24;this.n24=b;b=this.n43;this.n43=this.n34;this.n43=b;return this},clone:function(){var b=new THREE.Matrix4;b.n11=this.n11;b.n12=this.n12;b.n13=this.n13;b.n14=this.n14;b.n21=this.n21;b.n22=this.n22;b.n23=this.n23;b.n24=this.n24;b.n31=this.n31;b.n32=this.n32;b.n33=this.n33;b.n34=
+this.n34;b.n41=this.n41;b.n42=this.n42;b.n43=this.n43;b.n44=this.n44;return b},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(b){b[0]=
+this.n11;b[1]=this.n21;b[2]=this.n31;b[3]=this.n41;b[4]=this.n12;b[5]=this.n22;b[6]=this.n32;b[7]=this.n42;b[8]=this.n13;b[9]=this.n23;b[10]=this.n33;b[11]=this.n43;b[12]=this.n14;b[13]=this.n24;b[14]=this.n34;b[15]=this.n44;return b},flattenToArrayOffset:function(b,c){b[c]=this.n11;b[c+1]=this.n21;b[c+2]=this.n31;b[c+3]=this.n41;b[c+4]=this.n12;b[c+5]=this.n22;b[c+6]=this.n32;b[c+7]=this.n42;b[c+8]=this.n13;b[c+9]=this.n23;b[c+10]=this.n33;b[c+11]=this.n43;b[c+12]=this.n14;b[c+13]=this.n24;b[c+14]=
+this.n34;b[c+15]=this.n44;return b},setTranslation:function(b,c,e){this.set(1,0,0,b,0,1,0,c,0,0,1,e,0,0,0,1);return this},setScale:function(b,c,e){this.set(b,0,0,0,0,c,0,0,0,0,e,0,0,0,0,1);return this},setRotationX:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(1,0,0,0,0,c,-b,0,0,b,c,0,0,0,0,1);return this},setRotationY:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,0,b,0,0,1,0,0,-b,0,c,0,0,0,0,1);return this},setRotationZ:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,-b,0,
+0,b,c,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(b,c){var e=Math.cos(c),f=Math.sin(c),h=1-e,m=b.x,k=b.y,n=b.z,u=h*m,p=h*k;this.set(u*m+e,u*k-f*n,u*n+f*k,0,u*k+f*n,p*k+e,p*n-f*m,0,u*n-f*k,p*n+f*m,h*n*n+e,0,0,0,0,1);return this},setPosition:function(b){this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},getPosition:function(){if(!this.position)this.position=new THREE.Vector3;this.position.set(this.n14,this.n24,this.n34);return this.position},getColumnX:function(){if(!this.columnX)this.columnX=
+new THREE.Vector3;this.columnX.set(this.n11,this.n21,this.n31);return this.columnX},getColumnY:function(){if(!this.columnY)this.columnY=new THREE.Vector3;this.columnY.set(this.n12,this.n22,this.n32);return this.columnY},getColumnZ:function(){if(!this.columnZ)this.columnZ=new THREE.Vector3;this.columnZ.set(this.n13,this.n23,this.n33);return this.columnZ},setRotationFromEuler:function(b,c){var e=b.x,f=b.y,h=b.z,m=Math.cos(e),e=Math.sin(e),k=Math.cos(f),f=Math.sin(f),n=Math.cos(h),h=Math.sin(h);switch(c){case "YXZ":var u=
+k*n,p=k*h,v=f*n,t=f*h;this.n11=u+t*e;this.n12=v*e-p;this.n13=m*f;this.n21=m*h;this.n22=m*n;this.n23=-e;this.n31=p*e-v;this.n32=t+u*e;this.n33=m*k;break;case "ZXY":u=k*n;p=k*h;v=f*n;t=f*h;this.n11=u-t*e;this.n12=-m*h;this.n13=v+p*e;this.n21=p+v*e;this.n22=m*n;this.n23=t-u*e;this.n31=-m*f;this.n32=e;this.n33=m*k;break;case "ZYX":u=m*n;p=m*h;v=e*n;t=e*h;this.n11=k*n;this.n12=v*f-p;this.n13=u*f+t;this.n21=k*h;this.n22=t*f+u;this.n23=p*f-v;this.n31=-f;this.n32=e*k;this.n33=m*k;break;case "YZX":u=m*k;p=
+m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=t-u*h;this.n13=v*h+p;this.n21=h;this.n22=m*n;this.n23=-e*n;this.n31=-f*n;this.n32=p*h+v;this.n33=u-t*h;break;case "XZY":u=m*k;p=m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=-h;this.n13=f*n;this.n21=u*h+t;this.n22=m*n;this.n23=p*h-v;this.n31=v*h-p;this.n32=e*n;this.n33=t*h+u;break;default:u=m*n,p=m*h,v=e*n,t=e*h,this.n11=k*n,this.n12=-k*h,this.n13=f,this.n21=p+v*f,this.n22=u-t*f,this.n23=-e*k,this.n31=t-u*f,this.n32=v+p*f,this.n33=m*k}return this},setRotationFromQuaternion:function(b){var c=
+b.x,e=b.y,f=b.z,h=b.w,m=c+c,k=e+e,n=f+f,b=c*m,u=c*k;c*=n;var p=e*k;e*=n;f*=n;m*=h;k*=h;h*=n;this.n11=1-(p+f);this.n12=u-h;this.n13=c+k;this.n21=u+h;this.n22=1-(b+f);this.n23=e-m;this.n31=c-k;this.n32=e+m;this.n33=1-(b+p);return this},scale:function(b){var c=b.x,e=b.y,b=b.z;this.n11*=c;this.n12*=e;this.n13*=b;this.n21*=c;this.n22*=e;this.n23*=b;this.n31*=c;this.n32*=e;this.n33*=b;this.n41*=c;this.n42*=e;this.n43*=b;return this},compose:function(b,c,e){var f=THREE.Matrix4.__m1,h=THREE.Matrix4.__m2;
+f.identity();f.setRotationFromQuaternion(c);h.setScale(e.x,e.y,e.z);this.multiply(f,h);this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},decompose:function(b,c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;f.set(this.n11,this.n21,this.n31);h.set(this.n12,this.n22,this.n32);m.set(this.n13,this.n23,this.n33);b=b instanceof THREE.Vector3?b:new THREE.Vector3;c=c instanceof THREE.Quaternion?c:new THREE.Quaternion;e=e instanceof THREE.Vector3?e:new THREE.Vector3;e.x=f.length();
+e.y=h.length();e.z=m.length();b.x=this.n14;b.y=this.n24;b.z=this.n34;f=THREE.Matrix4.__m1;f.copy(this);f.n11/=e.x;f.n21/=e.x;f.n31/=e.x;f.n12/=e.y;f.n22/=e.y;f.n32/=e.y;f.n13/=e.z;f.n23/=e.z;f.n33/=e.z;c.setFromRotationMatrix(f);return[b,c,e]},extractPosition:function(b){this.n14=b.n14;this.n24=b.n24;this.n34=b.n34},extractRotation:function(b,c){var e=1/c.x,f=1/c.y,h=1/c.z;this.n11=b.n11*e;this.n21=b.n21*e;this.n31=b.n31*e;this.n12=b.n12*f;this.n22=b.n22*f;this.n32=b.n32*f;this.n13=b.n13*h;this.n23=
+b.n23*h;this.n33=b.n33*h}};
+THREE.Matrix4.makeInvert=function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44;c===void 0&&(c=new THREE.Matrix4);c.n11=u*w*y-p*x*y+p*t*B-n*w*B-u*t*D+n*x*D;c.n12=m*x*y-h*w*y-m*t*B+f*w*B+h*t*D-f*x*D;c.n13=h*p*y-m*u*y+m*n*B-f*p*B-h*n*D+f*u*D;c.n14=m*u*t-h*p*t-m*n*x+f*p*x+h*n*w-f*u*w;c.n21=p*x*z-u*w*z-p*v*B+k*w*B+u*v*D-k*x*D;c.n22=h*w*z-m*x*z+m*v*B-e*w*B-h*v*D+e*x*D;c.n23=m*u*z-h*p*z-m*k*B+e*p*B+h*k*D-e*u*D;c.n24=
+h*p*v-m*u*v+m*k*x-e*p*x-h*k*w+e*u*w;c.n31=n*w*z-p*t*z+p*v*y-k*w*y-n*v*D+k*t*D;c.n32=m*t*z-f*w*z-m*v*y+e*w*y+f*v*D-e*t*D;c.n33=h*p*z-m*n*z+m*k*y-e*p*y-f*k*D+e*n*D;c.n34=m*n*v-f*p*v-m*k*t+e*p*t+f*k*w-e*n*w;c.n41=u*t*z-n*x*z-u*v*y+k*x*y+n*v*B-k*t*B;c.n42=f*x*z-h*t*z+h*v*y-e*x*y-f*v*B+e*t*B;c.n43=h*n*z-f*u*z-h*k*y+e*u*y+f*k*B-e*n*B;c.n44=f*u*v-h*n*v+h*k*t-e*u*t-f*k*x+e*n*x;c.multiplyScalar(1/b.determinant());return c};
+THREE.Matrix4.makeInvert3x3=function(b){var c=b.m33,e=c.m,f=b.n33*b.n22-b.n32*b.n23,h=-b.n33*b.n21+b.n31*b.n23,m=b.n32*b.n21-b.n31*b.n22,k=-b.n33*b.n12+b.n32*b.n13,n=b.n33*b.n11-b.n31*b.n13,u=-b.n32*b.n11+b.n31*b.n12,p=b.n23*b.n12-b.n22*b.n13,v=-b.n23*b.n11+b.n21*b.n13,t=b.n22*b.n11-b.n21*b.n12,b=b.n11*f+b.n21*k+b.n31*p;b==0&&console.error("THREE.Matrix4.makeInvert3x3: Matrix not invertible.");b=1/b;e[0]=b*f;e[1]=b*h;e[2]=b*m;e[3]=b*k;e[4]=b*n;e[5]=b*u;e[6]=b*p;e[7]=b*v;e[8]=b*t;return c};
+THREE.Matrix4.makeFrustum=function(b,c,e,f,h,m){var k;k=new THREE.Matrix4;k.n11=2*h/(c-b);k.n12=0;k.n13=(c+b)/(c-b);k.n14=0;k.n21=0;k.n22=2*h/(f-e);k.n23=(f+e)/(f-e);k.n24=0;k.n31=0;k.n32=0;k.n33=-(m+h)/(m-h);k.n34=-2*m*h/(m-h);k.n41=0;k.n42=0;k.n43=-1;k.n44=0;return k};THREE.Matrix4.makePerspective=function(b,c,e,f){var h,b=e*Math.tan(b*Math.PI/360);h=-b;return THREE.Matrix4.makeFrustum(h*c,b*c,h,b,e,f)};
+THREE.Matrix4.makeOrtho=function(b,c,e,f,h,m){var k,n,u,p;k=new THREE.Matrix4;n=c-b;u=e-f;p=m-h;k.n11=2/n;k.n12=0;k.n13=0;k.n14=-((c+b)/n);k.n21=0;k.n22=2/u;k.n23=0;k.n24=-((e+f)/u);k.n31=0;k.n32=0;k.n33=-2/p;k.n34=-((m+h)/p);k.n41=0;k.n42=0;k.n43=0;k.n44=1;return k};THREE.Matrix4.__v1=new THREE.Vector3;THREE.Matrix4.__v2=new THREE.Vector3;THREE.Matrix4.__v3=new THREE.Vector3;THREE.Matrix4.__m1=new THREE.Matrix4;THREE.Matrix4.__m2=new THREE.Matrix4;
+THREE.Object3D=function(){this.id=THREE.Object3DCount++;this.name="";this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder="XYZ";this.scale=new THREE.Vector3(1,1,1);this.flipSided=this.doubleSided=this.dynamic=!1;this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
+!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.boundRadius=0;this.boundRadiusScale=1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
+THREE.Object3D.prototype={constructor:THREE.Object3D,translate:function(b,c){this.matrix.rotateAxis(c);this.position.addSelf(c.multiplyScalar(b))},translateX:function(b){this.translate(b,this._vector.set(1,0,0))},translateY:function(b){this.translate(b,this._vector.set(0,1,0))},translateZ:function(b){this.translate(b,this._vector.set(0,0,1))},lookAt:function(b){this.matrix.lookAt(b,this.position,this.up);this.rotationAutoUpdate&&this.rotation.setRotationFromMatrix(this.matrix)},addChild:function(b){if(this.children.indexOf(b)===
+-1){b.parent!==void 0&&b.parent.removeChild(b);b.parent=this;this.children.push(b);for(var c=this;c.parent!==void 0;)c=c.parent;c!==void 0&&c instanceof THREE.Scene&&c.addChildRecurse(b)}},removeChild:function(b){var c=this.children.indexOf(b);if(c!==-1)b.parent=void 0,this.children.splice(c,1)},getChildByName:function(b,c){var e,f,h;e=0;for(f=this.children.length;e<f;e++){h=this.children[e];if(h.name===b)return h;if(c&&(h=h.getChildByName(b,c),h!==void 0))return h}},updateMatrix:function(){this.matrix.setPosition(this.position);
+this.useQuaternion?this.matrix.setRotationFromQuaternion(this.quaternion):this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder);if(this.scale.x!==1||this.scale.y!==1||this.scale.z!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,Math.max(this.scale.y,this.scale.z));this.matrixWorldNeedsUpdate=!0},update:function(b,c,e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||c)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),
+this.matrixRotationWorld.extractRotation(this.matrixWorld,this.scale),this.matrixWorldNeedsUpdate=!1,c=!0;for(var b=0,f=this.children.length;b<f;b++)this.children[b].update(this.matrixWorld,c,e)}};THREE.Object3DCount=0;
+THREE.Projector=function(){function b(){var b=u[n]=u[n]||new THREE.RenderableVertex;n++;return b}function c(b,e){return e.z-b.z}function e(b,e){var c=0,f=1,k=b.z+b.w,h=e.z+e.w,m=-b.z+b.w,n=-e.z+e.w;return k>=0&&h>=0&&m>=0&&n>=0?!0:k<0&&h<0||m<0&&n<0?!1:(k<0?c=Math.max(c,k/(k-h)):h<0&&(f=Math.min(f,k/(k-h))),m<0?c=Math.max(c,m/(m-n)):n<0&&(f=Math.min(f,m/(m-n))),f<c?!1:(b.lerpSelf(e,c),e.lerpSelf(b,1-f),!0))}var f,h,m=[],k,n,u=[],p,v,t=[],x,w=[],z,y,B=[],D,G,H=[],E=[],N=[],F=new THREE.Vector4,I=new THREE.Vector4,
+C=new THREE.Matrix4,K=new THREE.Matrix4,U=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],L=new THREE.Vector4,O=new THREE.Vector4;this.projectVector=function(b,e){C.multiply(e.projectionMatrix,e.matrixWorldInverse);C.multiplyVector3(b);return b};this.unprojectVector=function(b,e){C.multiply(e.matrixWorld,THREE.Matrix4.makeInvert(e.projectionMatrix));C.multiplyVector3(b);return b};this.projectObjects=function(b,e,k){var n,u;h=E.length=0;
+n=b.objects;b=0;for(e=n.length;b<e;b++){u=n[b];var w;if(!(w=!u.visible))if(w=u instanceof THREE.Mesh)if(w=u.frustumCulled){a:{w=void 0;for(var t=u.matrixWorld,p=-u.geometry.boundingSphere.radius*Math.max(u.scale.x,Math.max(u.scale.y,u.scale.z)),v=0;v<6;v++)if(w=U[v].x*t.n14+U[v].y*t.n24+U[v].z*t.n34+U[v].w,w<=p){w=!1;break a}w=!0}w=!w}if(!w)w=m[h]=m[h]||new THREE.RenderableObject,h++,f=w,F.copy(u.position),C.multiplyVector3(F),f.object=u,f.z=F.z,E.push(f)}k&&E.sort(c);return E};this.projectScene=
+function(f,h,m){var E=h.near,F=h.far,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa,V,pa,va,ra;G=y=x=v=N.length=0;h.matrixAutoUpdate&&h.update(void 0,!0);f.update(void 0,!1,h);C.multiply(h.projectionMatrix,h.matrixWorldInverse);U[0].set(C.n41-C.n11,C.n42-C.n12,C.n43-C.n13,C.n44-C.n14);U[1].set(C.n41+C.n11,C.n42+C.n12,C.n43+C.n13,C.n44+C.n14);U[2].set(C.n41+C.n21,C.n42+C.n22,C.n43+C.n23,C.n44+C.n24);U[3].set(C.n41-C.n21,C.n42-C.n22,C.n43-C.n23,C.n44-C.n24);U[4].set(C.n41-C.n31,C.n42-C.n32,C.n43-C.n33,C.n44-C.n34);
+U[5].set(C.n41+C.n31,C.n42+C.n32,C.n43+C.n33,C.n44+C.n34);for(R=0;R<6;R++)ca=U[R],ca.divideScalar(Math.sqrt(ca.x*ca.x+ca.y*ca.y+ca.z*ca.z));ca=this.projectObjects(f,h,!0);f=0;for(R=ca.length;f<R;f++)if(X=ca[f].object,X.visible)if(ja=X.matrixWorld,ea=X.matrixRotationWorld,qa=X.materials,V=X.overdraw,n=0,X instanceof THREE.Mesh){pa=X.geometry;ma=pa.vertices;va=pa.faces;pa=pa.faceVertexUvs;ia=0;for(aa=ma.length;ia<aa;ia++)k=b(),k.positionWorld.copy(ma[ia].position),ja.multiplyVector3(k.positionWorld),
+k.positionScreen.copy(k.positionWorld),C.multiplyVector4(k.positionScreen),k.positionScreen.x/=k.positionScreen.w,k.positionScreen.y/=k.positionScreen.w,k.visible=k.positionScreen.z>E&&k.positionScreen.z<F;ma=0;for(ia=va.length;ma<ia;ma++){aa=va[ma];if(aa instanceof THREE.Face3)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],fa.visible&&ga.visible&&da.visible&&(X.doubleSided||X.flipSided!=(da.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-(da.positionScreen.y-fa.positionScreen.y)*
+(ga.positionScreen.x-fa.positionScreen.x)<0))$=t[v]=t[v]||new THREE.RenderableFace3,v++,p=$,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da);else continue;else if(aa instanceof THREE.Face4)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],$=u[aa.d],fa.visible&&ga.visible&&da.visible&&$.visible&&(X.doubleSided||X.flipSided!=(($.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-($.positionScreen.y-fa.positionScreen.y)*(ga.positionScreen.x-fa.positionScreen.x)<0||(ga.positionScreen.x-da.positionScreen.x)*
+($.positionScreen.y-da.positionScreen.y)-(ga.positionScreen.y-da.positionScreen.y)*($.positionScreen.x-da.positionScreen.x)<0)))ra=w[x]=w[x]||new THREE.RenderableFace4,x++,p=ra,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da),p.v4.copy($);else continue;p.normalWorld.copy(aa.normal);ea.multiplyVector3(p.normalWorld);p.centroidWorld.copy(aa.centroid);ja.multiplyVector3(p.centroidWorld);p.centroidScreen.copy(p.centroidWorld);C.multiplyVector3(p.centroidScreen);da=aa.vertexNormals;fa=0;for(ga=da.length;fa<ga;fa++)$=
+p.vertexNormalsWorld[fa],$.copy(da[fa]),ea.multiplyVector3($);fa=0;for(ga=pa.length;fa<ga;fa++)if(ra=pa[fa][ma]){da=0;for($=ra.length;da<$;da++)p.uvs[fa][da]=ra[da]}p.meshMaterials=qa;p.faceMaterials=aa.materials;p.overdraw=V;p.z=p.centroidScreen.z;N.push(p)}}else if(X instanceof THREE.Line){K.multiply(C,ja);ma=X.geometry.vertices;fa=b();fa.positionScreen.copy(ma[0].position);K.multiplyVector4(fa.positionScreen);ia=1;for(aa=ma.length;ia<aa;ia++)if(fa=b(),fa.positionScreen.copy(ma[ia].position),K.multiplyVector4(fa.positionScreen),
+ga=u[n-2],L.copy(fa.positionScreen),O.copy(ga.positionScreen),e(L,O))L.multiplyScalar(1/L.w),O.multiplyScalar(1/O.w),ja=B[y]=B[y]||new THREE.RenderableLine,y++,z=ja,z.v1.positionScreen.copy(L),z.v2.positionScreen.copy(O),z.z=Math.max(L.z,O.z),z.materials=X.materials,N.push(z)}else if(X instanceof THREE.Particle&&(I.set(X.matrixWorld.n14,X.matrixWorld.n24,X.matrixWorld.n34,1),C.multiplyVector4(I),I.z/=I.w,I.z>0&&I.z<1))ja=H[G]=H[G]||new THREE.RenderableParticle,G++,D=ja,D.x=I.x/I.w,D.y=I.y/I.w,D.z=
+I.z,D.rotation=X.rotation.z,D.scale.x=X.scale.x*Math.abs(D.x-(I.x+h.projectionMatrix.n11)/(I.w+h.projectionMatrix.n14)),D.scale.y=X.scale.y*Math.abs(D.y-(I.y+h.projectionMatrix.n22)/(I.w+h.projectionMatrix.n24)),D.materials=X.materials,N.push(D);m&&N.sort(c);return N}};THREE.Quaternion=function(b,c,e,f){this.set(b||0,c||0,e||0,f!==void 0?f:1)};
+THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w;return this},setFromEuler:function(b){var c=0.5*Math.PI/360,e=b.x*c,f=b.y*c,h=b.z*c,b=Math.cos(f),f=Math.sin(f),c=Math.cos(-h),h=Math.sin(-h),m=Math.cos(e),e=Math.sin(e),k=b*c,n=f*h;this.w=k*m-n*e;this.x=k*e+n*m;this.y=f*c*m+b*h*e;this.z=b*h*m-f*c*e;return this},setFromAxisAngle:function(b,c){var e=c/2,f=Math.sin(e);
+this.x=b.x*f;this.y=b.y*f;this.z=b.z*f;this.w=Math.cos(e);return this},setFromRotationMatrix:function(b){var c=Math.pow(b.determinant(),1/3);this.w=Math.sqrt(Math.max(0,c+b.n11+b.n22+b.n33))/2;this.x=Math.sqrt(Math.max(0,c+b.n11-b.n22-b.n33))/2;this.y=Math.sqrt(Math.max(0,c-b.n11+b.n22-b.n33))/2;this.z=Math.sqrt(Math.max(0,c-b.n11-b.n22+b.n33))/2;this.x=b.n32-b.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=b.n13-b.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=b.n21-b.n12<0?-Math.abs(this.z):Math.abs(this.z);
+this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var b=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);b==0?this.w=this.z=this.y=this.x=0:(b=1/b,this.x*=b,this.y*=b,this.z*=b,this.w*=b);return this},multiplySelf:function(b){var c=
+this.x,e=this.y,f=this.z,h=this.w,m=b.x,k=b.y,n=b.z,b=b.w;this.x=c*b+h*m+e*n-f*k;this.y=e*b+h*k+f*m-c*n;this.z=f*b+h*n+c*k-e*m;this.w=h*b-c*m-e*k-f*n;return this},multiply:function(b,c){this.x=b.x*c.w+b.y*c.z-b.z*c.y+b.w*c.x;this.y=-b.x*c.z+b.y*c.w+b.z*c.x+b.w*c.y;this.z=b.x*c.y-b.y*c.x+b.z*c.w+b.w*c.z;this.w=-b.x*c.x-b.y*c.y-b.z*c.z+b.w*c.w;return this},multiplyVector3:function(b,c){c||(c=b);var e=b.x,f=b.y,h=b.z,m=this.x,k=this.y,n=this.z,u=this.w,p=u*e+k*h-n*f,v=u*f+n*e-m*h,t=u*h+m*f-k*e,e=-m*
+e-k*f-n*h;c.x=p*u+e*-m+v*-n-t*-k;c.y=v*u+e*-k+t*-m-p*-n;c.z=t*u+e*-n+p*-k-v*-m;return c}};THREE.Quaternion.slerp=function(b,c,e,f){var h=b.w*c.w+b.x*c.x+b.y*c.y+b.z*c.z;if(Math.abs(h)>=1)return e.w=b.w,e.x=b.x,e.y=b.y,e.z=b.z,e;var m=Math.acos(h),k=Math.sqrt(1-h*h);if(Math.abs(k)<0.001)return e.w=0.5*(b.w+c.w),e.x=0.5*(b.x+c.x),e.y=0.5*(b.y+c.y),e.z=0.5*(b.z+c.z),e;h=Math.sin((1-f)*m)/k;f=Math.sin(f*m)/k;e.w=b.w*h+c.w*f;e.x=b.x*h+c.x*f;e.y=b.y*h+c.y*f;e.z=b.z*h+c.z*f;return e};
+THREE.Vertex=function(b){this.position=b||new THREE.Vector3};THREE.Face3=function(b,c,e,f,h,m){this.a=b;this.b=c;this.c=e;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=h instanceof THREE.Color?h:new THREE.Color;this.vertexColors=h instanceof Array?h:[];this.vertexTangents=[];this.materials=m instanceof Array?m:[m];this.centroid=new THREE.Vector3};
+THREE.Face4=function(b,c,e,f,h,m,k){this.a=b;this.b=c;this.c=e;this.d=f;this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3;this.vertexNormals=h instanceof Array?h:[];this.color=m instanceof THREE.Color?m:new THREE.Color;this.vertexColors=m instanceof Array?m:[];this.vertexTangents=[];this.materials=k instanceof Array?k:[k];this.centroid=new THREE.Vector3};THREE.UV=function(b,c){this.u=b||0;this.v=c||0};
+THREE.UV.prototype={constructor:THREE.UV,set:function(b,c){this.u=b;this.v=c;return this},copy:function(b){this.u=b.u;this.v=b.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}};
+THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.faces=[];this.edges=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1};
+THREE.Geometry.prototype={constructor:THREE.Geometry,computeCentroids:function(){var b,c,e;b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e.centroid.set(0,0,0),e instanceof THREE.Face3?(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),e.centroid.divideScalar(3)):e instanceof THREE.Face4&&(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),
+e.centroid.addSelf(this.vertices[e.d].position),e.centroid.divideScalar(4))},computeFaceNormals:function(b){var c,e,f,h,m,k,n=new THREE.Vector3,u=new THREE.Vector3;f=0;for(h=this.faces.length;f<h;f++){m=this.faces[f];if(b&&m.vertexNormals.length){n.set(0,0,0);c=0;for(e=m.vertexNormals.length;c<e;c++)n.addSelf(m.vertexNormals[c]);n.divideScalar(3)}else c=this.vertices[m.a],e=this.vertices[m.b],k=this.vertices[m.c],n.sub(k.position,e.position),u.sub(c.position,e.position),n.crossSelf(u);n.isZero()||
+n.normalize();m.normal.copy(n)}},computeVertexNormals:function(){var b,c,e,f;if(this.__tmpVertices==void 0){f=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)f[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)if(e=this.faces[b],e instanceof THREE.Face3)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(e instanceof THREE.Face4)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}else{f=
+this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)f[b].set(0,0,0)}b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal)):e instanceof THREE.Face4&&(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal),f[e.d].addSelf(e.normal));b=0;for(c=this.vertices.length;b<c;b++)f[b].normalize();b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(e.vertexNormals[0].copy(f[e.a]),
+e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c])):e instanceof THREE.Face4&&(e.vertexNormals[0].copy(f[e.a]),e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c]),e.vertexNormals[3].copy(f[e.d]))},computeTangents:function(){function b(b,e,c,f,h,m,o){n=b.vertices[e].position;u=b.vertices[c].position;p=b.vertices[f].position;v=k[h];t=k[m];x=k[o];w=u.x-n.x;z=p.x-n.x;y=u.y-n.y;B=p.y-n.y;D=u.z-n.z;G=p.z-n.z;H=t.u-v.u;E=x.u-v.u;N=t.v-v.v;F=x.v-v.v;I=1/(H*F-E*N);L.set((F*w-N*z)*
+I,(F*y-N*B)*I,(F*D-N*G)*I);O.set((H*z-E*w)*I,(H*B-E*y)*I,(H*G-E*D)*I);K[e].addSelf(L);K[c].addSelf(L);K[f].addSelf(L);U[e].addSelf(O);U[c].addSelf(O);U[f].addSelf(O)}var c,e,f,h,m,k,n,u,p,v,t,x,w,z,y,B,D,G,H,E,N,F,I,C,K=[],U=[],L=new THREE.Vector3,O=new THREE.Vector3,S=new THREE.Vector3,P=new THREE.Vector3,o=new THREE.Vector3;c=0;for(e=this.vertices.length;c<e;c++)K[c]=new THREE.Vector3,U[c]=new THREE.Vector3;c=0;for(e=this.faces.length;c<e;c++)m=this.faces[c],k=this.faceVertexUvs[0][c],m instanceof
+THREE.Face3?b(this,m.a,m.b,m.c,0,1,2):m instanceof THREE.Face4&&(b(this,m.a,m.b,m.c,0,1,2),b(this,m.a,m.b,m.d,0,1,3));var W=["a","b","c","d"];c=0;for(e=this.faces.length;c<e;c++){m=this.faces[c];for(f=0;f<m.vertexNormals.length;f++)o.copy(m.vertexNormals[f]),h=m[W[f]],C=K[h],S.copy(C),S.subSelf(o.multiplyScalar(o.dot(C))).normalize(),P.cross(m.vertexNormals[f],C),h=P.dot(U[h]),h=h<0?-1:1,m.vertexTangents[f]=new THREE.Vector4(S.x,S.y,S.z,h)}this.hasTangents=!0},computeBoundingBox:function(){var b;
+if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,e=this.vertices.length;c<e;c++){b=this.vertices[c];if(b.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=b.position.x;else if(b.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=b.position.x;if(b.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=b.position.y;
+else if(b.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=b.position.y;if(b.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=b.position.z;else if(b.position.z>this.boundingBox.z[1])this.boundingBox.z[1]=b.position.z}}},computeBoundingSphere:function(){for(var b=0,c=0,e=this.vertices.length;c<e;c++)b=Math.max(b,this.vertices[c].position.length());this.boundingSphere={radius:b}},computeEdgeFaces:function(){function b(b,e){return Math.min(b,e)+"_"+Math.max(b,e)}function c(b,e,c){b[e]===
+void 0?(b[e]={set:{},array:[]},b[e].set[c]=1,b[e].array.push(c)):b[e].set[c]===void 0&&(b[e].set[c]=1,b[e].array.push(c))}var e,f,h,m,k,n={};e=0;for(f=this.faces.length;e<f;e++)k=this.faces[e],k instanceof THREE.Face3?(h=b(k.a,k.b),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.a,k.c),c(n,h,e)):k instanceof THREE.Face4&&(h=b(k.b,k.d),c(n,h,e),h=b(k.a,k.b),c(n,h,e),h=b(k.a,k.d),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.c,k.d),c(n,h,e));e=0;for(f=this.edges.length;e<f;e++){k=this.edges[e];h=k.vertexIndices[0];m=k.vertexIndices[1];
+k.faceIndices=n[b(h,m)].array;for(h=0;h<k.faceIndices.length;h++)m=k.faceIndices[h],k.faces.push(this.faces[m])}}};THREE.GeometryCount=0;
+THREE.Spline=function(b){function c(b,e,c,f,k,h,m){b=(c-b)*0.5;f=(f-e)*0.5;return(2*(e-c)+b+f)*m+(-3*(e-c)-2*b-f)*h+b*k+e}this.points=b;var e=[],f={x:0,y:0,z:0},h,m,k,n,u,p,v,t,x;this.initFromArray=function(b){this.points=[];for(var e=0;e<b.length;e++)this.points[e]={x:b[e][0],y:b[e][1],z:b[e][2]}};this.getPoint=function(b){h=(this.points.length-1)*b;m=Math.floor(h);k=h-m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>this.points.length-2?m:m+1;e[3]=m>this.points.length-3?m:m+2;p=this.points[e[0]];v=this.points[e[1]];
+t=this.points[e[2]];x=this.points[e[3]];n=k*k;u=k*n;f.x=c(p.x,v.x,t.x,x.x,k,n,u);f.y=c(p.y,v.y,t.y,x.y,k,n,u);f.z=c(p.z,v.z,t.z,x.z,k,n,u);return f};this.getControlPointsArray=function(){var b,e,c=this.points.length,f=[];for(b=0;b<c;b++)e=this.points[b],f[b]=[e.x,e.y,e.z];return f};this.getLength=function(b){var e,c,f=e=e=0,k=new THREE.Vector3,h=new THREE.Vector3,m=[],n=0;m[0]=0;b||(b=100);c=this.points.length*b;k.copy(this.points[0]);for(b=1;b<c;b++)e=b/c,position=this.getPoint(e),h.copy(position),
+n+=h.distanceTo(k),k.copy(position),e*=this.points.length-1,e=Math.floor(e),e!=f&&(m[e]=n,f=e);m[m.length]=n;return{chunks:m,total:n}};this.reparametrizeByArcLength=function(b){var e,c,f,k,h,m,n=[],u=new THREE.Vector3,t=this.getLength();n.push(u.copy(this.points[0]).clone());for(e=1;e<this.points.length;e++){c=t.chunks[e]-t.chunks[e-1];m=Math.ceil(b*c/t.total);k=(e-1)/(this.points.length-1);h=e/(this.points.length-1);for(c=1;c<m-1;c++)f=k+c*(1/m)*(h-k),position=this.getPoint(f),n.push(u.copy(position).clone());
+n.push(u.copy(this.points[e]).clone())}this.points=n}};THREE.Edge=function(b,c,e,f){this.vertices=[b,c];this.vertexIndices=[e,f];this.faces=[];this.faceIndices=[]};THREE.Camera=function(b,c,e,f,h){THREE.Object3D.call(this);this.fov=b||50;this.aspect=c||1;this.near=e||0.1;this.far=f||2E3;this.target=h||new THREE.Object3D;this.useTarget=!0;this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=null;this.updateProjectionMatrix()};THREE.Camera.prototype=new THREE.Object3D;
+THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.supr=THREE.Object3D.prototype;THREE.Camera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);c.multiplyScalar(b);this.position.addSelf(c);this.target.position.addSelf(c)};
+THREE.Camera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var b=this.fullWidth/this.fullHeight,c=Math.tan(this.fov*Math.PI/360)*this.near,e=-c,f=b*e,b=Math.abs(b*c-f),e=Math.abs(c-e);this.projectionMatrix=THREE.Matrix4.makeFrustum(f+this.x*b/this.fullWidth,f+(this.x+this.width)*b/this.fullWidth,c-(this.y+this.height)*e/this.fullHeight,c-this.y*e/this.fullHeight,this.near,this.far)}else this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};
+THREE.Camera.prototype.setViewOffset=function(b,c,e,f,h,m){this.fullWidth=b;this.fullHeight=c;this.x=e;this.y=f;this.width=h;this.height=m;this.updateProjectionMatrix()};
+THREE.Camera.prototype.update=function(b,c,e){if(this.useTarget)this.matrix.lookAt(this.position,this.target.position,this.up),this.matrix.setPosition(this.position),b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse),c=!0;else if(this.matrixAutoUpdate&&this.updateMatrix(),c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=
+!1,c=!0,THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse);for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};THREE.OrthoCamera=function(b,c,e,f,h,m,k){THREE.Camera.call(this,45,1,h,m,k);this.left=b;this.right=c;this.top=e;this.bottom=f;this.updateProjectionMatrix()};THREE.OrthoCamera.prototype=new THREE.Camera;THREE.OrthoCamera.prototype.constructor=THREE.OrthoCamera;
+THREE.OrthoCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makeOrtho(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.Light=function(b){THREE.Object3D.call(this);this.color=new THREE.Color(b)};THREE.Light.prototype=new THREE.Object3D;THREE.Light.prototype.constructor=THREE.Light;THREE.Light.prototype.supr=THREE.Object3D.prototype;THREE.AmbientLight=function(b){THREE.Light.call(this,b)};THREE.AmbientLight.prototype=new THREE.Light;
+THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.DirectionalLight.prototype=new THREE.Light;THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,c,e){THREE.Light.call(this,b);this.position=new THREE.Vector3;this.intensity=c||1;this.distance=e||0};
+THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;THREE.SpotLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.SpotLight.prototype=new THREE.Light;THREE.SpotLight.prototype.constructor=THREE.SpotLight;
+THREE.Material=function(b){this.id=THREE.MaterialCount++;b=b||{};this.opacity=b.opacity!==void 0?b.opacity:1;this.transparent=b.transparent!==void 0?b.transparent:!1;this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.depthTest=b.depthTest!==void 0?b.depthTest:!0;this.polygonOffset=b.polygonOffset!==void 0?b.polygonOffset:!1;this.polygonOffsetFactor=b.polygonOffsetFactor!==void 0?b.polygonOffsetFactor:0;this.polygonOffsetUnits=b.polygonOffsetUnits!==void 0?b.polygonOffsetUnits:
+0;this.alphaTest=b.alphaTest!==void 0?b.alphaTest:0};THREE.MaterialCount=0;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;THREE.MultiplyBlending=3;THREE.AdditiveAlphaBlending=4;
+THREE.LineBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.linewidth=b.linewidth!==void 0?b.linewidth:1;this.linecap=b.linecap!==void 0?b.linecap:"round";this.linejoin=b.linejoin!==void 0?b.linejoin:"round";this.vertexColors=b.vertexColors?b.vertexColors:!1};THREE.LineBasicMaterial.prototype=new THREE.Material;THREE.LineBasicMaterial.prototype.constructor=THREE.LineBasicMaterial;
+THREE.MeshBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshBasicMaterial.prototype=new THREE.Material;THREE.MeshBasicMaterial.prototype.constructor=THREE.MeshBasicMaterial;
+THREE.MeshLambertMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshLambertMaterial.prototype=new THREE.Material;THREE.MeshLambertMaterial.prototype.constructor=THREE.MeshLambertMaterial;
+THREE.MeshPhongMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.ambient=b.ambient!==void 0?new THREE.Color(b.ambient):new THREE.Color(328965);this.specular=b.specular!==void 0?new THREE.Color(b.specular):new THREE.Color(1118481);this.shininess=b.shininess!==void 0?b.shininess:30;this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;
+this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==
+void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshPhongMaterial.prototype=new THREE.Material;THREE.MeshPhongMaterial.prototype.constructor=THREE.MeshPhongMaterial;
+THREE.MeshDepthMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1};THREE.MeshDepthMaterial.prototype=new THREE.Material;THREE.MeshDepthMaterial.prototype.constructor=THREE.MeshDepthMaterial;
+THREE.MeshNormalMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading?b.shading:THREE.FlatShading;this.wireframe=b.wireframe?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth?b.wireframeLinewidth:1};THREE.MeshNormalMaterial.prototype=new THREE.Material;THREE.MeshNormalMaterial.prototype.constructor=THREE.MeshNormalMaterial;THREE.MeshFaceMaterial=function(){};
+THREE.MeshShaderMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.fragmentShader=b.fragmentShader!==void 0?b.fragmentShader:"void main() {}";this.vertexShader=b.vertexShader!==void 0?b.vertexShader:"void main() {}";this.uniforms=b.uniforms!==void 0?b.uniforms:{};this.attributes=b.attributes;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.fog=
+b.fog!==void 0?b.fog:!1;this.lights=b.lights!==void 0?b.lights:!1;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshShaderMaterial.prototype=new THREE.Material;THREE.MeshShaderMaterial.prototype.constructor=THREE.MeshShaderMaterial;
+THREE.ParticleBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.size=b.size!==void 0?b.size:1;this.sizeAttenuation=b.sizeAttenuation!==void 0?b.sizeAttenuation:!0;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1};THREE.ParticleBasicMaterial.prototype=new THREE.Material;THREE.ParticleBasicMaterial.prototype.constructor=THREE.ParticleBasicMaterial;
+THREE.ParticleCanvasMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.program=b.program!==void 0?b.program:function(){}};THREE.ParticleCanvasMaterial.prototype=new THREE.Material;THREE.ParticleCanvasMaterial.prototype.constructor=THREE.ParticleCanvasMaterial;THREE.ParticleDOMMaterial=function(b){THREE.Material.call(this);this.domElement=b};
+THREE.Texture=function(b,c,e,f,h,m){this.id=THREE.TextureCount++;this.image=b;this.mapping=c!==void 0?c:new THREE.UVMapping;this.wrapS=e!==void 0?e:THREE.ClampToEdgeWrapping;this.wrapT=f!==void 0?f:THREE.ClampToEdgeWrapping;this.magFilter=h!==void 0?h:THREE.LinearFilter;this.minFilter=m!==void 0?m:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.needsUpdate=!1};
+THREE.Texture.prototype={constructor:THREE.Texture,clone:function(){var b=new THREE.Texture(this.image,this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b}};THREE.TextureCount=0;THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
+THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;
+THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;THREE.DataTexture=function(b,c,e,f,h,m,k,n,u){THREE.Texture.call(this,null,h,m,k,n,u);this.image={data:b,width:c,height:e};this.format=f!==void 0?f:THREE.RGBAFormat};THREE.DataTexture.prototype=new THREE.Texture;THREE.DataTexture.prototype.constructor=THREE.DataTexture;
+THREE.DataTexture.prototype.clone=function(){var b=new THREE.DataTexture(this.data.slice(0),this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b};THREE.Particle=function(b){THREE.Object3D.call(this);this.materials=b instanceof Array?b:[b]};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;
+THREE.ParticleSystem=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.sortParticles=!1};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;THREE.Line=function(b,c,e){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.type=e!=void 0?e:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;
+THREE.Line.prototype.constructor=THREE.Line;
+THREE.Mesh=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c&&c.length?c:[c];this.overdraw=!1;if(this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere(),this.boundRadius=b.boundingSphere.radius,this.geometry.morphTargets.length)){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var e=0;e<this.geometry.morphTargets.length;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[e].name]=
+e}};THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.supr=THREE.Object3D.prototype;THREE.Mesh.prototype.getMorphTargetIndexByName=function(b){if(this.morphTargetDictionary[b]!==void 0)return this.morphTargetDictionary[b];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+b+" does not exist. Returning 0.");return 0};
+THREE.Bone=function(b){THREE.Object3D.call(this);this.skin=b;this.skinMatrix=new THREE.Matrix4;this.hasNoneBoneChildren=!1};THREE.Bone.prototype=new THREE.Object3D;THREE.Bone.prototype.constructor=THREE.Bone;THREE.Bone.prototype.supr=THREE.Object3D.prototype;
+THREE.Bone.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.skinMatrix.multiply(b,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;if(this.hasNoneBoneChildren){this.matrixWorld.multiply(this.skin.matrixWorld,this.skinMatrix);for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.skinMatrix,c,e):b.update(this.matrixWorld,!0,e)}else for(f=0;f<h;f++)this.children[f].update(this.skinMatrix,
+c,e)};THREE.Bone.prototype.addChild=function(b){if(this.children.indexOf(b)===-1&&(b.parent!==void 0&&b.parent.removeChild(b),b.parent=this,this.children.push(b),!(b instanceof THREE.Bone)))this.hasNoneBoneChildren=!0};
+THREE.SkinnedMesh=function(b,c){THREE.Mesh.call(this,b,c);this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var e,f,h,m,k,n;if(this.geometry.bones!==void 0){for(e=0;e<this.geometry.bones.length;e++)h=this.geometry.bones[e],m=h.pos,k=h.rotq,n=h.scl,f=this.addBone(),f.name=h.name,f.position.set(m[0],m[1],m[2]),f.quaternion.set(k[0],k[1],k[2],k[3]),f.useQuaternion=!0,n!==void 0?f.scale.set(n[0],n[1],n[2]):f.scale.set(1,1,1);for(e=0;e<this.bones.length;e++)h=this.geometry.bones[e],
+f=this.bones[e],h.parent===-1?this.addChild(f):this.bones[h.parent].addChild(f);this.boneMatrices=new Float32Array(16*this.bones.length);this.pose()}};THREE.SkinnedMesh.prototype=new THREE.Mesh;THREE.SkinnedMesh.prototype.constructor=THREE.SkinnedMesh;
+THREE.SkinnedMesh.prototype.update=function(b,c,e){if(this.visible){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.identityMatrix,!1,e):b.update(this.matrixWorld,c,e);e=this.bones.length;ba=this.bones;bm=this.boneMatrices;for(c=0;c<e;c++)ba[c].skinMatrix.flattenToArrayOffset(bm,
+c*16)}};THREE.SkinnedMesh.prototype.addBone=function(b){b===void 0&&(b=new THREE.Bone(this));this.bones.push(b);return b};
+THREE.SkinnedMesh.prototype.pose=function(){this.update(void 0,!0);for(var b,c=[],e=0;e<this.bones.length;e++)b=this.bones[e],c.push(THREE.Matrix4.makeInvert(b.skinMatrix)),b.skinMatrix.flattenToArrayOffset(this.boneMatrices,e*16);if(this.geometry.skinVerticesA===void 0){this.geometry.skinVerticesA=[];this.geometry.skinVerticesB=[];var f;for(b=0;b<this.geometry.skinIndices.length;b++){var e=this.geometry.vertices[b].position,h=this.geometry.skinIndices[b].x,m=this.geometry.skinIndices[b].y;f=new THREE.Vector3(e.x,
+e.y,e.z);this.geometry.skinVerticesA.push(c[h].multiplyVector3(f));f=new THREE.Vector3(e.x,e.y,e.z);this.geometry.skinVerticesB.push(c[m].multiplyVector3(f));this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y!==1&&(e=(1-(this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y))*0.5,this.geometry.skinWeights[b].x+=e,this.geometry.skinWeights[b].y+=e)}}};THREE.Ribbon=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c]};
+THREE.Ribbon.prototype=new THREE.Object3D;THREE.Ribbon.prototype.constructor=THREE.Ribbon;THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=new THREE.Object3D;THREE.LOD.prototype.constructor=THREE.LOD;THREE.LOD.prototype.supr=THREE.Object3D.prototype;THREE.LOD.prototype.add=function(b,c){c===void 0&&(c=0);for(var c=Math.abs(c),e=0;e<this.LODs.length;e++)if(c<this.LODs[e].visibleAtDistance)break;this.LODs.splice(e,0,{visibleAtDistance:c,object3D:b});this.addChild(b)};
+THREE.LOD.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;if(this.LODs.length>1){b=e.matrixWorldInverse;b=-(b.n31*this.position.x+b.n32*this.position.y+b.n33*this.position.z+b.n34);this.LODs[0].object3D.visible=!0;for(var f=1;f<this.LODs.length;f++)if(b>=this.LODs[f].visibleAtDistance)this.LODs[f-1].object3D.visible=!1,
+this.LODs[f].object3D.visible=!0;else break;for(;f<this.LODs.length;f++)this.LODs[f].object3D.visible=!1}for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};
+THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==void 0)this.material=b.material,this.map=void 0,this.blending=material.blending;else if(b.map!==void 0)this.map=b.map instanceof THREE.Texture?b.map:THREE.ImageUtils.loadTexture(b.map),this.material=void 0,this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.useScreenCoordinates=b.useScreenCoordinates!==void 0?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==void 0?b.mergeWith3D:!this.useScreenCoordinates;
+this.affectedByDistance=b.affectedByDistance!==void 0?b.affectedByDistance:!this.useScreenCoordinates;this.scaleByViewport=b.scaleByViewport!==void 0?b.scaleByViewport:!this.affectedByDistance;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.Sprite;
+THREE.Sprite.prototype.supr=THREE.Object3D.prototype;THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,this.scale.y);this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
+THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
+THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.collisions=this.overrideMaterial=this.fog=null;this.objects=[];this.lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
+THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1)this.objects.push(b),this.__objectsAdded.push(b);for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};
+THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else b instanceof THREE.Camera||(c=this.objects.indexOf(b),c!==-1&&(this.objects.splice(c,1),this.__objectsRemoved.push(b)));for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};THREE.Scene.prototype.addObject=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeObject=THREE.Scene.prototype.removeChild;
+THREE.Scene.prototype.addLight=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeLight=THREE.Scene.prototype.removeChild;THREE.Fog=function(b,c,e){this.color=new THREE.Color(b);this.near=c||1;this.far=e||1E3};THREE.FogExp2=function(b,c){this.color=new THREE.Color(b);this.density=c!==void 0?c:2.5E-4};
+THREE.DOMRenderer=function(){THREE.Renderer.call(this);var b=null,c=new THREE.Projector,e,f,h,m;this.domElement=document.createElement("div");this.setSize=function(b,c){e=b;f=c;h=e/2;m=f/2};this.render=function(e,f){var u,p,v,t,x,w,z,y;b=c.projectScene(e,f);u=0;for(p=b.length;u<p;u++)if(x=b[u],x instanceof THREE.RenderableParticle){z=x.x*h+h;y=x.y*m+m;v=0;for(t=x.material.length;v<t;v++)if(w=x.material[v],w instanceof THREE.ParticleDOMMaterial)w=w.domElement,w.style.left=z+"px",w.style.top=y+"px"}}};
+THREE.CanvasRenderer=function(b){function c(b){if(B!=b)w.globalAlpha=B=b}function e(b){if(D!=b){switch(b){case THREE.NormalBlending:w.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:w.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:w.globalCompositeOperation="darker"}D=b}}function f(b){if(G!=b)w.strokeStyle=G=b}function h(b){if(H!=b)w.fillStyle=H=b}var m=this,k=null,n=new THREE.Projector,b=b||{},u=b.canvas!==void 0?b.canvas:document.createElement("canvas"),
+p,v,t,x,w=u.getContext("2d"),z=new THREE.Color(0),y=0,B=1,D=0,G=null,H=null,E=null,N=null,F=null,I,C,K,U,L=new THREE.RenderableVertex,O=new THREE.RenderableVertex,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$=new THREE.Color(0),ca=new THREE.Color(0),X=new THREE.Color(0),ja=new THREE.Color(0),ea=new THREE.Color(0),qa=[],V,pa,va,ra,sa,Ca,wa,Aa,za,Fa,M=new THREE.Rectangle,Z=new THREE.Rectangle,T=new THREE.Rectangle,xa=!1,ha=new THREE.Color,ka=new THREE.Color,ya=new THREE.Color,ta=new THREE.Color,oa=new THREE.Vector3,
+Y,Ga,la,Ba,Va,Da,b=16;Y=document.createElement("canvas");Y.width=Y.height=2;Ga=Y.getContext("2d");Ga.fillStyle="rgba(0,0,0,1)";Ga.fillRect(0,0,2,2);la=Ga.getImageData(0,0,2,2);Ba=la.data;Va=document.createElement("canvas");Va.width=Va.height=b;Da=Va.getContext("2d");Da.translate(-b/2,-b/2);Da.scale(b,b);b--;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setSize=function(b,e){p=b;v=e;t=Math.floor(p/2);x=Math.floor(v/2);u.width=p;u.height=
+v;M.set(-t,-x,t,x);Z.set(-t,-x,t,x);B=1;D=0;F=N=E=H=G=null};this.setClearColor=function(b,e){z.copy(b);y=e;Z.set(-t,-x,t,x)};this.setClearColorHex=function(b,e){z.setHex(b);y=e;Z.set(-t,-x,t,x)};this.clear=function(){w.setTransform(1,0,0,-1,t,x);Z.isEmpty()||(Z.minSelf(M),Z.inflate(2),y<1&&w.clearRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight())),y>0&&(e(THREE.NormalBlending),c(1),h("rgba("+Math.floor(z.r*255)+","+Math.floor(z.g*255)+","+Math.floor(z.b*
+255)+","+y+")"),w.fillRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(b,u){function p(b){var e,c,f,k=b.lights;ka.setRGB(0,0,0);ya.setRGB(0,0,0);ta.setRGB(0,0,0);b=0;for(e=k.length;b<e;b++)c=k[b],f=c.color,c instanceof THREE.AmbientLight?(ka.r+=f.r,ka.g+=f.g,ka.b+=f.b):c instanceof THREE.DirectionalLight?(ya.r+=f.r,ya.g+=f.g,ya.b+=f.b):c instanceof THREE.PointLight&&(ta.r+=f.r,ta.g+=f.g,ta.b+=f.b)}function v(b,e,c,
+f){var k,h,m,o,n=b.lights,b=0;for(k=n.length;b<k;b++)h=n[b],m=h.color,h instanceof THREE.DirectionalLight?(o=c.dot(h.position),o<=0||(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)):h instanceof THREE.PointLight&&(o=c.dot(oa.sub(h.position,e).normalize()),o<=0||(o*=h.distance==0?1:1-Math.min(e.distanceTo(h.position)/h.distance,1),o!=0&&(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)))}function z(b,k,m){c(m.opacity);e(m.blending);var o,n,u,la,p,v;if(m instanceof THREE.ParticleBasicMaterial){if(m.map)la=
+m.map.image,p=la.width>>1,v=la.height>>1,m=k.scale.x*t,u=k.scale.y*x,o=m*p,n=u*v,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(m,-u),w.translate(-p,-v),w.drawImage(la,0,0),w.restore())}else m instanceof THREE.ParticleCanvasMaterial&&(o=k.scale.x*t,n=k.scale.y*x,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(f(m.color.getContextStyle()),h(m.color.getContextStyle()),w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(o,n),m.program(w),
+w.restore()))}function B(b,k,h,m){c(m.opacity);e(m.blending);w.beginPath();w.moveTo(b.positionScreen.x,b.positionScreen.y);w.lineTo(k.positionScreen.x,k.positionScreen.y);w.closePath();if(m instanceof THREE.LineBasicMaterial){b=m.linewidth;if(E!=b)w.lineWidth=E=b;b=m.linecap;if(N!=b)w.lineCap=N=b;b=m.linejoin;if(F!=b)w.lineJoin=F=b;f(m.color.getContextStyle());w.stroke();T.inflate(m.linewidth*2)}}function y(b,f,k,h,n,t,la,p,w){m.data.vertices+=3;m.data.faces++;c(p.opacity);e(p.blending);S=b.positionScreen.x;
+P=b.positionScreen.y;o=f.positionScreen.x;W=f.positionScreen.y;na=k.positionScreen.x;R=k.positionScreen.y;G(S,P,o,W,na,R);if(p instanceof THREE.MeshBasicMaterial)if(p.map)p.map.mapping instanceof THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map));else if(p.envMap){if(p.envMap.mapping instanceof THREE.SphericalReflectionMapping)b=u.matrixWorldInverse,oa.copy(la.vertexNormalsWorld[0]),sa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Ca=-(oa.x*b.n21+oa.y*
+b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[1]),wa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Aa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[2]),za=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Fa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,Ya(S,P,o,W,na,R,sa,Ca,wa,Aa,za,Fa,p.envMap)}else p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshLambertMaterial)p.map&&!p.wireframe&&(p.map.mapping instanceof
+THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map)),e(THREE.SubtractiveBlending)),xa?!p.wireframe&&p.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==3?(ca.r=X.r=ja.r=ka.r,ca.g=X.g=ja.g=ka.g,ca.b=X.b=ja.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ja),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,
+ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(p.color.r*ha.r,1)),$.g=Math.max(0,Math.min(p.color.g*ha.g,1)),$.b=Math.max(0,Math.min(p.color.b*ha.b,1)),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)):p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-
+Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(k.positionScreen.z,V,pa),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va);else if(p instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)}function D(b,f,k,h,n,p,la,t,w){m.data.vertices+=4;m.data.faces++;c(t.opacity);
+e(t.blending);if(t.map||t.envMap)y(b,f,h,0,1,3,la,t,w),y(n,k,p,1,2,3,la,t,w);else if(S=b.positionScreen.x,P=b.positionScreen.y,o=f.positionScreen.x,W=f.positionScreen.y,na=k.positionScreen.x,R=k.positionScreen.y,ia=h.positionScreen.x,aa=h.positionScreen.y,ma=n.positionScreen.x,fa=n.positionScreen.y,ga=p.positionScreen.x,da=p.positionScreen.y,t instanceof THREE.MeshBasicMaterial)H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color);else if(t instanceof
+THREE.MeshLambertMaterial)xa?!t.wireframe&&t.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==4?(ca.r=X.r=ja.r=ea.r=ka.r,ca.g=X.g=ja.g=ea.g=ka.g,ca.b=X.b=ja.b=ea.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v4.positionWorld,la.vertexNormalsWorld[3],ja),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ea),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,da,1,
+0,1,1,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(t.color.r*ha.r,1)),$.g=Math.max(0,Math.min(t.color.g*ha.g,1)),$.b=Math.max(0,Math.min(t.color.b*ha.b,1)),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($)):(H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color));else if(t instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),
+$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($);else if(t instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(h.positionScreen.z,V,pa),ea.r=ea.g=ea.b=1-Na(k.positionScreen.z,V,pa),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,
+da,1,0,1,1,0,1,va)}function G(b,e,c,f,k,h){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(b,e);w.closePath()}function H(b,e,c,f,k,h,m,o){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(m,o);w.lineTo(b,e);w.closePath()}function Ja(b,e,c,k){if(E!=e)w.lineWidth=E=e;if(N!=c)w.lineCap=N=c;if(F!=k)w.lineJoin=F=k;f(b.getContextStyle());w.stroke();T.inflate(e*2)}function Ka(b){h(b.getContextStyle());w.fill()}function Ya(b,e,c,f,k,m,o,n,t,p,la,u,v){if(v.image.width!=0){if(v.needsUpdate==
+!0||qa[v.id]==void 0){var x=v.wrapS==THREE.RepeatWrapping,Da=v.wrapT==THREE.RepeatWrapping;qa[v.id]=w.createPattern(v.image,x&&Da?"repeat":x&&!Da?"repeat-x":!x&&Da?"repeat-y":"no-repeat");v.needsUpdate=!1}h(qa[v.id]);var x=v.offset.x/v.repeat.x,Da=v.offset.y/v.repeat.y,M=(v.image.width-1)*v.repeat.x,v=(v.image.height-1)*v.repeat.y,o=(o+x)*M,n=(n+Da)*v,t=(t+x)*M,p=(p+Da)*v,la=(la+x)*M,u=(u+Da)*v;c-=b;f-=e;k-=b;m-=e;t-=o;p-=n;la-=o;u-=n;x=1/(t*u-la*p);v=(u*c-p*k)*x;p=(u*f-p*m)*x;c=(t*k-la*c)*x;f=(t*
+m-la*f)*x;b=b-v*o-c*n;e=e-p*o-f*n;w.save();w.transform(v,p,c,f,b,e);w.fill();w.restore()}}function Sa(b,e,c,f,k,h,m,o,n,t,p,la,u){var v,x;v=u.width-1;x=u.height-1;m*=v;o*=x;n*=v;t*=x;p*=v;la*=x;c-=b;f-=e;k-=b;h-=e;n-=m;t-=o;p-=m;la-=o;x=1/(n*la-p*t);v=(la*c-t*k)*x;t=(la*f-t*h)*x;c=(n*k-p*c)*x;f=(n*h-p*f)*x;b=b-v*m-c*o;e=e-t*m-f*o;w.save();w.transform(v,t,c,f,b,e);w.clip();w.drawImage(u,0,0);w.restore()}function Wa(b,e,c,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(e.r*255),o=~~(e.g*255),
+e=~~(e.b*255),n=~~(c.r*255),t=~~(c.g*255),c=~~(c.b*255),p=~~(f.r*255),u=~~(f.g*255),f=~~(f.b*255);Ba[0]=k<0?0:k>255?255:k;Ba[1]=h<0?0:h>255?255:h;Ba[2]=b<0?0:b>255?255:b;Ba[4]=m<0?0:m>255?255:m;Ba[5]=o<0?0:o>255?255:o;Ba[6]=e<0?0:e>255?255:e;Ba[8]=n<0?0:n>255?255:n;Ba[9]=t<0?0:t>255?255:t;Ba[10]=c<0?0:c>255?255:c;Ba[12]=p<0?0:p>255?255:p;Ba[13]=u<0?0:u>255?255:u;Ba[14]=f<0?0:f>255?255:f;Ga.putImageData(la,0,0);Da.drawImage(Y,0,0);return Va}function Na(b,e,c){b=(b-e)/(c-e);return b*b*(3-2*b)}function Ta(b){b=
+(b+1)*0.5;return b<0?0:b>1?1:b}function La(b,e){var c=e.x-b.x,f=e.y-b.y,k=c*c+f*f;k!=0&&(k=1/Math.sqrt(k),c*=k,f*=k,e.x+=c,e.y+=f,b.x-=c,b.y-=f)}var Xa,bb,ua,Ea,Ma,Ua,J,A;this.autoClear?this.clear():w.setTransform(1,0,0,-1,t,x);m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,u,this.sortElements);(xa=b.lights.length>0)&&p(b);Xa=0;for(bb=k.length;Xa<bb;Xa++){ua=k[Xa];T.empty();if(ua instanceof THREE.RenderableParticle){I=ua;I.x*=t;I.y*=x;Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],
+A.opacity!=0&&z(I,ua,A,b)}else if(ua instanceof THREE.RenderableLine){if(I=ua.v1,C=ua.v2,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],A.opacity!=0&&B(I,C,ua,A,b)}}else if(ua instanceof THREE.RenderableFace3){if(I=ua.v1,C=ua.v2,K=ua.v3,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=
+t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,K.positionScreen),La(K.positionScreen,I.positionScreen)),T.add3Points(I.positionScreen.x,I.positionScreen.y,C.positionScreen.x,C.positionScreen.y,K.positionScreen.x,K.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}else A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}}else if(ua instanceof THREE.RenderableFace4&&(I=ua.v1,C=ua.v2,K=ua.v3,U=ua.v4,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,U.positionScreen.x*=t,U.positionScreen.y*=x,L.positionScreen.copy(C.positionScreen),O.positionScreen.copy(U.positionScreen),ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,U.positionScreen),
+La(U.positionScreen,I.positionScreen),La(K.positionScreen,L.positionScreen),La(K.positionScreen,O.positionScreen)),T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),T.addPoint(K.positionScreen.x,K.positionScreen.y),T.addPoint(U.positionScreen.x,U.positionScreen.y),M.instersects(T))){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}else A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}Z.addRectangle(T)}w.setTransform(1,0,0,1,0,0)}};
+THREE.SVGRenderer=function(){function b(b,e,c){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.lights[f],h instanceof THREE.DirectionalLight?(m=e.normalWorld.dot(h.position)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m)):h instanceof THREE.PointLight&&(U.sub(h.position,e.centroidWorld),U.normalize(),m=e.normalWorld.dot(U)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m))}function c(e,c,k,o,n,t){m.data.vertices+=3;m.data.faces++;S=f(P++);S.setAttribute("d",
+"M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+"z");n instanceof THREE.MeshBasicMaterial?E.copy(n.color):n instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(t,o,N),E.r=Math.max(0,Math.min(n.color.r*N.r,1)),E.g=Math.max(0,Math.min(n.color.g*N.g,1)),E.b=Math.max(0,Math.min(n.color.b*N.b,1))):E.copy(n.color):n instanceof THREE.MeshDepthMaterial?(K=1-n.__2near/(n.__farPlusNear-o.z*n.__farMinusNear),
+E.setRGB(K,K,K)):n instanceof THREE.MeshNormalMaterial&&E.setRGB(h(o.normalWorld.x),h(o.normalWorld.y),h(o.normalWorld.z));n.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+n.wireframeLinewidth+"; stroke-opacity: "+n.opacity+"; stroke-linecap: "+n.wireframeLinecap+"; stroke-linejoin: "+n.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+n.opacity);u.appendChild(S)}function e(e,c,k,o,n,t,p){m.data.vertices+=4;m.data.faces++;
+S=f(P++);S.setAttribute("d","M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+" L "+o.positionScreen.x+","+o.positionScreen.y+"z");t instanceof THREE.MeshBasicMaterial?E.copy(t.color):t instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(p,n,N),E.r=Math.max(0,Math.min(t.color.r*N.r,1)),E.g=Math.max(0,Math.min(t.color.g*N.g,1)),E.b=Math.max(0,Math.min(t.color.b*N.b,1))):E.copy(t.color):t instanceof
+THREE.MeshDepthMaterial?(K=1-t.__2near/(t.__farPlusNear-n.z*t.__farMinusNear),E.setRGB(K,K,K)):t instanceof THREE.MeshNormalMaterial&&E.setRGB(h(n.normalWorld.x),h(n.normalWorld.y),h(n.normalWorld.z));t.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+t.wireframeLinewidth+"; stroke-opacity: "+t.opacity+"; stroke-linecap: "+t.wireframeLinecap+"; stroke-linejoin: "+t.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+
+t.opacity);u.appendChild(S)}function f(b){L[b]==null&&(L[b]=document.createElementNS("http://www.w3.org/2000/svg","path"),W==0&&L[b].setAttribute("shape-rendering","crispEdges"));return L[b]}function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}var m=this,k=null,n=new THREE.Projector,u=document.createElementNS("http://www.w3.org/2000/svg","svg"),p,v,t,x,w,z,y,B,D=new THREE.Rectangle,G=new THREE.Rectangle,H=!1,E=new THREE.Color(16777215),N=new THREE.Color(16777215),F=new THREE.Color(0),I=new THREE.Color(0),
+C=new THREE.Color(0),K,U=new THREE.Vector3,L=[],O=[],S,P,o,W=1;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setQuality=function(b){switch(b){case "high":W=1;break;case "low":W=0}};this.setSize=function(b,e){p=b;v=e;t=p/2;x=v/2;u.setAttribute("viewBox",-t+" "+-x+" "+p+" "+v);u.setAttribute("width",p);u.setAttribute("height",v);D.set(-t,-x,t,x)};this.clear=function(){for(;u.childNodes.length>0;)u.removeChild(u.childNodes[0])};this.render=
+function(b,f){var h,p,v,E,N,L,K,ca;this.autoClear&&this.clear();m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,f,this.sortElements);o=P=0;if(H=b.lights.length>0){K=b.lights;F.setRGB(0,0,0);I.setRGB(0,0,0);C.setRGB(0,0,0);h=0;for(p=K.length;h<p;h++)v=K[h],E=v.color,v instanceof THREE.AmbientLight?(F.r+=E.r,F.g+=E.g,F.b+=E.b):v instanceof THREE.DirectionalLight?(I.r+=E.r,I.g+=E.g,I.b+=E.b):v instanceof THREE.PointLight&&(C.r+=E.r,C.g+=E.g,C.b+=E.b)}h=0;for(p=k.length;h<p;h++)if(K=k[h],G.empty(),
+K instanceof THREE.RenderableParticle){w=K;w.x*=t;w.y*=-x;v=0;for(E=K.materials.length;v<E;)v++}else if(K instanceof THREE.RenderableLine){if(w=K.v1,z=K.v2,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),D.instersects(G)){v=0;for(E=K.materials.length;v<E;)if((ca=K.materials[v++])&&ca.opacity!=0){N=w;L=z;var X=o++;O[X]==null&&(O[X]=document.createElementNS("http://www.w3.org/2000/svg",
+"line"),W==0&&O[X].setAttribute("shape-rendering","crispEdges"));S=O[X];S.setAttribute("x1",N.positionScreen.x);S.setAttribute("y1",N.positionScreen.y);S.setAttribute("x2",L.positionScreen.x);S.setAttribute("y2",L.positionScreen.y);ca instanceof THREE.LineBasicMaterial&&(S.setAttribute("style","fill: none; stroke: "+ca.color.getContextStyle()+"; stroke-width: "+ca.linewidth+"; stroke-opacity: "+ca.opacity+"; stroke-linecap: "+ca.linecap+"; stroke-linejoin: "+ca.linejoin),u.appendChild(S))}}}else if(K instanceof
+THREE.RenderableFace3){if(w=K.v1,z=K.v2,y=K.v3,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),D.instersects(G)){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&
+ca.opacity!=0&&c(w,z,y,K,ca,b)}else ca&&ca.opacity!=0&&c(w,z,y,K,ca,b)}}else if(K instanceof THREE.RenderableFace4&&(w=K.v1,z=K.v2,y=K.v3,B=K.v4,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,B.positionScreen.x*=t,B.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),G.addPoint(B.positionScreen.x,
+B.positionScreen.y),D.instersects(G))){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}else ca&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}}};
+THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform int combine;\n#endif",
+envmap_fragment:"#ifdef USE_ENVMAP\nvec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = vec4( mix( gl_FragColor.xyz, cubeColor.xyz, reflectivity ), opacity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
+map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, gl_PointCoord );\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif",
+lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
+lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat pointLightWeighting = max( dot( transformedNormal, lVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef PHONG\nvPointLight[ i ] = vec4( lVector, lDistance );\n#endif\n}\n#endif\n}",
+lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mColor = vec4( diffuse, opacity );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 pointSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight * pointDistance;\npointSpecular += mSpecular * pointSpecularWeight * pointDistance;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 dirSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\nvColor = color;\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n#endif",skinning_vertex:"#ifdef USE_SKINNING\ngl_Position = ( boneGlobalMatrices[ int( skinIndex.x ) ] * skinVertexA ) * skinWeight.x;\ngl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;\ngl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;\n#endif",
+morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\nuniform float morphTargetInfluences[ 8 ];\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0, 0.0, 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif",
+default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform float shadowDarkness;\nuniform float shadowBias;\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",
+shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_SOFT\nconst float xPixelOffset = 1.0 / SHADOWMAP_WIDTH;\nconst float yPixelOffset = 1.0 / SHADOWMAP_HEIGHT;\n#endif\nvec4 shadowColor = vec4( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nif ( shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0 ) {\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nfor ( float y = -1.25; y <= 1.25; y += 1.25 )\nfor ( float x = -1.25; x <= 1.25; x += 1.25 ) {\nvec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadow += 1.0;\n}\nshadow /= 9.0;\nshadowColor = shadowColor * vec4( vec3( ( 1.0 - shadowDarkness * shadow ) ), 1.0 );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadowColor = shadowColor * vec4( vec3( shadowDarkness ), 1.0 );\n#endif\n}\n}\ngl_FragColor = gl_FragColor * shadowColor;\n#endif",
+shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif"};
+THREE.UniformsUtils={merge:function(b){var c,e,f,h={};for(c=0;c<b.length;c++)for(e in f=this.clone(b[c]),f)h[e]=f[e];return h},clone:function(b){var c,e,f,h={};for(c in b)for(e in h[c]={},b[c])f=b[c][e],h[c][e]=f instanceof THREE.Color||f instanceof THREE.Vector2||f instanceof THREE.Vector3||f instanceof THREE.Vector4||f instanceof THREE.Matrix4||f instanceof THREE.Texture?f.clone():f instanceof Array?f.slice():f;return h}};
+THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:2,texture:null},envMap:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",
+value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",value:1},scale:{type:"f",
+value:1},map:{type:"t",value:0,texture:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:3,texture:[]},shadowMatrix:{type:"m4v",value:[]},shadowBias:{type:"f",value:0.0039},shadowDarkness:{type:"f",value:0.2}}};
+THREE.ShaderLib={lensFlareVertexTexture:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = ( visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n( visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * vVisibility;\ngl_FragColor = color;\n}\n}"},
+lensFlare:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * visibility;\ngl_FragColor = color;\n}\n}"},
+sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int affectedByDistance;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( affectedByDistance == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
+fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity;\ngl_FragColor = color;\n}"},shadowPost:{vertexShader:"uniform \tmat4 \tprojectionMatrix;\nattribute \tvec3 \tposition;\nvoid main() {\ngl_Position = projectionMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform \tfloat \tdarkness;\nvoid main() {\ngl_FragColor = vec4( 0, 0, 0, darkness );\n}"},
+shadowVolumeDynamic:{uniforms:{directionalLightDirection:{type:"fv",value:[]}},vertexShader:"uniform \tvec3 \tdirectionalLightDirection;\nvoid main() {\nvec4 pos = objectMatrix * vec4( position, 1.0 );\nvec3 norm = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nvec4 extruded = vec4( directionalLightDirection * 5000.0 * step( 0.0, dot( directionalLightDirection, norm ) ), 0.0 );\ngl_Position = projectionMatrix * viewMatrix * ( pos + extruded );\n}",
+fragmentShader:"void main() {\ngl_FragColor = vec4( 1.0 );\n}"},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}",vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},
+normal:{uniforms:{opacity:{type:"f",value:1}},fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}",vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),
+fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,
+THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
+THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,"gl_FragColor = gl_FragColor * vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,
+"}"].join("\n"),vertexShader:["varying vec3 vLightWeighting;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(328965)},
+specular:{type:"c",value:new THREE.Color(1118481)},shininess:{type:"f",value:30}}]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lights_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,
+THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = -mvPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
+THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
+THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},depthRGBA:{uniforms:{},fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}",vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,
+"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n")}};
+THREE.WebGLRenderer=function(b){function c(b,e,c){var f,k,h,m=b.vertices,n=m.length,t=b.colors,p=t.length,u=b.__vertexArray,v=b.__colorArray,w=b.__sortArray,x=b.__dirtyVertices,M=b.__dirtyColors,T=b.__webglCustomAttributes,z,y;if(T)for(z in T)T[z].offset=0;if(c.sortParticles){pa.multiplySelf(c.matrixWorld);for(f=0;f<n;f++)k=m[f].position,sa.copy(k),pa.multiplyVector3(sa),w[f]=[sa.z,f];w.sort(function(b,e){return e[0]-b[0]});for(f=0;f<n;f++)k=m[w[f][1]].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;
+for(f=0;f<p;f++)h=f*3,color=t[w[f][1]],v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T){f=T[z];t=f.value.length;for(h=0;h<t;h++){index=w[h][1];p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[index]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[index];f.size===2?(f.array[p]=y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=
+y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}else{if(x)for(f=0;f<n;f++)k=m[f].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;if(M)for(f=0;f<p;f++)color=t[f],h=f*3,v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T)if(f=T[z],f.__original.needsUpdate){t=f.value.length;for(h=0;h<t;h++){p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[h]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[h];f.size===2?(f.array[p]=
+y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}if(x||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,u,e);if(M||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,v,e);if(T)for(z in T)if(f=T[z],f.__original.needsUpdate||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,
+f.buffer),o.bufferData(o.ARRAY_BUFFER,f.array,e)}function e(b,e,c,f,h){f.program||P.initMaterial(f,e,c,h);if(f.morphTargets&&!h.__webglMorphTargetInfluences){h.__webglMorphTargetInfluences=new Float32Array(P.maxMorphTargets);for(var k=0,m=P.maxMorphTargets;k<m;k++)h.__webglMorphTargetInfluences[k]=0}var k=f.program,m=k.uniforms,n=f.uniforms;k!=na&&(o.useProgram(k),na=k);o.uniformMatrix4fv(m.projectionMatrix,!1,va);if(c&&(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||
+f instanceof THREE.MeshPhongMaterial||f instanceof THREE.LineBasicMaterial||f instanceof THREE.ParticleBasicMaterial||f.fog))if(n.fogColor.value=c.color,c instanceof THREE.Fog)n.fogNear.value=c.near,n.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)n.fogDensity.value=c.density;if(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f.lights){var p,t,u,v=0,w=0,x=0,M,T,z,y=Ca,B=y.directional.colors,Z=y.directional.positions,D=y.point.colors,G=y.point.positions,H=y.point.distances,
+E=0,V=0,c=t=z=0;for(p=e.length;c<p;c++)if(t=e[c],u=t.color,M=t.position,T=t.intensity,z=t.distance,t instanceof THREE.AmbientLight)v+=u.r,w+=u.g,x+=u.b;else if(t instanceof THREE.DirectionalLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,Z[z]=M.x,Z[z+1]=M.y,Z[z+2]=M.z,E+=1;else if(t instanceof THREE.SpotLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,u=1/M.length(),Z[z]=M.x*u,Z[z+1]=M.y*u,Z[z+2]=M.z*u,E+=1;else if(t instanceof THREE.PointLight)t=V*3,D[t]=u.r*T,D[t+1]=u.g*T,D[t+2]=u.b*T,G[t]=M.x,
+G[t+1]=M.y,G[t+2]=M.z,H[V]=z,V+=1;for(c=E*3;c<B.length;c++)B[c]=0;for(c=V*3;c<D.length;c++)D[c]=0;y.point.length=V;y.directional.length=E;y.ambient[0]=v;y.ambient[1]=w;y.ambient[2]=x;e=Ca;n.enableLighting.value=e.directional.length+e.point.length;n.ambientLightColor.value=e.ambient;n.directionalLightColor.value=e.directional.colors;n.directionalLightDirection.value=e.directional.positions;n.pointLightColor.value=e.point.colors;n.pointLightPosition.value=e.point.positions;n.pointLightDistance.value=
+e.point.distances}if(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshPhongMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity,(n.map.texture=f.map)&&n.offsetRepeat.value.set(f.map.offset.x,f.map.offset.y,f.map.repeat.x,f.map.repeat.y),n.lightMap.texture=f.lightMap,n.envMap.texture=f.envMap,n.reflectivity.value=f.reflectivity,n.refractionRatio.value=f.refractionRatio,n.combine.value=f.combine,n.useRefract.value=f.envMap&&f.envMap.mapping instanceof
+THREE.CubeRefractionMapping;if(f instanceof THREE.LineBasicMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity;else if(f instanceof THREE.ParticleBasicMaterial)n.psColor.value=f.color,n.opacity.value=f.opacity,n.size.value=f.size,n.scale.value=wa.height/2,n.map.texture=f.map;else if(f instanceof THREE.MeshPhongMaterial)n.ambient.value=f.ambient,n.specular.value=f.specular,n.shininess.value=f.shininess;else if(f instanceof THREE.MeshDepthMaterial)n.mNear.value=b.near,n.mFar.value=b.far,n.opacity.value=
+f.opacity;else if(f instanceof THREE.MeshNormalMaterial)n.opacity.value=f.opacity;if(h.receiveShadow&&!f._shadowPass&&n.shadowMatrix){for(e=0;e<xa.length;e++)n.shadowMatrix.value[e]=xa[e],n.shadowMap.texture[e]=P.shadowMap[e];n.shadowDarkness.value=P.shadowMapDarkness;n.shadowBias.value=P.shadowMapBias}for(var ka in n)if(p=k.uniforms[ka])if(c=n[ka],v=c.type,e=c.value,v=="i")o.uniform1i(p,e);else if(v=="f")o.uniform1f(p,e);else if(v=="v2")o.uniform2f(p,e.x,e.y);else if(v=="v3")o.uniform3f(p,e.x,e.y,
+e.z);else if(v=="v4")o.uniform4f(p,e.x,e.y,e.z,e.w);else if(v=="c")o.uniform3f(p,e.r,e.g,e.b);else if(v=="fv1")o.uniform1fv(p,e);else if(v=="fv")o.uniform3fv(p,e);else if(v=="v3v"){if(!c._array)c._array=new Float32Array(3*e.length);v=0;for(w=e.length;v<w;v++)x=v*3,c._array[x]=e[v].x,c._array[x+1]=e[v].y,c._array[x+2]=e[v].z;o.uniform3fv(p,c._array)}else if(v=="m4"){if(!c._array)c._array=new Float32Array(16);e.flattenToArray(c._array);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="m4v"){if(!c._array)c._array=
+new Float32Array(16*e.length);v=0;for(w=e.length;v<w;v++)e[v].flattenToArrayOffset(c._array,v*16);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="t"){if(o.uniform1i(p,e),p=c.texture)if(p.image instanceof Array&&p.image.length==6){if(c=p,c.image.length==6)if(c.needsUpdate){if(!c.image.__webglTextureCube)c.image.__webglTextureCube=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);for(e=0;e<6;e++)o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,
+o.RGBA,o.RGBA,o.UNSIGNED_BYTE,c.image[e]);I(o.TEXTURE_CUBE_MAP,c,c.image[0]);c.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else p instanceof THREE.WebGLRenderTargetCube?(c=p,o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.__webglTexture)):C(p,e)}else if(v=="tv"){if(!c._array){c._array=[];v=0;for(w=c.texture.length;v<w;v++)c._array[v]=e+v}o.uniform1iv(p,c._array);v=0;for(w=c.texture.length;v<w;v++)(p=c.texture[v])&&
+C(p,c._array[v])}o.uniformMatrix4fv(m.modelViewMatrix,!1,h._modelViewMatrixArray);m.normalMatrix&&o.uniformMatrix3fv(m.normalMatrix,!1,h._normalMatrixArray);(f instanceof THREE.MeshShaderMaterial||f instanceof THREE.MeshPhongMaterial||f.envMap)&&m.cameraPosition!==null&&o.uniform3f(m.cameraPosition,b.position.x,b.position.y,b.position.z);(f instanceof THREE.MeshShaderMaterial||f.envMap||f.skinning||h.receiveShadow)&&m.objectMatrix!==null&&o.uniformMatrix4fv(m.objectMatrix,!1,h._objectMatrixArray);
+(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshShaderMaterial||f.skinning)&&m.viewMatrix!==null&&o.uniformMatrix4fv(m.viewMatrix,!1,ra);f.skinning&&(o.uniformMatrix4fv(m.cameraInverseMatrix,!1,ra),o.uniformMatrix4fv(m.boneGlobalMatrices,!1,h.boneMatrices));return k}function f(b,c,f,h,k,m){if(h.opacity!=0){var n,b=e(b,c,f,h,m).attributes;if(!h.morphTargets&&b.position>=0)o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(b.position,
+3,o.FLOAT,!1,0,0);else if(m.morphTargetBase){c=h.program.attributes;m.morphTargetBase!==-1?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[m.morphTargetBase]),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0)):c.position>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0));if(m.morphTargetForcedOrder.length)for(var f=0,p=m.morphTargetForcedOrder,t=m.morphTargetInfluences;f<h.numSupportedMorphTargets&&f<p.length;)o.bindBuffer(o.ARRAY_BUFFER,
+k.__webglMorphTargetsBuffers[p[f]]),o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0),m.__webglMorphTargetInfluences[f]=t[p[f]],f++;else{var p=[],u=-1,v=0,t=m.morphTargetInfluences,w,x=t.length,f=0;for(m.morphTargetBase!==-1&&(p[m.morphTargetBase]=!0);f<h.numSupportedMorphTargets;){for(w=0;w<x;w++)!p[w]&&t[w]>u&&(v=w,u=t[v]);o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[v]);o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0);m.__webglMorphTargetInfluences[f]=u;p[v]=1;u=
+-1;f++}}h.program.uniforms.morphTargetInfluences!==null&&o.uniform1fv(h.program.uniforms.morphTargetInfluences,m.__webglMorphTargetInfluences)}if(k.__webglCustomAttributes)for(n in k.__webglCustomAttributes)b[n]>=0&&(c=k.__webglCustomAttributes[n],o.bindBuffer(o.ARRAY_BUFFER,c.buffer),o.vertexAttribPointer(b[n],c.size,o.FLOAT,!1,0,0));b.color>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer),o.vertexAttribPointer(b.color,3,o.FLOAT,!1,0,0));b.normal>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglNormalBuffer),
+o.vertexAttribPointer(b.normal,3,o.FLOAT,!1,0,0));b.tangent>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglTangentBuffer),o.vertexAttribPointer(b.tangent,4,o.FLOAT,!1,0,0));b.uv>=0&&(k.__webglUVBuffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUVBuffer),o.vertexAttribPointer(b.uv,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv)):o.disableVertexAttribArray(b.uv));b.uv2>=0&&(k.__webglUV2Buffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUV2Buffer),o.vertexAttribPointer(b.uv2,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv2)):
+o.disableVertexAttribArray(b.uv2));h.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexABuffer),o.vertexAttribPointer(b.skinVertexA,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexBBuffer),o.vertexAttribPointer(b.skinVertexB,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinIndicesBuffer),o.vertexAttribPointer(b.skinIndex,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinWeightsBuffer),
+o.vertexAttribPointer(b.skinWeight,4,o.FLOAT,!1,0,0));m instanceof THREE.Mesh?(h.wireframe?(o.lineWidth(h.wireframeLinewidth),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglLineBuffer),o.drawElements(o.LINES,k.__webglLineCount,o.UNSIGNED_SHORT,0)):(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglFaceBuffer),o.drawElements(o.TRIANGLES,k.__webglFaceCount,o.UNSIGNED_SHORT,0)),P.data.vertices+=k.__webglFaceCount,P.data.faces+=k.__webglFaceCount/3,P.data.drawCalls++):m instanceof THREE.Line?(m=m.type==THREE.LineStrip?
+o.LINE_STRIP:o.LINES,o.lineWidth(h.linewidth),o.drawArrays(m,0,k.__webglLineCount),P.data.drawCalls++):m instanceof THREE.ParticleSystem?(o.drawArrays(o.POINTS,0,k.__webglParticleCount),P.data.drawCalls++):m instanceof THREE.Ribbon&&(o.drawArrays(o.TRIANGLE_STRIP,0,k.__webglVertexCount),P.data.drawCalls++)}}function h(b,e,c){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.createBuffer();if(!b.__webglNormalBuffer)b.__webglNormalBuffer=o.createBuffer();b.hasPos&&(o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),
+o.bufferData(o.ARRAY_BUFFER,b.positionArray,o.DYNAMIC_DRAW),o.enableVertexAttribArray(e.attributes.position),o.vertexAttribPointer(e.attributes.position,3,o.FLOAT,!1,0,0));if(b.hasNormal){o.bindBuffer(o.ARRAY_BUFFER,b.__webglNormalBuffer);if(c==THREE.FlatShading){var f,k,h,m,n,p,t,u,v,w,x=b.count*3;for(w=0;w<x;w+=9)c=b.normalArray,f=c[w],k=c[w+1],h=c[w+2],m=c[w+3],p=c[w+4],u=c[w+5],n=c[w+6],t=c[w+7],v=c[w+8],f=(f+m+n)/3,k=(k+p+t)/3,h=(h+u+v)/3,c[w]=f,c[w+1]=k,c[w+2]=h,c[w+3]=f,c[w+4]=k,c[w+5]=h,c[w+
+6]=f,c[w+7]=k,c[w+8]=h}o.bufferData(o.ARRAY_BUFFER,b.normalArray,o.DYNAMIC_DRAW);o.enableVertexAttribArray(e.attributes.normal);o.vertexAttribPointer(e.attributes.normal,3,o.FLOAT,!1,0,0)}o.drawArrays(o.TRIANGLES,0,b.count);b.count=0}function m(b){if(aa!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):o.enable(o.CULL_FACE),aa=b.doubleSided;if(ma!=b.flipSided)b.flipSided?o.frontFace(o.CW):o.frontFace(o.CCW),ma=b.flipSided}function k(b){ga!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),ga=
+b)}function n(b,e,c){da!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o.POLYGON_OFFSET_FILL),da=b);if(b&&($!=e||ca!=c))o.polygonOffset(e,c),$=e,ca=c}function u(b){V[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-b.n14);V[1].set(b.n41+b.n11,b.n42+b.n12,b.n43+b.n13,b.n44+b.n14);V[2].set(b.n41+b.n21,b.n42+b.n22,b.n43+b.n23,b.n44+b.n24);V[3].set(b.n41-b.n21,b.n42-b.n22,b.n43-b.n23,b.n44-b.n24);V[4].set(b.n41-b.n31,b.n42-b.n32,b.n43-b.n33,b.n44-b.n34);V[5].set(b.n41+b.n31,b.n42+b.n32,b.n43+b.n33,
+b.n44+b.n34);for(var e,b=0;b<6;b++)e=V[b],e.divideScalar(Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z))}function p(b){for(var e=b.matrixWorld,c=-b.geometry.boundingSphere.radius*Math.max(b.scale.x,Math.max(b.scale.y,b.scale.z)),f=0;f<6;f++)if(b=V[f].x*e.n14+V[f].y*e.n24+V[f].z*e.n34+V[f].w,b<=c)return!1;return!0}function v(b,e){b.list[b.count]=e;b.count+=1}function t(b){var e,c,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=k.count=0;for(e=f.materials.length;b<e;b++)c=f.materials[b],c.transparent?v(h,c):
+v(k,c)}function x(b){var e,c,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transparent;o.count=0;b=n.count=0;for(f=h.materials.length;b<f;b++)if(e=h.materials[b],e instanceof THREE.MeshFaceMaterial){e=0;for(c=m.materials.length;e<c;e++)(k=m.materials[e])&&(k.transparent?v(o,k):v(n,k))}else(k=e)&&(k.transparent?v(o,k):v(n,k))}function w(b,e){return e.z-b.z}function z(b,c){var n,t,v,w=0,x,z,y,D,G=b.lights;T||(T=new THREE.Camera(P.shadowCameraFov,c.aspect,P.shadowCameraNear,P.shadowCameraFar));n=0;for(t=
+G.length;n<t;n++)if(v=G[n],v instanceof THREE.SpotLight&&v.castShadow){P.shadowMap[w]||(P.shadowMap[w]=new THREE.WebGLRenderTarget(P.shadowMapWidth,P.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}));xa[w]||(xa[w]=new THREE.Matrix4);x=P.shadowMap[w];z=xa[w];T.position.copy(v.position);T.target.position.copy(v.target.position);T.update(void 0,!0);b.update(void 0,!1,T);z.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);z.multiplySelf(T.projectionMatrix);
+z.multiplySelf(T.matrixWorldInverse);T.matrixWorldInverse.flattenToArray(ra);T.projectionMatrix.flattenToArray(va);pa.multiply(T.projectionMatrix,T.matrixWorldInverse);u(pa);P.initWebGLObjects(b);K(x);o.clearColor(1,1,1,1);P.clear();o.clearColor(M.r,M.g,M.b,Z);z=b.__webglObjects.length;v=b.__webglObjectsImmediate.length;for(x=0;x<z;x++)y=b.__webglObjects[x],D=y.object,D.visible&&D.castShadow?!(D instanceof THREE.Mesh)||!D.frustumCulled||p(D)?(D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,
+T,!1),y.render=!0):y.render=!1:y.render=!1;k(!0);F(THREE.NormalBlending);for(x=0;x<z;x++)if(y=b.__webglObjects[x],y.render)D=y.object,buffer=y.buffer,m(D),y=D.customDepthMaterial?D.customDepthMaterial:D.geometry.morphTargets.length?ya:ka,f(T,G,null,y,buffer,D);for(x=0;x<v;x++)y=b.__webglObjectsImmediate[x],D=y.object,D.visible&&D.castShadow&&(D.matrixAutoUpdate&&D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,T,!1),m(D),program=e(T,G,null,ka,D),D.render(function(b){h(b,program,ka.shading)}));
+w++}}function y(b,e){var c,f,k;c=Y.attributes;var h=Y.uniforms,m=qa/ea,n,p=[],t=ea*0.5,u=qa*0.5,v=!0;o.useProgram(Y.program);na=Y.program;ga=fa=-1;Ga||(o.enableVertexAttribArray(Y.attributes.position),o.enableVertexAttribArray(Y.attributes.uv),Ga=!0);o.disable(o.CULL_FACE);o.enable(o.BLEND);o.depthMask(!0);o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.vertexAttribPointer(c.position,2,o.FLOAT,!1,16,0);o.vertexAttribPointer(c.uv,2,o.FLOAT,!1,16,8);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);
+o.uniformMatrix4fv(h.projectionMatrix,!1,va);o.activeTexture(o.TEXTURE0);o.uniform1i(h.map,0);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.useScreenCoordinates?k.z=-k.position.z:(k._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,k.matrixWorld,k._modelViewMatrixArray),k.z=-k._modelViewMatrix.n34);b.__webglSprites.sort(w);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.material===void 0&&k.map&&k.map.image&&k.map.image.width&&(k.useScreenCoordinates?(o.uniform1i(h.useScreenCoordinates,
+1),o.uniform3f(h.screenPosition,(k.position.x-t)/t,(u-k.position.y)/u,Math.max(0,Math.min(1,k.position.z)))):(o.uniform1i(h.useScreenCoordinates,0),o.uniform1i(h.affectedByDistance,k.affectedByDistance?1:0),o.uniformMatrix4fv(h.modelViewMatrix,!1,k._modelViewMatrixArray)),n=k.map.image.width/(k.scaleByViewport?qa:1),p[0]=n*m*k.scale.x,p[1]=n*k.scale.y,o.uniform2f(h.uvScale,k.uvScale.x,k.uvScale.y),o.uniform2f(h.uvOffset,k.uvOffset.x,k.uvOffset.y),o.uniform2f(h.alignment,k.alignment.x,k.alignment.y),
+o.uniform1f(h.opacity,k.opacity),o.uniform1f(h.rotation,k.rotation),o.uniform2fv(h.scale,p),k.mergeWith3D&&!v?(o.enable(o.DEPTH_TEST),v=!0):!k.mergeWith3D&&v&&(o.disable(o.DEPTH_TEST),v=!1),F(k.blending),C(k.map,0),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));o.enable(o.CULL_FACE);o.enable(o.DEPTH_TEST);o.depthMask(ia)}function B(b,e,c){b._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,b.matrixWorld,b._modelViewMatrixArray);c&&THREE.Matrix4.makeInvert3x3(b._modelViewMatrix).transposeIntoArray(b._normalMatrixArray)}
+function D(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)if(f.attributes[e].needsUpdate)return!0;return!1}function G(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)f.attributes[e].needsUpdate=!1}function H(b,e){var c;for(c=b.length-1;c>=0;c--)b[c].object==e&&b.splice(c,1)}function E(b){function e(b){var k=[];c=0;for(f=b.length;c<f;c++)b[c]==void 0?k.push("undefined"):k.push(b[c].id);return k.join("_")}
+var c,f,k,h,m,n,o,p,t={},u=b.morphTargets!==void 0?b.morphTargets.length:0;b.geometryGroups={};k=0;for(h=b.faces.length;k<h;k++)m=b.faces[k],n=m.materials,o=e(n),t[o]==void 0&&(t[o]={hash:o,counter:0}),p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],materials:n,vertices:0,numMorphTargets:u}),m=m instanceof THREE.Face3?3:4,b.geometryGroups[p].vertices+m>65535&&(t[o].counter+=1,p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],
+materials:n,vertices:0,numMorphTargets:u})),b.geometryGroups[p].faces.push(k),b.geometryGroups[p].vertices+=m;b.geometryGroupsList=[];for(var v in b.geometryGroups)b.geometryGroupsList.push(b.geometryGroups[v])}function N(b,e,c){b.push({buffer:e,object:c,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function F(b){if(b!=fa){switch(b){case THREE.AdditiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE);break;case THREE.SubtractiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,
+o.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,o.SRC_COLOR);break;default:o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}fa=b}}function I(b,e,c){(c.width&c.width-1)==0&&(c.height&c.height-1)==0?(o.texParameteri(b,o.TEXTURE_WRAP_S,S(e.wrapS)),o.texParameteri(b,o.TEXTURE_WRAP_T,S(e.wrapT)),o.texParameteri(b,o.TEXTURE_MAG_FILTER,S(e.magFilter)),o.texParameteri(b,
+o.TEXTURE_MIN_FILTER,S(e.minFilter)),o.generateMipmap(b)):(o.texParameteri(b,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_MAG_FILTER,O(e.magFilter)),o.texParameteri(b,o.TEXTURE_MIN_FILTER,O(e.minFilter)))}function C(b,e){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b.__webglTexture=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_2D,b.__webglTexture);b instanceof THREE.DataTexture?o.texImage2D(o.TEXTURE_2D,
+0,S(b.format),b.image.width,b.image.height,0,S(b.format),o.UNSIGNED_BYTE,b.image.data):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,b.image);I(o.TEXTURE_2D,b,b.image);b.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_2D,b.__webglTexture)}function K(b){var e=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.depthBuffer=!0;if(b.stencilBuffer===void 0)b.stencilBuffer=!0;b.__webglRenderbuffer=o.createRenderbuffer();
+b.__webglTexture=o.createTexture();if(e){o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture);I(o.TEXTURE_CUBE_MAP,b,b);b.__webglFramebuffer=[];for(var c=0;c<6;c++)b.__webglFramebuffer[c]=o.createFramebuffer(),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),null)}else b.__webglFramebuffer=o.createFramebuffer(),o.bindTexture(o.TEXTURE_2D,b.__webglTexture),I(o.TEXTURE_2D,b,b),o.texImage2D(o.TEXTURE_2D,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),
+null);o.bindRenderbuffer(o.RENDERBUFFER,b.__webglRenderbuffer);if(e)for(c=0;c<6;++c)o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer[c]),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+c,b.__webglTexture,0);else o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,b.__webglTexture,0);b.depthBuffer&&!b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,b.width,b.height),
+o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):b.depthBuffer&&b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,b.width,b.height),o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_STENCIL_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,b.width,b.height);e?o.bindTexture(o.TEXTURE_CUBE_MAP,null):o.bindTexture(o.TEXTURE_2D,null);o.bindRenderbuffer(o.RENDERBUFFER,null);o.bindFramebuffer(o.FRAMEBUFFER,
+null)}var f,k;b?(e=e?b.__webglFramebuffer[b.activeCubeFace]:b.__webglFramebuffer,c=b.width,b=b.height,k=f=0):(e=null,c=ea,b=qa,f=X,k=ja);e!=R&&(o.bindFramebuffer(o.FRAMEBUFFER,e),o.viewport(f,k,c,b),R=e)}function U(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture),o.generateMipmap(o.TEXTURE_CUBE_MAP),o.bindTexture(o.TEXTURE_CUBE_MAP,null)):(o.bindTexture(o.TEXTURE_2D,b.__webglTexture),o.generateMipmap(o.TEXTURE_2D),o.bindTexture(o.TEXTURE_2D,null))}function L(b,
+e){var c;b=="fragment"?c=o.createShader(o.FRAGMENT_SHADER):b=="vertex"&&(c=o.createShader(o.VERTEX_SHADER));o.shaderSource(c,e);o.compileShader(c);if(!o.getShaderParameter(c,o.COMPILE_STATUS))return console.error(o.getShaderInfoLog(c)),console.error(e),null;return c}function O(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return o.NEAREST;default:return o.LINEAR}}function S(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;case THREE.ClampToEdgeWrapping:return o.CLAMP_TO_EDGE;
+case THREE.MirroredRepeatWrapping:return o.MIRRORED_REPEAT;case THREE.NearestFilter:return o.NEAREST;case THREE.NearestMipMapNearestFilter:return o.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return o.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return o.LINEAR;case THREE.LinearMipMapNearestFilter:return o.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return o.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return o.BYTE;case THREE.UnsignedByteType:return o.UNSIGNED_BYTE;case THREE.ShortType:return o.SHORT;
+case THREE.UnsignedShortType:return o.UNSIGNED_SHORT;case THREE.IntType:return o.INT;case THREE.UnsignedShortType:return o.UNSIGNED_INT;case THREE.FloatType:return o.FLOAT;case THREE.AlphaFormat:return o.ALPHA;case THREE.RGBFormat:return o.RGB;case THREE.RGBAFormat:return o.RGBA;case THREE.LuminanceFormat:return o.LUMINANCE;case THREE.LuminanceAlphaFormat:return o.LUMINANCE_ALPHA}return 0}var P=this,o,W=[],na=null,R=null,ia=!0,aa=null,ma=null,fa=null,ga=null,da=null,$=null,ca=null,X=0,ja=0,ea=0,qa=
+0,V=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],pa=new THREE.Matrix4,va=new Float32Array(16),ra=new Float32Array(16),sa=new THREE.Vector4,Ca={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]}},b=b||{},wa=b.canvas!==void 0?b.canvas:document.createElement("canvas"),Aa=b.stencil!==void 0?b.stencil:!0,za=b.preserveDrawingBuffer!==void 0?b.preserveDrawingBuffer:!1,Fa=b.antialias!==
+void 0?b.antialias:!1,M=b.clearColor!==void 0?new THREE.Color(b.clearColor):new THREE.Color(0),Z=b.clearAlpha!==void 0?b.clearAlpha:0;_maxLights=b.maxLights!==void 0?b.maxLights:4;this.data={vertices:0,faces:0,drawCalls:0};this.maxMorphTargets=8;this.domElement=wa;this.sortObjects=this.autoClear=!0;this.shadowMapBias=0.0039;this.shadowMapDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCameraNear=1;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowMap=[];this.shadowMapEnabled=
+!1;this.shadowMapSoft=!0;var T,xa=[],b=THREE.ShaderLib.depthRGBA,ha=THREE.UniformsUtils.clone(b.uniforms),ka=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha}),ya=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha,morphTargets:!0});ka._shadowPass=!0;ya._shadowPass=!0;try{if(!(o=wa.getContext("experimental-webgl",{antialias:Fa,stencil:Aa,preserveDrawingBuffer:za})))throw"Error creating WebGL context.";
+console.log(navigator.userAgent+" | "+o.getParameter(o.VERSION)+" | "+o.getParameter(o.VENDOR)+" | "+o.getParameter(o.RENDERER)+" | "+o.getParameter(o.SHADING_LANGUAGE_VERSION))}catch(ta){console.error(ta)}o.clearColor(0,0,0,1);o.clearDepth(1);o.clearStencil(0);o.enable(o.DEPTH_TEST);o.depthFunc(o.LEQUAL);o.frontFace(o.CCW);o.cullFace(o.BACK);o.enable(o.CULL_FACE);o.enable(o.BLEND);o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA);o.clearColor(M.r,M.g,M.b,Z);this.context=
+o;var oa=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,Y={};Y.vertices=new Float32Array(16);Y.faces=new Uint16Array(6);i=0;Y.vertices[i++]=-1;Y.vertices[i++]=-1;Y.vertices[i++]=0;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=0;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=0;i=Y.vertices[i++]=0;Y.faces[i++]=0;Y.faces[i++]=1;Y.faces[i++]=2;Y.faces[i++]=0;Y.faces[i++]=2;Y.faces[i++]=
+3;Y.vertexBuffer=o.createBuffer();Y.elementBuffer=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.bufferData(o.ARRAY_BUFFER,Y.vertices,o.STATIC_DRAW);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);o.bufferData(o.ELEMENT_ARRAY_BUFFER,Y.faces,o.STATIC_DRAW);Y.program=o.createProgram();o.attachShader(Y.program,L("fragment",THREE.ShaderLib.sprite.fragmentShader));o.attachShader(Y.program,L("vertex",THREE.ShaderLib.sprite.vertexShader));o.linkProgram(Y.program);Y.attributes={};Y.uniforms=
+{};Y.attributes.position=o.getAttribLocation(Y.program,"position");Y.attributes.uv=o.getAttribLocation(Y.program,"uv");Y.uniforms.uvOffset=o.getUniformLocation(Y.program,"uvOffset");Y.uniforms.uvScale=o.getUniformLocation(Y.program,"uvScale");Y.uniforms.rotation=o.getUniformLocation(Y.program,"rotation");Y.uniforms.scale=o.getUniformLocation(Y.program,"scale");Y.uniforms.alignment=o.getUniformLocation(Y.program,"alignment");Y.uniforms.map=o.getUniformLocation(Y.program,"map");Y.uniforms.opacity=o.getUniformLocation(Y.program,
+"opacity");Y.uniforms.useScreenCoordinates=o.getUniformLocation(Y.program,"useScreenCoordinates");Y.uniforms.affectedByDistance=o.getUniformLocation(Y.program,"affectedByDistance");Y.uniforms.screenPosition=o.getUniformLocation(Y.program,"screenPosition");Y.uniforms.modelViewMatrix=o.getUniformLocation(Y.program,"modelViewMatrix");Y.uniforms.projectionMatrix=o.getUniformLocation(Y.program,"projectionMatrix");var Ga=!1;this.setSize=function(b,e){wa.width=b;wa.height=e;this.setViewport(0,0,wa.width,
+wa.height)};this.setViewport=function(b,e,c,f){X=b;ja=e;ea=c;qa=f;o.viewport(X,ja,ea,qa)};this.setScissor=function(b,e,c,f){o.scissor(b,e,c,f)};this.enableScissorTest=function(b){b?o.enable(o.SCISSOR_TEST):o.disable(o.SCISSOR_TEST)};this.enableDepthBufferWrite=function(b){ia=b;o.depthMask(b)};this.setClearColorHex=function(b,e){M.setHex(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.setClearColor=function(b,e){M.copy(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.clear=function(){o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT|
+o.STENCIL_BUFFER_BIT)};this.getContext=function(){return o};this.deallocateObject=function(b){if(b.__webglInit)if(b.__webglInit=!1,delete b._modelViewMatrix,delete b._normalMatrixArray,delete b._modelViewMatrixArray,delete b._objectMatrixArray,b instanceof THREE.Mesh)for(g in b.geometry.geometryGroups){var e=b.geometry.geometryGroups[g];o.deleteBuffer(e.__webglVertexBuffer);o.deleteBuffer(e.__webglNormalBuffer);o.deleteBuffer(e.__webglTangentBuffer);o.deleteBuffer(e.__webglColorBuffer);o.deleteBuffer(e.__webglUVBuffer);
+o.deleteBuffer(e.__webglUV2Buffer);o.deleteBuffer(e.__webglSkinVertexABuffer);o.deleteBuffer(e.__webglSkinVertexBBuffer);o.deleteBuffer(e.__webglSkinIndicesBuffer);o.deleteBuffer(e.__webglSkinWeightsBuffer);o.deleteBuffer(e.__webglFaceBuffer);o.deleteBuffer(e.__webglLineBuffer);if(e.numMorphTargets)for(var c=0,f=e.numMorphTargets;c<f;c++)o.deleteBuffer(e.__webglMorphTargetsBuffers[c])}else if(b instanceof THREE.Ribbon)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);
+else if(b instanceof THREE.Line)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);else if(b instanceof THREE.ParticleSystem)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer)};this.deallocateTexture=function(b){if(b.__webglInit)b.__webglInit=!1,o.deleteTexture(b.__webglTexture)};this.initMaterial=function(b,e,c,f){var k,h,m;b instanceof THREE.MeshDepthMaterial?m="depth":b instanceof THREE.MeshNormalMaterial?m="normal":b instanceof
+THREE.MeshBasicMaterial?m="basic":b instanceof THREE.MeshLambertMaterial?m="lambert":b instanceof THREE.MeshPhongMaterial?m="phong":b instanceof THREE.LineBasicMaterial?m="basic":b instanceof THREE.ParticleBasicMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];b.uniforms=THREE.UniformsUtils.clone(n.uniforms);b.vertexShader=n.vertexShader;b.fragmentShader=n.fragmentShader}var p,t,u;p=u=n=0;for(t=e.length;p<t;p++)h=e[p],h instanceof THREE.SpotLight&&u++,h instanceof THREE.DirectionalLight&&
+u++,h instanceof THREE.PointLight&&n++;n+u<=_maxLights?p=u:(p=Math.ceil(_maxLights*u/(n+u)),n=_maxLights-p);h={directional:p,point:n};n=u=0;for(p=e.length;n<p;n++)t=e[n],t instanceof THREE.SpotLight&&t.castShadow&&u++;var v=50;if(f!==void 0&&f instanceof THREE.SkinnedMesh)v=f.bones.length;var w;a:{p=b.fragmentShader;t=b.vertexShader;var n=b.uniforms,e=b.attributes,c={map:!!b.map,envMap:!!b.envMap,lightMap:!!b.lightMap,vertexColors:b.vertexColors,fog:c,sizeAttenuation:b.sizeAttenuation,skinning:b.skinning,
+morphTargets:b.morphTargets,maxMorphTargets:this.maxMorphTargets,maxDirLights:h.directional,maxPointLights:h.point,maxBones:v,shadowMapEnabled:this.shadowMapEnabled&&f.receiveShadow,shadowMapSoft:this.shadowMapSoft,shadowMapWidth:this.shadowMapWidth,shadowMapHeight:this.shadowMapHeight,maxShadows:u,alphaTest:b.alphaTest},x,f=[];m?f.push(m):(f.push(p),f.push(t));for(x in c)f.push(x),f.push(c[x]);m=f.join();x=0;for(f=W.length;x<f;x++)if(W[x].code==m){w=W[x].program;break a}x=o.createProgram();f=[oa?
+"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":"",c.sizeAttenuation?
+"#define USE_SIZEATTENUATION":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform mat4 cameraInverseMatrix;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinVertexA;\nattribute vec4 skinVertexB;\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
+h=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",c.fog?"#define USE_FOG":"",c.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":
+"",c.shadowMapSoft?"#define SHADOWMAP_WIDTH "+c.shadowMapWidth.toFixed(1):"",c.shadowMapSoft?"#define SHADOWMAP_HEIGHT "+c.shadowMapHeight.toFixed(1):"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");o.attachShader(x,L("fragment",h+p));o.attachShader(x,L("vertex",f+t));o.linkProgram(x);o.getProgramParameter(x,o.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+o.getProgramParameter(x,o.VALIDATE_STATUS)+", gl error ["+o.getError()+"]");x.uniforms=
+{};x.attributes={};var M,f=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition","cameraInverseMatrix","boneGlobalMatrices","morphTargetInfluences"];for(M in n)f.push(M);M=f;f=0;for(n=M.length;f<n;f++)p=M[f],x.uniforms[p]=o.getUniformLocation(x,p);f=["position","normal","uv","uv2","tangent","color","skinVertexA","skinVertexB","skinIndex","skinWeight"];for(M=0;M<c.maxMorphTargets;M++)f.push("morphTarget"+M);for(w in e)f.push(w);w=f;M=0;for(e=w.length;M<e;M++)c=
+w[M],x.attributes[c]=o.getAttribLocation(x,c);W.push({program:x,code:m});w=x}b.program=w;w=b.program.attributes;w.position>=0&&o.enableVertexAttribArray(w.position);w.color>=0&&o.enableVertexAttribArray(w.color);w.normal>=0&&o.enableVertexAttribArray(w.normal);w.tangent>=0&&o.enableVertexAttribArray(w.tangent);b.skinning&&w.skinVertexA>=0&&w.skinVertexB>=0&&w.skinIndex>=0&&w.skinWeight>=0&&(o.enableVertexAttribArray(w.skinVertexA),o.enableVertexAttribArray(w.skinVertexB),o.enableVertexAttribArray(w.skinIndex),
+o.enableVertexAttribArray(w.skinWeight));if(b.attributes)for(k in b.attributes)w[k]!==void 0&&w[k]>=0&&o.enableVertexAttribArray(w[k]);if(b.morphTargets)for(k=b.numSupportedMorphTargets=0;k<this.maxMorphTargets;k++)M="morphTarget"+k,w[M]>=0&&(o.enableVertexAttribArray(w[M]),b.numSupportedMorphTargets++)};this.clearTarget=function(b,c,e,f){K(b);b=0;c&&(b|=o.COLOR_BUFFER_BIT);e&&(b|=o.DEPTH_BUFFER_BIT);f&&(b|=o.STENCIL_BUFFER_BIT);o.clear(b)};this.render=function(b,c,o,v){var M,T,D,Z,G,H,E,V,ka=b.lights,
+C=b.fog;this.shadowMapEnabled&&z(b,c);P.data.vertices=0;P.data.faces=0;P.data.drawCalls=0;c.matrixAutoUpdate&&c.update(void 0,!0);b.update(void 0,!1,c);c.matrixWorldInverse.flattenToArray(ra);c.projectionMatrix.flattenToArray(va);pa.multiply(c.projectionMatrix,c.matrixWorldInverse);u(pa);this.initWebGLObjects(b);K(o);(this.autoClear||v)&&this.clear();G=b.__webglObjects.length;for(v=0;v<G;v++)if(M=b.__webglObjects[v],E=M.object,E.visible)if(!(E instanceof THREE.Mesh)||!E.frustumCulled||p(E)){if(E.matrixWorld.flattenToArray(E._objectMatrixArray),
+B(E,c,!0),x(M),M.render=!0,this.sortObjects)M.object.renderDepth?M.z=M.object.renderDepth:(sa.copy(E.position),pa.multiplyVector3(sa),M.z=sa.z)}else M.render=!1;else M.render=!1;this.sortObjects&&b.__webglObjects.sort(w);H=b.__webglObjectsImmediate.length;for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(E.matrixAutoUpdate&&E.matrixWorld.flattenToArray(E._objectMatrixArray),B(E,c,!0),t(M));if(b.overrideMaterial){k(b.overrideMaterial.depthTest);F(b.overrideMaterial.blending);for(v=
+0;v<G;v++)if(M=b.__webglObjects[v],M.render)E=M.object,V=M.buffer,m(E),f(c,ka,C,b.overrideMaterial,V,E);for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(m(E),T=e(c,ka,C,b.overrideMaterial,E),E.render(function(c){h(c,T,b.overrideMaterial.shading)}))}else{F(THREE.NormalBlending);for(v=G-1;v>=0;v--)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),
+f(c,ka,C,Z,V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}for(v=0;v<G;v++)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),f(c,ka,C,Z,
+V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}}b.__webglSprites.length&&y(b,c);o&&o.minFilter!==THREE.NearestFilter&&o.minFilter!==THREE.LinearFilter&&U(o)};this.initWebGLObjects=function(b){if(!b.__webglObjects)b.__webglObjects=[],b.__webglObjectsImmediate=[],b.__webglSprites=
+[];for(;b.__objectsAdded.length;){var e=b.__objectsAdded[0],f=b,k=void 0,h=void 0,m=void 0;if(!e.__webglInit)if(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrixArray=new Float32Array(9),e._modelViewMatrixArray=new Float32Array(16),e._objectMatrixArray=new Float32Array(16),e.matrixWorld.flattenToArray(e._objectMatrixArray),e instanceof THREE.Mesh)for(k in h=e.geometry,h.geometryGroups==void 0&&E(h),h.geometryGroups){m=h.geometryGroups[k];if(!m.__webglVertexBuffer){var n=m;n.__webglVertexBuffer=
+o.createBuffer();n.__webglNormalBuffer=o.createBuffer();n.__webglTangentBuffer=o.createBuffer();n.__webglColorBuffer=o.createBuffer();n.__webglUVBuffer=o.createBuffer();n.__webglUV2Buffer=o.createBuffer();n.__webglSkinVertexABuffer=o.createBuffer();n.__webglSkinVertexBBuffer=o.createBuffer();n.__webglSkinIndicesBuffer=o.createBuffer();n.__webglSkinWeightsBuffer=o.createBuffer();n.__webglFaceBuffer=o.createBuffer();n.__webglLineBuffer=o.createBuffer();if(n.numMorphTargets){var p=void 0,t=void 0;n.__webglMorphTargetsBuffers=
+[];p=0;for(t=n.numMorphTargets;p<t;p++)n.__webglMorphTargetsBuffers.push(o.createBuffer())}for(var n=m,p=e,v=void 0,u=void 0,w=void 0,x=w=void 0,M=void 0,T=void 0,z=T=t=0,y=w=u=void 0,Z=y=u=v=void 0,w=void 0,x=p.geometry,M=x.faces,y=n.faces,v=0,u=y.length;v<u;v++)w=y[v],w=M[w],w instanceof THREE.Face3?(t+=3,T+=1,z+=3):w instanceof THREE.Face4&&(t+=4,T+=2,z+=4);for(var v=n,u=p,B=y=M=void 0,V=void 0,B=void 0,w=[],M=0,y=u.materials.length;M<y;M++)if(B=u.materials[M],B instanceof THREE.MeshFaceMaterial){B=
+0;for(l=v.materials.length;B<l;B++)(V=v.materials[B])&&w.push(V)}else(V=B)&&w.push(V);v=w;n.__materials=v;a:{M=u=void 0;y=v.length;for(u=0;u<y;u++)if(M=v[u],M.map||M.lightMap||M instanceof THREE.MeshShaderMaterial){u=!0;break a}u=!1}a:{y=M=void 0;w=v.length;for(M=0;M<w;M++)if(y=v[M],!(y instanceof THREE.MeshBasicMaterial&&!y.envMap||y instanceof THREE.MeshDepthMaterial)){y=y&&y.shading!=void 0&&y.shading==THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading;break a}y=!1}a:{w=M=void 0;B=v.length;
+for(M=0;M<B;M++)if(w=v[M],w.vertexColors){w=w.vertexColors;break a}w=!1}n.__vertexArray=new Float32Array(t*3);if(y)n.__normalArray=new Float32Array(t*3);if(x.hasTangents)n.__tangentArray=new Float32Array(t*4);if(w)n.__colorArray=new Float32Array(t*3);if(u){if(x.faceUvs.length>0||x.faceVertexUvs.length>0)n.__uvArray=new Float32Array(t*2);if(x.faceUvs.length>1||x.faceVertexUvs.length>1)n.__uv2Array=new Float32Array(t*2)}if(p.geometry.skinWeights.length&&p.geometry.skinIndices.length)n.__skinVertexAArray=
+new Float32Array(t*4),n.__skinVertexBArray=new Float32Array(t*4),n.__skinIndexArray=new Float32Array(t*4),n.__skinWeightArray=new Float32Array(t*4);n.__faceArray=new Uint16Array(T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0));n.__lineArray=new Uint16Array(z*2);if(n.numMorphTargets){n.__morphTargetsArrays=[];x=0;for(M=n.numMorphTargets;x<M;x++)n.__morphTargetsArrays.push(new Float32Array(t*3))}n.__needsSmoothNormals=y==THREE.SmoothShading;n.__uvType=u;n.__vertexColorType=w;n.__normalType=
+y;n.__webglFaceCount=T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0);n.__webglLineCount=z*2;x=0;for(M=v.length;x<M;x++)if(u=v[x],u.attributes){if(n.__webglCustomAttributes===void 0)n.__webglCustomAttributes={};for(a in u.attributes){w=u.attributes[a];y={};for(Z in w)y[Z]=w[Z];if(!y.__webglInitialized||y.createUniqueBuffers)y.__webglInitialized=!0,T=1,y.type==="v2"?T=2:y.type==="v3"?T=3:y.type==="v4"?T=4:y.type==="c"&&(T=3),y.size=T,y.array=new Float32Array(t*T),y.buffer=o.createBuffer(),
+y.buffer.belongsToAttribute=a,w.needsUpdate=!0,y.__original=w;n.__webglCustomAttributes[a]=y}}n.__inittedArrays=!0;h.__dirtyVertices=!0;h.__dirtyMorphTargets=!0;h.__dirtyElements=!0;h.__dirtyUvs=!0;h.__dirtyNormals=!0;h.__dirtyTangents=!0;h.__dirtyColors=!0}N(f.__webglObjects,m,e)}else if(e instanceof THREE.Ribbon){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=
+new Float32Array(m*3),k.__webglVertexCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.Line){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=new Float32Array(m*3),k.__webglLineCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.ParticleSystem){h=e.geometry;
+if(!h.__webglVertexBuffer){k=h;k.__webglVertexBuffer=o.createBuffer();k.__webglColorBuffer=o.createBuffer();k=h;m=e;n=k.vertices.length;k.__vertexArray=new Float32Array(n*3);k.__colorArray=new Float32Array(n*3);k.__sortArray=[];k.__webglParticleCount=n;k.__materials=m.materials;Z=t=p=void 0;p=0;for(t=m.materials.length;p<t;p++)if(Z=m.materials[p],Z.attributes){if(k.__webglCustomAttributes===void 0)k.__webglCustomAttributes={};for(a in Z.attributes){originalAttribute=Z.attributes[a];attribute={};for(property in originalAttribute)attribute[property]=
+originalAttribute[property];if(!attribute.__webglInitialized||attribute.createUniqueBuffers)attribute.__webglInitialized=!0,size=1,attribute.type==="v2"?size=2:attribute.type==="v3"?size=3:attribute.type==="v4"?size=4:attribute.type==="c"&&(size=3),attribute.size=size,attribute.array=new Float32Array(n*size),attribute.buffer=o.createBuffer(),attribute.buffer.belongsToAttribute=a,originalAttribute.needsUpdate=!0,attribute.__original=originalAttribute;k.__webglCustomAttributes[a]=attribute}}h.__dirtyVertices=
+!0;h.__dirtyColors=!0}N(f.__webglObjects,h,e)}else THREE.MarchingCubes!==void 0&&e instanceof THREE.MarchingCubes?f.__webglObjectsImmediate.push({object:e,opaque:{list:[],count:0},transparent:{list:[],count:0}}):e instanceof THREE.Sprite&&f.__webglSprites.push(e);b.__objectsAdded.splice(0,1)}for(;b.__objectsRemoved.length;){f=b.__objectsRemoved[0];e=b;if(f instanceof THREE.Mesh||f instanceof THREE.ParticleSystem||f instanceof THREE.Ribbon||f instanceof THREE.Line)H(e.__webglObjects,f);else if(f instanceof
+THREE.Sprite){e=e.__webglSprites;h=void 0;for(h=e.length-1;h>=0;h--)e[h]==f&&e.splice(h,1)}else f instanceof THREE.MarchingCubes&&H(e.__webglObjectsImmediate,f);b.__objectsRemoved.splice(0,1)}e=0;for(f=b.__webglObjects.length;e<f;e++)if(k=b.__webglObjects[e].object,t=m=h=void 0,k instanceof THREE.Mesh){h=k.geometry;n=0;for(p=h.geometryGroupsList.length;n<p;n++)if(m=h.geometryGroupsList[n],t=D(m),h.__dirtyVertices||h.__dirtyMorphTargets||h.__dirtyElements||h.__dirtyUvs||h.__dirtyNormals||h.__dirtyColors||
+h.__dirtyTangents||t)if(t=m,Z=o.DYNAMIC_DRAW,T=!h.dynamic,t.__inittedArrays){var ka=x=z=void 0,C=void 0,xa=ka=void 0,K=void 0,pa=void 0,ha=void 0,I=V=B=w=y=M=u=v=void 0,L=void 0,J=C=ha=C=pa=K=void 0,A=void 0,F=A=J=K=void 0,Y=void 0,va=F=A=J=ka=ka=xa=ha=C=F=A=J=Y=F=A=J=Y=F=A=J=void 0,O=0,X=0,S=0,ra=0,R=0,ca=0,P=0,ya=0,oa=0,Q=0,U=0,F=J=0,F=void 0,W=t.__vertexArray,ja=t.__uvArray,fa=t.__uv2Array,ma=t.__normalArray,$=t.__tangentArray,sa=t.__colorArray,aa=t.__skinVertexAArray,ea=t.__skinVertexBArray,ta=
+t.__skinIndexArray,da=t.__skinWeightArray,na=t.__morphTargetsArrays,ga=t.__webglCustomAttributes,A=void 0,qa=t.__faceArray,ia=t.__lineArray,Ga=t.__needsSmoothNormals,u=t.__vertexColorType,v=t.__uvType,M=t.__normalType,wa=k.geometry,Ca=wa.__dirtyVertices,Aa=wa.__dirtyElements,za=wa.__dirtyUvs,Fa=wa.__dirtyNormals,Za=wa.__dirtyTangents,$a=wa.__dirtyColors,ab=wa.__dirtyMorphTargets,Oa=wa.vertices,cb=t.faces,fb=wa.faces,db=wa.faceVertexUvs[0],eb=wa.faceVertexUvs[1],Pa=wa.skinVerticesA,Qa=wa.skinVerticesB,
+Ra=wa.skinIndices,Ia=wa.skinWeights,Ha=wa.morphTargets;if(ga)for(va in ga)ga[va].offset=0,ga[va].offsetSrc=0;z=0;for(x=cb.length;z<x;z++)if(ka=cb[z],C=fb[ka],db&&(y=db[ka]),eb&&(w=eb[ka]),ka=C.vertexNormals,xa=C.normal,K=C.vertexColors,pa=C.color,ha=C.vertexTangents,C instanceof THREE.Face3){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,X+=9;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=
+A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],A.array[J+2]=A.value[C.c]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.offsetSrc+=3),A.offset+=3):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c]):A.boundTo==="faces"?(I=V=B=F=A.value[F],
+A.offsetSrc++):A.boundTo==="faceVertices"&&(B=A.value[F],V=A.value[F+1],I=A.value[F+2],A.offsetSrc+=3),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.offset+=6):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=
+V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z),A.offset+=9):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.offset+=12));if(ab){J=0;for(A=Ha.length;J<A;J++)B=Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+
+7]=I.y,F[U+8]=I.z;U+=9}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=
+1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,Q+=12;if($a&&u)K.length==3&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2]):A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,oa+=9;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+
+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,P+=12;if(Fa&&M)if(ka.length==3&&Ga)for(ha=0;ha<3;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<3;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<3;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<3;ha++)ka=w[ha],fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+2,R+=3,ia[ya]=O,ia[ya+1]=O+
+1,ia[ya+2]=O,ia[ya+3]=O+2,ia[ya+4]=O+1,ia[ya+5]=O+2,ya+=6,O+=3)}else if(C instanceof THREE.Face4){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,L=Oa[C.d].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,W[X+9]=L.x,W[X+10]=L.y,W[X+11]=L.z,X+=12;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],
+A.array[J+2]=A.value[C.c],A.array[J+3]=A.value[C.d]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.array[J+3]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.array[J+3]=A.value[F+3],A.offsetSrc+=4),A.offset+=4):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c],L=A.value[C.d]):A.boundTo==="faces"?(L=I=V=B=F=A.value[F],A.offsetSrc++):A.boundTo==="faceVertices"&&
+(B=A.value[F],V=A.value[F+1],I=A.value[F+2],L=A.value[F+3],A.offsetSrc+=4),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.array[J+6]=L.x,A.array[J+7]=L.y,A.offset+=8):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b,A.array[J+9]=L.r,A.array[J+10]=L.g,A.array[J+11]=L.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+
+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z,A.array[J+9]=L.x,A.array[J+10]=L.y,A.array[J+11]=L.z),A.offset+=12):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.array[J+12]=L.x,A.array[J+13]=L.y,A.array[J+14]=L.z,A.array[J+15]=L.w,A.offset+=16));if(ab){J=0;for(A=Ha.length;J<A;J++)B=
+Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,L=Ha[J].vertices[C.d].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+7]=I.y,F[U+8]=I.z,F[U+9]=L.x,F[U+10]=L.y,F[U+11]=L.z;U+=12}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],Y=Ia[C.d],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,da[Q+12]=Y.x,da[Q+13]=Y.y,da[Q+14]=Y.z,
+da[Q+15]=Y.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],Y=Ra[C.d],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,ta[Q+12]=Y.x,ta[Q+13]=Y.y,ta[Q+14]=Y.z,ta[Q+15]=Y.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],Y=Pa[C.d],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,aa[Q+12]=Y.x,aa[Q+13]=Y.y,aa[Q+14]=Y.z,aa[Q+15]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],
+C=Qa[C.d],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,ea[Q+12]=C.x,ea[Q+13]=C.y,ea[Q+14]=C.z,ea[Q+15]=1,Q+=16;if($a&&u)K.length==4&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2],K=K[3]):K=A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,sa[oa+9]=K.r,sa[oa+10]=K.g,sa[oa+11]=K.b,oa+=12;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],ha=
+ha[3],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,$[P+12]=ha.x,$[P+13]=ha.y,$[P+14]=ha.z,$[P+15]=ha.w,P+=16;if(Fa&&M)if(ka.length==4&&Ga)for(ha=0;ha<4;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<4;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<4;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<4;ha++)ka=w[ha],
+fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+3,qa[R+3]=O+1,qa[R+4]=O+2,qa[R+5]=O+3,R+=6,ia[ya]=O,ia[ya+1]=O+1,ia[ya+2]=O,ia[ya+3]=O+3,ia[ya+4]=O+1,ia[ya+5]=O+2,ia[ya+6]=O+2,ia[ya+7]=O+3,ya+=8,O+=4)}Ca&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,W,Z));if(ga)for(va in ga)A=ga[va],A.__original.needsUpdate&&(o.bindBuffer(o.ARRAY_BUFFER,A.buffer),o.bufferData(o.ARRAY_BUFFER,A.array,Z));if(ab){J=0;for(A=Ha.length;J<A;J++)o.bindBuffer(o.ARRAY_BUFFER,
+t.__webglMorphTargetsBuffers[J]),o.bufferData(o.ARRAY_BUFFER,na[J],Z)}$a&&oa>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,sa,Z));Fa&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglNormalBuffer),o.bufferData(o.ARRAY_BUFFER,ma,Z));Za&&wa.hasTangents&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglTangentBuffer),o.bufferData(o.ARRAY_BUFFER,$,Z));za&&S>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUVBuffer),o.bufferData(o.ARRAY_BUFFER,ja,Z));za&&ra>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUV2Buffer),
+o.bufferData(o.ARRAY_BUFFER,fa,Z));Aa&&(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglFaceBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,qa,Z),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglLineBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,ia,Z));Q>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexABuffer),o.bufferData(o.ARRAY_BUFFER,aa,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexBBuffer),o.bufferData(o.ARRAY_BUFFER,ea,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinIndicesBuffer),o.bufferData(o.ARRAY_BUFFER,
+ta,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinWeightsBuffer),o.bufferData(o.ARRAY_BUFFER,da,Z));T&&(delete t.__inittedArrays,delete t.__colorArray,delete t.__normalArray,delete t.__tangentArray,delete t.__uvArray,delete t.__uv2Array,delete t.__faceArray,delete t.__vertexArray,delete t.__lineArray,delete t.__skinVertexAArray,delete t.__skinVertexBArray,delete t.__skinIndexArray,delete t.__skinWeightArray)}h.__dirtyVertices=!1;h.__dirtyMorphTargets=!1;h.__dirtyElements=!1;h.__dirtyUvs=!1;h.__dirtyNormals=
+!1;h.__dirtyTangents=!1;h.__dirtyColors=!1;G(m)}else if(k instanceof THREE.Ribbon){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+
+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.Line){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);
+o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.ParticleSystem)h=k.geometry,t=D(h),(h.__dirtyVertices||h.__dirtyColors||k.sortParticles||t)&&c(h,o.DYNAMIC_DRAW,k),h.__dirtyVertices=!1,h.__dirtyColors=!1,G(h)};this.setFaceCulling=function(b,e){b?(!e||e=="ccw"?o.frontFace(o.CCW):o.frontFace(o.CW),
+b=="back"?o.cullFace(o.BACK):b=="front"?o.cullFace(o.FRONT):o.cullFace(o.FRONT_AND_BACK),o.enable(o.CULL_FACE)):o.disable(o.CULL_FACE)};this.supportsVertexTextures=function(){return oa}};
+THREE.WebGLRenderTarget=function(b,c,e){this.width=b;this.height=c;e=e||{};this.wrapS=e.wrapS!==void 0?e.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=e.wrapT!==void 0?e.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=e.magFilter!==void 0?e.magFilter:THREE.LinearFilter;this.minFilter=e.minFilter!==void 0?e.minFilter:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=e.format!==void 0?e.format:THREE.RGBAFormat;this.type=e.type!==void 0?e.type:
+THREE.UnsignedByteType;this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0;this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!0};
+THREE.WebGLRenderTarget.prototype.clone=function(){var b=new THREE.WebGLRenderTarget(this.width,this.height);b.wrapS=this.wrapS;b.wrapT=this.wrapT;b.magFilter=this.magFilter;b.minFilter=this.minFilter;b.offset.copy(this.offset);b.repeat.copy(this.repeat);b.format=this.format;b.type=this.type;b.depthBuffer=this.depthBuffer;b.stencilBuffer=this.stencilBuffer;return b};THREE.WebGLRenderTargetCube=function(b,c,e){THREE.WebGLRenderTarget.call(this,b,c,e);this.activeCubeFace=0};
+THREE.WebGLRenderTargetCube.prototype=new THREE.WebGLRenderTarget;THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(b){this.positionWorld.copy(b.positionWorld);this.positionScreen.copy(b.positionScreen)};
+THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.materials=null};
+THREE.ColorUtils={adjustHSV:function(b,c,e,f){var h=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(b,h);h.h=THREE.ColorUtils.clamp(h.h+c,0,1);h.s=THREE.ColorUtils.clamp(h.s+e,0,1);h.v=THREE.ColorUtils.clamp(h.v+f,0,1);b.setHSV(h.h,h.s,h.v)},rgbToHsv:function(b,c){var e=b.r,f=b.g,h=b.b,m=Math.max(Math.max(e,f),h),k=Math.min(Math.min(e,f),h);if(k==m)k=e=0;else{var n=m-k,k=n/m,e=e==m?(f-h)/n:f==m?2+(h-e)/n:4+(e-f)/n;e/=6;e<0&&(e+=1);e>1&&(e-=1)}c===void 0&&(c={h:0,s:0,v:0});c.h=e;c.s=k;c.v=m;return c},
+clamp:function(b,c,e){return b<c?c:b>e?e:b}};THREE.ColorUtils.__hsv={h:0,s:0,v:0};
+THREE.GeometryUtils={merge:function(b,c){var e=c instanceof THREE.Mesh,f=b.vertices.length,h=e?c.geometry:c,m=b.vertices,k=h.vertices,n=b.faces,u=h.faces,p=b.faceVertexUvs[0],h=h.faceVertexUvs[0];e&&c.matrixAutoUpdate&&c.updateMatrix();for(var v=0,t=k.length;v<t;v++){var x=new THREE.Vertex(k[v].position.clone());e&&c.matrix.multiplyVector3(x.position);m.push(x)}v=0;for(t=u.length;v<t;v++){var k=u[v],w,z,y=k.vertexNormals,x=k.vertexColors;k instanceof THREE.Face3?w=new THREE.Face3(k.a+f,k.b+f,k.c+
+f):k instanceof THREE.Face4&&(w=new THREE.Face4(k.a+f,k.b+f,k.c+f,k.d+f));w.normal.copy(k.normal);e=0;for(m=y.length;e<m;e++)z=y[e],w.vertexNormals.push(z.clone());w.color.copy(k.color);e=0;for(m=x.length;e<m;e++)z=x[e],w.vertexColors.push(z.clone());w.materials=k.materials.slice();w.centroid.copy(k.centroid);n.push(w)}v=0;for(t=h.length;v<t;v++){f=h[v];n=[];e=0;for(m=f.length;e<m;e++)n.push(new THREE.UV(f[e].u,f[e].v));p.push(n)}},clone:function(b){var c=new THREE.Geometry,e,f=b.vertices,h=b.faces,
+m=b.faceVertexUvs[0],b=0;for(e=f.length;b<e;b++){var k=new THREE.Vertex(f[b].position.clone());c.vertices.push(k)}b=0;for(e=h.length;b<e;b++){var n=h[b],u,p,v=n.vertexNormals,t=n.vertexColors;n instanceof THREE.Face3?u=new THREE.Face3(n.a,n.b,n.c):n instanceof THREE.Face4&&(u=new THREE.Face4(n.a,n.b,n.c,n.d));u.normal.copy(n.normal);f=0;for(k=v.length;f<k;f++)p=v[f],u.vertexNormals.push(p.clone());u.color.copy(n.color);f=0;for(k=t.length;f<k;f++)p=t[f],u.vertexColors.push(p.clone());u.materials=n.materials.slice();
+u.centroid.copy(n.centroid);c.faces.push(u)}b=0;for(e=m.length;b<e;b++){h=m[b];u=[];f=0;for(k=h.length;f<k;f++)u.push(new THREE.UV(h[f].u,h[f].v));c.faceVertexUvs[0].push(u)}return c},randomPointInTriangle:function(b,c,e){var f,h,m,k=new THREE.Vector3,n=THREE.GeometryUtils.__v1;f=THREE.GeometryUtils.random();h=THREE.GeometryUtils.random();f+h>1&&(f=1-f,h=1-h);m=1-f-h;k.copy(b);k.multiplyScalar(f);n.copy(c);n.multiplyScalar(h);k.addSelf(n);n.copy(e);n.multiplyScalar(m);k.addSelf(n);return k},randomPointInFace:function(b,
+c,e){var f,h,m;if(b instanceof THREE.Face3)return f=c.vertices[b.a].position,h=c.vertices[b.b].position,m=c.vertices[b.c].position,THREE.GeometryUtils.randomPointInTriangle(f,h,m);else if(b instanceof THREE.Face4){f=c.vertices[b.a].position;h=c.vertices[b.b].position;m=c.vertices[b.c].position;var c=c.vertices[b.d].position,k;e?b._area1&&b._area2?(e=b._area1,k=b._area2):(e=THREE.GeometryUtils.triangleArea(f,h,c),k=THREE.GeometryUtils.triangleArea(h,m,c),b._area1=e,b._area2=k):(e=THREE.GeometryUtils.triangleArea(f,
+h,c),k=THREE.GeometryUtils.triangleArea(h,m,c));return THREE.GeometryUtils.random()*(e+k)<e?THREE.GeometryUtils.randomPointInTriangle(f,h,c):THREE.GeometryUtils.randomPointInTriangle(h,m,c)}},randomPointsInGeometry:function(b,c){function e(b){function e(c,f){if(f<c)return c;var k=c+Math.floor((f-c)/2);return p[k]>b?e(c,k-1):p[k]<b?e(k+1,f):k}return e(0,p.length-1)}var f,h,m=b.faces,k=b.vertices,n=m.length,u=0,p=[],v,t,x,w;for(h=0;h<n;h++){f=m[h];if(f instanceof THREE.Face3)v=k[f.a].position,t=k[f.b].position,
+x=k[f.c].position,f._area=THREE.GeometryUtils.triangleArea(v,t,x);else if(f instanceof THREE.Face4)v=k[f.a].position,t=k[f.b].position,x=k[f.c].position,w=k[f.d].position,f._area1=THREE.GeometryUtils.triangleArea(v,t,w),f._area2=THREE.GeometryUtils.triangleArea(t,x,w),f._area=f._area1+f._area2;u+=f._area;p[h]=u}f=[];k={};for(h=0;h<c;h++)n=THREE.GeometryUtils.random()*u,n=e(n),f[h]=THREE.GeometryUtils.randomPointInFace(m[n],b,!0),k[n]?k[n]+=1:k[n]=1;return f},triangleArea:function(b,c,e){var f,h=THREE.GeometryUtils.__v1;
+h.sub(b,c);f=h.length();h.sub(b,e);b=h.length();h.sub(c,e);e=h.length();c=0.5*(f+b+e);return Math.sqrt(c*(c-f)*(c-b)*(c-e))},random16:function(){return(65280*Math.random()+255*Math.random())/65535}};THREE.GeometryUtils.random=THREE.GeometryUtils.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
+THREE.ImageUtils={loadTexture:function(b,c,e){var f=new Image,h=new THREE.Texture(f,c);f.onload=function(){h.needsUpdate=!0;e&&e(this)};f.crossOrigin="";f.src=b;return h},loadTextureCube:function(b,c,e){var f,h=[],m=new THREE.Texture(h,c),c=h.loadCount=0;for(f=b.length;c<f;++c)h[c]=new Image,h[c].onload=function(){h.loadCount+=1;if(h.loadCount==6)m.needsUpdate=!0;e&&e(this)},h[c].crossOrigin="",h[c].src=b[c];return m},getNormalMap:function(b,c){var e=function(b){var e=Math.sqrt(b[0]*b[0]+b[1]*b[1]+
+b[2]*b[2]);return[b[0]/e,b[1]/e,b[2]/e]};c|=1;var f=b.width,h=b.height,m=document.createElement("canvas");m.width=f;m.height=h;var k=m.getContext("2d");k.drawImage(b,0,0);for(var n=k.getImageData(0,0,f,h).data,u=k.createImageData(f,h),p=u.data,v=0;v<f;v++)for(var t=1;t<h;t++){var x=t-1<0?h-1:t-1,w=(t+1)%h,z=v-1<0?f-1:v-1,y=(v+1)%f,B=[],D=[0,0,n[(t*f+v)*4]/255*c];B.push([-1,0,n[(t*f+z)*4]/255*c]);B.push([-1,-1,n[(x*f+z)*4]/255*c]);B.push([0,-1,n[(x*f+v)*4]/255*c]);B.push([1,-1,n[(x*f+y)*4]/255*c]);
+B.push([1,0,n[(t*f+y)*4]/255*c]);B.push([1,1,n[(w*f+y)*4]/255*c]);B.push([0,1,n[(w*f+v)*4]/255*c]);B.push([-1,1,n[(w*f+z)*4]/255*c]);x=[];z=B.length;for(w=0;w<z;w++){var y=B[w],G=B[(w+1)%z],y=[y[0]-D[0],y[1]-D[1],y[2]-D[2]],G=[G[0]-D[0],G[1]-D[1],G[2]-D[2]];x.push(e([y[1]*G[2]-y[2]*G[1],y[2]*G[0]-y[0]*G[2],y[0]*G[1]-y[1]*G[0]]))}B=[0,0,0];for(w=0;w<x.length;w++)B[0]+=x[w][0],B[1]+=x[w][1],B[2]+=x[w][2];B[0]/=x.length;B[1]/=x.length;B[2]/=x.length;D=(t*f+v)*4;p[D]=(B[0]+1)/2*255|0;p[D+1]=(B[1]+0.5)*
+255|0;p[D+2]=B[2]*255|0;p[D+3]=255}k.putImageData(u,0,0);return m}};THREE.SceneUtils={showHierarchy:function(b,c){THREE.SceneUtils.traverseHierarchy(b,function(b){b.visible=c})},traverseHierarchy:function(b,c){var e,f,h=b.children.length;for(f=0;f<h;f++)e=b.children[f],c(e),THREE.SceneUtils.traverseHierarchy(e,c)}};
+if(THREE.WebGLRenderer)THREE.ShaderUtils={lib:{fresnel:{uniforms:{mRefractionRatio:{type:"f",value:1.02},mFresnelBias:{type:"f",value:0.1},mFresnelPower:{type:"f",value:2},mFresnelScale:{type:"f",value:1},tCube:{type:"t",value:1,texture:null}},fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\nvec4 refractedColor = vec4( 1.0, 1.0, 1.0, 1.0 );\nrefractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;\nrefractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;\nrefractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;\nrefractedColor.a = 1.0;\ngl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );\n}",
+vertexShader:"uniform float mRefractionRatio;\nuniform float mFresnelBias;\nuniform float mFresnelScale;\nuniform float mFresnelPower;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = normalize ( mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal );\nvec3 I = mPosition.xyz - cameraPosition;\nvReflect = reflect( I, nWorld );\nvRefract[0] = refract( normalize( I ), nWorld, mRefractionRatio );\nvRefract[1] = refract( normalize( I ), nWorld, mRefractionRatio * 0.99 );\nvRefract[2] = refract( normalize( I ), nWorld, mRefractionRatio * 0.98 );\nvReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), nWorld ), mFresnelPower );\ngl_Position = projectionMatrix * mvPosition;\n}"},
+normal:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},tDiffuse:{type:"t",value:0,texture:null},tNormal:{type:"t",value:2,texture:null},tSpecular:{type:"t",value:3,texture:null},tAO:{type:"t",value:4,texture:null},uNormalScale:{type:"f",value:1},tDisplacement:{type:"t",value:5,texture:null},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",
+value:new THREE.Color(15658734)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(328965)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform float uNormalScale;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( 1.0 );\nvec4 mColor = vec4( uDiffuseColor, uOpacity );\nvec4 mSpecular = vec4( uSpecularColor, uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse )\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\nif( enableAO )\ngl_FragColor = gl_FragColor * texture2D( tAO, vUv );\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( vTangent, vBinormal, vNormal );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointTotal = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = specularTex.r * pow( pointDotNormalHalf, uShininess );\npointTotal += pointDistance * vec4( pointLightColor[ i ], 1.0 ) * ( mColor * pointDiffuseWeight + mSpecular * pointSpecularWeight * pointDiffuseWeight );\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirTotal = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = specularTex.r * pow( dirDotNormalHalf, uShininess );\ndirTotal += vec4( directionalLightColor[ i ], 1.0 ) * ( mColor * dirDiffuseWeight + mSpecular * dirSpecularWeight * dirDiffuseWeight );\n}\n#endif\nvec4 totalLight = vec4( ambientLightColor * uAmbientColor, uOpacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirTotal;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointTotal;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:"attribute vec4 tangent;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvViewPosition = -mvPosition.xyz;\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvBinormal = normalize( vBinormal );\nvUv = uv;\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#ifdef VERTEX_TEXTURES\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\nvec4 displacedPosition = vec4( vNormal.xyz * df, 0.0 ) + mvPosition;\ngl_Position = projectionMatrix * displacedPosition;\n#else\ngl_Position = projectionMatrix * mvPosition;\n#endif\n}"},
+cube:{uniforms:{tCube:{type:"t",value:1,texture:null}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( - wPos.x, wPos.yz ) );\n}"}}};
+THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(b){return this.getPoint(this.getUtoTmapping(b))};THREE.Curve.prototype.getPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPoint(c/b));return e};THREE.Curve.prototype.getSpacedPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPointAt(c/b));return e};
+THREE.Curve.prototype.getLength=function(){var b=this.getLengths();return b[b.length-1]};THREE.Curve.prototype.getLengths=function(b){b||(b=200);if(this.cacheArcLengths&&this.cacheArcLengths.length==b+1)return this.cacheArcLengths;var c=[],e,f=this.getPoint(0),h,m=0;c.push(0);for(h=1;h<=b;h++)e=this.getPoint(h/b),m+=e.distanceTo(f),c.push(m),f=e;return this.cacheArcLengths=c};
+THREE.Curve.prototype.getUtoTmapping=function(b,c){var e=this.getLengths(),f=0,h=e.length,m;m=c?c:b*e[h-1];time=Date.now();for(var k=0,n=h-1,u;k<=n;)if(f=Math.floor(k+(n-k)/2),u=e[f]-m,u<0)k=f+1;else if(u>0)n=f-1;else{n=f;break}f=n;if(e[f]==m)return f/(h-1);k=e[f];return e=(f+(m-k)/(e[f+1]-k))/(h-1)};THREE.Curve.prototype.getNormalVector=function(b){b=this.getTangent(b);return new THREE.Vector2(-b.y,b.x)};
+THREE.Curve.prototype.getTangent=function(b){var c=b-1.0E-4;b+=1.0E-4;c<0&&(c=0);b>1&&(b=1);var c=this.getPoint(c),b=this.getPoint(b),e=new THREE.Vector2;e.sub(b,c);return e.unit()};THREE.LineCurve=function(b,c){b instanceof THREE.Vector2?(this.v1=b,this.v2=c):THREE.LineCurve.oldConstructor.apply(this,arguments)};THREE.LineCurve.oldConstructor=function(b,c,e,f){this.constructor(new THREE.Vector2(b,c),new THREE.Vector2(e,f))};THREE.LineCurve.prototype=new THREE.Curve;
+THREE.LineCurve.prototype.constructor=THREE.LineCurve;THREE.LineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2;c.sub(this.v2,this.v1);c.multiplyScalar(b).addSelf(this.v1);return c};THREE.LineCurve.prototype.getPointAt=function(b){return this.getPoint(b)};THREE.LineCurve.prototype.getTangent=function(){var b=new THREE.Vector2;b.sub(this.v2,this.v1);b.normalize();return b};
+THREE.QuadraticBezierCurve=function(b,c,e){if(!(c instanceof THREE.Vector2))var f=Array.prototype.slice.call(arguments),b=new THREE.Vector2(f[0],f[1]),c=new THREE.Vector2(f[2],f[3]),e=new THREE.Vector2(f[4],f[5]);this.v0=b;this.v1=c;this.v2=e};THREE.QuadraticBezierCurve.prototype=new THREE.Curve;THREE.QuadraticBezierCurve.prototype.constructor=THREE.QuadraticBezierCurve;
+THREE.QuadraticBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(c,b)};THREE.QuadraticBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.y,this.v1.y,this.v2.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.CubicBezierCurve=function(b,c,e,f){if(!(c instanceof THREE.Vector2))var h=Array.prototype.slice.call(arguments),b=new THREE.Vector2(h[0],h[1]),c=new THREE.Vector2(h[2],h[3]),e=new THREE.Vector2(h[4],h[5]),f=new THREE.Vector2(h[6],h[7]);this.v0=b;this.v1=c;this.v2=e;this.v3=f};THREE.CubicBezierCurve.prototype=new THREE.Curve;THREE.CubicBezierCurve.prototype.constructor=THREE.CubicBezierCurve;
+THREE.CubicBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b3(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Shape.Utils.b3(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(c,b)};THREE.CubicBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.SplineCurve=function(b){this.points=b};THREE.SplineCurve.prototype=new THREE.Curve;THREE.SplineCurve.prototype.constructor=THREE.SplineCurve;
+THREE.SplineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2,e=[],f=this.points,h;h=(f.length-1)*b;b=Math.floor(h);h-=b;e[0]=b==0?b:b-1;e[1]=b;e[2]=b>f.length-2?b:b+1;e[3]=b>f.length-3?b:b+2;c.x=THREE.Curve.Utils.interpolate(f[e[0]].x,f[e[1]].x,f[e[2]].x,f[e[3]].x,h);c.y=THREE.Curve.Utils.interpolate(f[e[0]].y,f[e[1]].y,f[e[2]].y,f[e[3]].y,h);return c};THREE.ArcCurve=function(b,c,e,f,h,m){this.aX=b;this.aY=c;this.aRadius=e;this.aStartAngle=f;this.aEndAngle=h;this.aClockwise=m};
+THREE.ArcCurve.prototype=new THREE.Curve;THREE.ArcCurve.prototype.constructor=THREE.ArcCurve;THREE.ArcCurve.prototype.getPoint=function(b){var c=this.aEndAngle-this.aStartAngle;this.aClockwise||(b=1-b);b=this.aStartAngle+b*c;return new THREE.Vector2(this.aX+this.aRadius*Math.cos(b),this.aY+this.aRadius*Math.sin(b))};
+THREE.Curve.Utils={tangentQuadraticBezier:function(b,c,e,f){return 2*(1-b)*(e-c)+2*b*(f-e)},tangentCubicBezier:function(b,c,e,f,h){return-3*c*(1-b)*(1-b)+3*e*(1-b)*(1-b)-6*b*e*(1-b)+6*b*f*(1-b)-3*b*b*f+3*b*b*h},tangentSpline:function(b){return 6*b*b-6*b+(3*b*b-4*b+1)+(-6*b*b+6*b)+(3*b*b-2*b)},interpolate:function(b,c,e,f,h){var b=(e-b)*0.5,f=(f-c)*0.5,m=h*h;return(2*c-2*e+b+f)*h*m+(-3*c+3*e-2*b-f)*m+b*h+c}};
+THREE.Curve.create=function(b,c){b.prototype=new THREE.Curve;b.prototype.constructor=b;b.prototype.getPoint=c;return b};THREE.LineCurve3=THREE.Curve.create(function(b,c){this.v1=b;this.v2=c},function(b){var c=new THREE.Vector3;c.sub(v2,v1);c.multiplyScalar(b);c.addSelf(this.v1);return c});
+THREE.QuadraticBezierCurve3=THREE.Curve.create(function(b,c,e){this.v0=b;this.v1=c;this.v2=e},function(b){var c,e;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);e=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);b=THREE.Shape.Utils.b2(b,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(c,e,b)});THREE.CurvePath=function(){this.curves=[];this.bends=[]};THREE.CurvePath.prototype=new THREE.Curve;THREE.CurvePath.prototype.constructor=THREE.CurvePath;THREE.CurvePath.prototype.add=function(b){this.curves.push(b)};
+THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){};THREE.CurvePath.prototype.getPoint=function(b){for(var c=b*this.getLength(),e=this.getCurveLengths(),b=0;b<e.length;){if(e[b]>=c)return c=e[b]-c,b=this.curves[b],c=1-c/b.getLength(),b.getPointAt(c);b++}return null};THREE.CurvePath.prototype.getLength=function(){var b=this.getCurveLengths();return b[b.length-1]};
+THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var b=[],c=0,e,f=this.curves.length;for(e=0;e<f;e++)c+=this.curves[e].getLength(),b.push(c);return this.cacheLengths=b};
+THREE.CurvePath.prototype.getBoundingBox=function(){var b=this.getPoints(),c,e,f,h;c=e=Number.NEGATIVE_INFINITY;f=h=Number.POSITIVE_INFINITY;var m,k,n,u;u=new THREE.Vector2;k=0;for(n=b.length;k<n;k++){m=b[k];if(m.x>c)c=m.x;else if(m.x<f)f=m.x;if(m.y>e)e=m.y;else if(m.y<e)h=m.y;u.addSelf(m.x,m.y)}return{minX:f,minY:h,maxX:c,maxY:e,centroid:u.divideScalar(n)}};THREE.CurvePath.prototype.createPointsGeometry=function(b){return this.createGeometry(this.getPoints(b,!0))};
+THREE.CurvePath.prototype.createSpacedPointsGeometry=function(b){return this.createGeometry(this.getSpacedPoints(b,!0))};THREE.CurvePath.prototype.createGeometry=function(b){for(var c=new THREE.Geometry,e=0;e<b.length;e++)c.vertices.push(new THREE.Vertex(new THREE.Vector3(b[e].x,b[e].y,0)));return c};THREE.CurvePath.prototype.addWrapPath=function(b){this.bends.push(b)};
+THREE.CurvePath.prototype.getTransformedPoints=function(b,c){var e=this.getPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(b,c){var e=this.getSpacedPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};
+THREE.CurvePath.prototype.getWrapPoints=function(b,c){var e=this.getBoundingBox(),f,h,m,k,n,u;f=0;for(h=b.length;f<h;f++)m=b[f],k=m.x,n=m.y,u=k/e.maxX,u=c.getUtoTmapping(u,k),k=c.getPoint(u),n=c.getNormalVector(u).multiplyScalar(n),m.x=k.x+n.x,m.y=k.y+n.y;return b};THREE.Path=function(b){THREE.CurvePath.call(this);this.actions=[];b&&this.fromPoints(b)};THREE.Path.prototype=new THREE.CurvePath;THREE.Path.prototype.constructor=THREE.Path;
+THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc"};THREE.Path.prototype.fromPoints=function(b){this.moveTo(b[0].x,b[0].y);var c,e=b.length;for(c=1;c<e;c++)this.lineTo(b[c].x,b[c].y)};THREE.Path.prototype.moveTo=function(){var b=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:b})};
+THREE.Path.prototype.lineTo=function(b,c){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args;this.curves.push(new THREE.LineCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(b,c)));this.actions.push({action:THREE.PathActions.LINE_TO,args:e})};
+THREE.Path.prototype.quadraticCurveTo=function(b,c,e,f){var h=Array.prototype.slice.call(arguments),m=this.actions[this.actions.length-1].args;this.curves.push(new THREE.QuadraticBezierCurve(new THREE.Vector2(m[m.length-2],m[m.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f)));this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:h})};
+THREE.Path.prototype.bezierCurveTo=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments),n=this.actions[this.actions.length-1].args;this.curves.push(new THREE.CubicBezierCurve(new THREE.Vector2(n[n.length-2],n[n.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f),new THREE.Vector2(h,m)));this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:k})};
+THREE.Path.prototype.splineThru=function(b){var c=Array.prototype.slice.call(arguments),e=this.actions[this.actions.length-1].args,e=[new THREE.Vector2(e[e.length-2],e[e.length-1])],e=e.concat(b);this.curves.push(new THREE.SplineCurve(e));this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:c})};THREE.Path.prototype.arc=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments);this.curves.push(new THREE.ArcCurve(b,c,e,f,h,m));this.actions.push({action:THREE.PathActions.ARC,args:k})};
+THREE.Path.prototype.getSpacedPoints=function(b){b||(b=40);for(var c=[],e=0;e<b;e++)c.push(this.getPoint(e/b));return c};
+THREE.Path.prototype.getPoints=function(b,c){var b=b||12,e=[],f,h,m,k,n,u,p,v,t,x,w,z,y;f=0;for(h=this.actions.length;f<h;f++)switch(m=this.actions[f],k=m.action,m=m.args,k){case THREE.PathActions.LINE_TO:e.push(new THREE.Vector2(m[0],m[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:n=m[2];u=m[3];t=m[0];x=m[1];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b2(y,w,t,n),y=THREE.Shape.Utils.b2(y,z,x,
+u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.BEZIER_CURVE_TO:n=m[4];u=m[5];t=m[0];x=m[1];p=m[2];v=m[3];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b3(y,w,t,p,n),y=THREE.Shape.Utils.b3(y,z,x,v,u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.CSPLINE_THRU:k=this.actions[f-1].args;k=[new THREE.Vector2(k[k.length-2],k[k.length-1])];y=b*m[0].length;k=k.concat(m[0]);m=new THREE.SplineCurve(k);
+for(k=1;k<=y;k++)e.push(m.getPointAt(k/y));break;case THREE.PathActions.ARC:k=this.actions[f-1].args;n=m[0];u=m[1];p=m[2];t=m[3];y=m[4];x=!!m[5];v=k[k.length-2];w=k[k.length-1];k.length==0&&(v=w=0);z=y-t;var B=b*2;for(k=1;k<=B;k++)y=k/B,x||(y=1-y),y=t+y*z,m=v+n+p*Math.cos(y),y=w+u+p*Math.sin(y),e.push(new THREE.Vector2(m,y))}c&&e.push(e[0]);return e};THREE.Path.prototype.transform=function(b,c){this.getBoundingBox();return this.getWrapPoints(this.getPoints(c),b)};
+THREE.Path.prototype.nltransform=function(b,c,e,f,h,m){var k=this.getPoints(),n,u,p,v,t;n=0;for(u=k.length;n<u;n++)p=k[n],v=p.x,t=p.y,p.x=b*v+c*t+e,p.y=f*t+h*v+m;return k};
+THREE.Path.prototype.debug=function(b){var c=this.getBoundingBox();b||(b=document.createElement("canvas"),b.setAttribute("width",c.maxX+100),b.setAttribute("height",c.maxY+100),document.body.appendChild(b));c=b.getContext("2d");c.fillStyle="white";c.fillRect(0,0,b.width,b.height);c.strokeStyle="black";c.beginPath();var e,f,h,b=0;for(e=this.actions.length;b<e;b++)f=this.actions[b],h=f.args,f=f.action,f!=THREE.PathActions.CSPLINE_THRU&&c[f].apply(c,h);c.stroke();c.closePath();c.strokeStyle="red";f=
+this.getPoints();b=0;for(e=f.length;b<e;b++)h=f[b],c.beginPath(),c.arc(h.x,h.y,1.5,0,Math.PI*2,!1),c.stroke(),c.closePath()};
+THREE.Path.prototype.toShapes=function(){var b,c,e,f,h=[],m=new THREE.Path;b=0;for(c=this.actions.length;b<c;b++)e=this.actions[b],f=e.args,e=e.action,e==THREE.PathActions.MOVE_TO&&m.actions.length!=0&&(h.push(m),m=new THREE.Path),m[e].apply(m,f);m.actions.length!=0&&h.push(m);if(h.length==0)return[];var k,m=[];if(THREE.Shape.Utils.isClockWise(h[0].getPoints())){b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k&&m.push(k),k=new THREE.Shape,k.actions=f.actions,k.curves=
+f.curves):k.holes.push(f);m.push(k)}else{k=new THREE.Shape;b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k.actions=f.actions,k.curves=f.curves,m.push(k),k=new THREE.Shape):k.holes.push(f)}return m};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=new THREE.Path;THREE.Shape.prototype.constructor=THREE.Path;THREE.Shape.prototype.extrude=function(b){return new THREE.ExtrudeGeometry(this,b)};
+THREE.Shape.prototype.getPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedPoints(b,this.bends);return f};THREE.Shape.prototype.getSpacedPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedSpacedPoints(b,this.bends);return f};THREE.Shape.prototype.extractAllPoints=function(b){return{shape:this.getTransformedPoints(b),holes:this.getPointsHoles(b)}};
+THREE.Shape.prototype.extractAllSpacedPoints=function(b){return{shape:this.getTransformedSpacedPoints(b),holes:this.getSpacedPointsHoles(b)}};
+THREE.Shape.Utils={removeHoles:function(b,c){var e=b.concat(),f=e.concat(),h,m,k,n,u,p,v,t,x,w,z=[];for(u=0;u<c.length;u++){p=c[u];f=f.concat(p);m=Number.POSITIVE_INFINITY;for(h=0;h<p.length;h++){x=p[h];w=[];for(t=0;t<e.length;t++)v=e[t],v=x.distanceToSquared(v),w.push(v),v<m&&(m=v,k=h,n=t)}h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;var y=[p[k],e[n],e[h]];t=THREE.FontUtils.Triangulate.area(y);var B=[p[k],p[m],e[n]];x=THREE.FontUtils.Triangulate.area(B);w=n;v=k;n+=1;k+=-1;n<0&&(n+=e.length);n%=
+e.length;k<0&&(k+=p.length);k%=p.length;h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;y=[p[k],e[n],e[h]];y=THREE.FontUtils.Triangulate.area(y);B=[p[k],p[m],e[n]];B=THREE.FontUtils.Triangulate.area(B);t+x>y+B&&(n=w,k=v,n<0&&(n+=e.length),n%=e.length,k<0&&(k+=p.length),k%=p.length,h=n-1>=0?n-1:e.length-1,m=k-1>=0?k-1:p.length-1);t=e.slice(0,n);x=e.slice(n);w=p.slice(k);v=p.slice(0,k);m=[p[k],p[m],e[n]];z.push([p[k],e[n],e[h]]);z.push(m);e=t.concat(w).concat(v).concat(x)}return{shape:e,isolatedPts:z,
+allpoints:f}},triangulateShape:function(b,c){var e=THREE.Shape.Utils.removeHoles(b,c),f=e.allpoints,h=e.isolatedPts,e=THREE.FontUtils.Triangulate(e.shape,!1),m,k,n,u,p={};m=0;for(k=f.length;m<k;m++)u=f[m].x+":"+f[m].y,p[u]!==void 0&&console.log("Duplicate point",u),p[u]=m;m=0;for(k=e.length;m<k;m++){n=e[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}m=0;for(k=h.length;m<k;m++){n=h[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}return e.concat(h)},isClockWise:function(b){return THREE.FontUtils.Triangulate.area(b)<
+0},b2p0:function(b,c){var e=1-b;return e*e*c},b2p1:function(b,c){return 2*(1-b)*b*c},b2p2:function(b,c){return b*b*c},b2:function(b,c,e,f){return this.b2p0(b,c)+this.b2p1(b,e)+this.b2p2(b,f)},b3p0:function(b,c){var e=1-b;return e*e*e*c},b3p1:function(b,c){var e=1-b;return 3*e*e*b*c},b3p2:function(b,c){return 3*(1-b)*b*b*c},b3p3:function(b,c){return b*b*b*c},b3:function(b,c,e,f,h){return this.b3p0(b,c)+this.b3p1(b,e)+this.b3p2(b,f)+this.b3p3(b,h)}};
+THREE.TextPath=function(b,c){THREE.Path.call(this);this.parameters=c||{};this.set(b)};THREE.TextPath.prototype.set=function(b,c){this.text=b;var c=c||this.parameters,e=c.curveSegments!==void 0?c.curveSegments:4,f=c.font!==void 0?c.font:"helvetiker",h=c.weight!==void 0?c.weight:"normal",m=c.style!==void 0?c.style:"normal";THREE.FontUtils.size=c.size!==void 0?c.size:100;THREE.FontUtils.divisions=e;THREE.FontUtils.face=f;THREE.FontUtils.weight=h;THREE.FontUtils.style=m};
+THREE.TextPath.prototype.toShapes=function(){for(var b=THREE.FontUtils.drawText(this.text).paths,c=[],e=0,f=b.length;e<f;e++)c=c.concat(b[e].toShapes());return c};
+THREE.AnimationHandler=function(){var b=[],c={},e={update:function(e){for(var c=0;c<b.length;c++)b[c].update(e)},addToUpdate:function(e){b.indexOf(e)===-1&&b.push(e)},removeFromUpdate:function(e){e=b.indexOf(e);e!==-1&&b.splice(e,1)},add:function(b){c[b.name]!==void 0&&console.log("THREE.AnimationHandler.add: Warning! "+b.name+" already exists in library. Overwriting.");c[b.name]=b;if(b.initialized!==!0){for(var e=0;e<b.hierarchy.length;e++){for(var f=0;f<b.hierarchy[e].keys.length;f++){if(b.hierarchy[e].keys[f].time<
+0)b.hierarchy[e].keys[f].time=0;if(b.hierarchy[e].keys[f].rot!==void 0&&!(b.hierarchy[e].keys[f].rot instanceof THREE.Quaternion)){var n=b.hierarchy[e].keys[f].rot;b.hierarchy[e].keys[f].rot=new THREE.Quaternion(n[0],n[1],n[2],n[3])}}if(b.hierarchy[e].keys[0].morphTargets!==void 0){n={};for(f=0;f<b.hierarchy[e].keys.length;f++)for(var u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++){var p=b.hierarchy[e].keys[f].morphTargets[u];n[p]=-1}b.hierarchy[e].usedMorphTargets=n;for(f=0;f<b.hierarchy[e].keys.length;f++){var v=
+{};for(p in n){for(u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++)if(b.hierarchy[e].keys[f].morphTargets[u]===p){v[p]=b.hierarchy[e].keys[f].morphTargetsInfluences[u];break}u===b.hierarchy[e].keys[f].morphTargets.length&&(v[p]=0)}b.hierarchy[e].keys[f].morphTargetsInfluences=v}}for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].time===b.hierarchy[e].keys[f-1].time&&(b.hierarchy[e].keys.splice(f,1),f--);for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].index=f}f=parseInt(b.length*
+b.fps,10);b.JIT={};b.JIT.hierarchy=[];for(e=0;e<b.hierarchy.length;e++)b.JIT.hierarchy.push(Array(f));b.initialized=!0}},get:function(b){if(typeof b==="string")return c[b]?c[b]:(console.log("THREE.AnimationHandler.get: Couldn't find animation "+b),null)},parse:function(b){var e=[];if(b instanceof THREE.SkinnedMesh)for(var c=0;c<b.bones.length;c++)e.push(b.bones[c]);else f(b,e);return e}},f=function(b,e){e.push(b);for(var c=0;c<b.children.length;c++)f(b.children[c],e)};e.LINEAR=0;e.CATMULLROM=1;e.CATMULLROM_FORWARD=
+2;return e}();THREE.Animation=function(b,c,e,f){this.root=b;this.data=THREE.AnimationHandler.get(c);this.hierarchy=THREE.AnimationHandler.parse(b);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=e!==void 0?e:THREE.AnimationHandler.LINEAR;this.JITCompile=f!==void 0?f:!0;this.points=[];this.target=new THREE.Vector3};
+THREE.Animation.prototype.play=function(b,c){if(!this.isPlaying){this.isPlaying=!0;this.loop=b!==void 0?b:!0;this.currentTime=c!==void 0?c:0;var e,f=this.hierarchy.length,h;for(e=0;e<f;e++){h=this.hierarchy[e];if(this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD)h.useQuaternion=!0;h.matrixAutoUpdate=!0;if(h.animationCache===void 0)h.animationCache={},h.animationCache.prevKey={pos:0,rot:0,scl:0},h.animationCache.nextKey={pos:0,rot:0,scl:0},h.animationCache.originalMatrix=h instanceof
+THREE.Bone?h.skinMatrix:h.matrix;var m=h.animationCache.prevKey;h=h.animationCache.nextKey;m.pos=this.data.hierarchy[e].keys[0];m.rot=this.data.hierarchy[e].keys[0];m.scl=this.data.hierarchy[e].keys[0];h.pos=this.getNextKeyWith("pos",e,1);h.rot=this.getNextKeyWith("rot",e,1);h.scl=this.getNextKeyWith("scl",e,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
+THREE.Animation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
+THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var b=0;b<this.hierarchy.length;b++)if(this.hierarchy[b].animationCache!==void 0)this.hierarchy[b]instanceof THREE.Bone?this.hierarchy[b].skinMatrix=this.hierarchy[b].animationCache.originalMatrix:this.hierarchy[b].matrix=this.hierarchy[b].animationCache.originalMatrix,delete this.hierarchy[b].animationCache};
+THREE.Animation.prototype.update=function(b){if(this.isPlaying){var c=["pos","rot","scl"],e,f,h,m,k,n,u,p,v=this.data.JIT.hierarchy,t,x;this.currentTime+=b*this.timeScale;x=this.currentTime;t=this.currentTime%=this.data.length;p=parseInt(Math.min(t*this.data.fps,this.data.length*this.data.fps),10);for(var w=0,z=this.hierarchy.length;w<z;w++)if(b=this.hierarchy[w],u=b.animationCache,this.JITCompile&&v[w][p]!==void 0)b instanceof THREE.Bone?(b.skinMatrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=
+!1):(b.matrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!0);else{if(this.JITCompile)b instanceof THREE.Bone?b.skinMatrix=b.animationCache.originalMatrix:b.matrix=b.animationCache.originalMatrix;for(var y=0;y<3;y++){e=c[y];k=u.prevKey[e];n=u.nextKey[e];if(n.time<=x){if(t<x)if(this.loop){k=this.data.hierarchy[w].keys[0];for(n=this.getNextKeyWith(e,w,1);n.time<t;)k=n,n=this.getNextKeyWith(e,w,n.index+1)}else{this.stop();return}else{do k=n,n=this.getNextKeyWith(e,w,n.index+1);while(n.time<
+t)}u.prevKey[e]=k;u.nextKey[e]=n}b.matrixAutoUpdate=!0;b.matrixWorldNeedsUpdate=!0;f=(t-k.time)/(n.time-k.time);h=k[e];m=n[e];if(f<0||f>1)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+f+" on bone "+w),f=f<0?0:1;if(e==="pos")if(e=b.position,this.interpolationType===THREE.AnimationHandler.LINEAR)e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)if(this.points[0]=
+this.getPrevKeyWith("pos",w,k.index-1).pos,this.points[1]=h,this.points[2]=m,this.points[3]=this.getNextKeyWith("pos",w,n.index+1).pos,f=f*0.33+0.33,h=this.interpolateCatmullRom(this.points,f),e.x=h[0],e.y=h[1],e.z=h[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)f=this.interpolateCatmullRom(this.points,f*1.01),this.target.set(f[0],f[1],f[2]),this.target.subSelf(e),this.target.y=0,this.target.normalize(),f=Math.atan2(this.target.x,this.target.z),b.rotation.set(0,f,0)}else if(e===
+"rot")THREE.Quaternion.slerp(h,m,b.quaternion,f);else if(e==="scl")e=b.scale,e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f}}if(this.JITCompile&&v[0][p]===void 0){this.hierarchy[0].update(void 0,!0);for(w=0;w<this.hierarchy.length;w++)v[w][p]=this.hierarchy[w]instanceof THREE.Bone?this.hierarchy[w].skinMatrix.clone():this.hierarchy[w].matrix.clone()}}};
+THREE.Animation.prototype.interpolateCatmullRom=function(b,c){var e=[],f=[],h,m,k,n,u,p;h=(b.length-1)*c;m=Math.floor(h);h-=m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>b.length-2?m:m+1;e[3]=m>b.length-3?m:m+2;m=b[e[0]];n=b[e[1]];u=b[e[2]];p=b[e[3]];e=h*h;k=h*e;f[0]=this.interpolate(m[0],n[0],u[0],p[0],h,e,k);f[1]=this.interpolate(m[1],n[1],u[1],p[1],h,e,k);f[2]=this.interpolate(m[2],n[2],u[2],p[2],h,e,k);return f};
+THREE.Animation.prototype.interpolate=function(b,c,e,f,h,m,k){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*k+(-3*(c-e)-2*b-f)*m+b*h+c};THREE.Animation.prototype.getNextKeyWith=function(b,c,e){var f=this.data.hierarchy[c].keys;for(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e=e<f.length-1?e:f.length-1:e%=f.length;e<f.length;e++)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[0]};
+THREE.Animation.prototype.getPrevKeyWith=function(b,c,e){for(var f=this.data.hierarchy[c].keys,e=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e>0?e:0:e>=0?e:e+f.length;e>=0;e--)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[f.length-1]};
+THREE.FirstPersonCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.movementSpeed=1;this.lookSpeed=0.005;this.noFly=!1;this.lookVertical=!0;this.autoForward=!1;this.activeLook=!0;this.heightSpeed=!1;this.heightCoef=1;this.heightMin=0;this.constrainVertical=!1;this.verticalMin=0;this.verticalMax=3.14;this.domElement=document;this.lastUpdate=(new Date).getTime();this.tdiff=0;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=
+b.movementSpeed;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.noFly!==void 0)this.noFly=b.noFly;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.autoForward!==void 0)this.autoForward=b.autoForward;if(b.activeLook!==void 0)this.activeLook=b.activeLook;if(b.heightSpeed!==void 0)this.heightSpeed=b.heightSpeed;if(b.heightCoef!==void 0)this.heightCoef=b.heightCoef;if(b.heightMin!==void 0)this.heightMin=b.heightMin;if(b.heightMax!==void 0)this.heightMax=b.heightMax;if(b.constrainVertical!==
+void 0)this.constrainVertical=b.constrainVertical;if(b.verticalMin!==void 0)this.verticalMin=b.verticalMin;if(b.verticalMax!==void 0)this.verticalMax=b.verticalMax;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=!1;this.windowHalfX=window.innerWidth/2;this.windowHalfY=window.innerHeight/2;this.onMouseDown=function(b){b.preventDefault();
+b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0};this.onMouseUp=function(b){b.preventDefault();b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1};this.onMouseMove=function(b){this.mouseX=b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.onKeyDown=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=
+!0;break;case 37:case 65:this.moveLeft=!0;break;case 40:case 83:this.moveBackward=!0;break;case 39:case 68:this.moveRight=!0;break;case 82:this.moveUp=!0;break;case 70:this.moveDown=!0;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=!1;break;case 37:case 65:this.moveLeft=!1;break;case 40:case 83:this.moveBackward=!1;break;case 39:case 68:this.moveRight=!1;break;case 82:this.moveUp=!1;break;case 70:this.moveDown=!1}};this.update=
+function(){var b=(new Date).getTime();this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;if(!this.freeze){this.autoSpeedFactor=this.heightSpeed?this.tdiff*((this.position.y<this.heightMin?this.heightMin:this.position.y>this.heightMax?this.heightMax:this.position.y)-this.heightMin)*this.heightCoef:0;var c=this.tdiff*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.translateZ(-(c+this.autoSpeedFactor));this.moveBackward&&this.translateZ(c);this.moveLeft&&this.translateX(-c);
+this.moveRight&&this.translateX(c);this.moveUp&&this.translateY(c);this.moveDown&&this.translateY(-c);c=this.tdiff*this.lookSpeed;this.activeLook||(c=0);this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b=this.target.position,h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*Math.sin(this.theta)}b=
+1;this.constrainVertical&&(b=3.14/(this.verticalMax-this.verticalMin));this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c*b);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=(this.phi-0)*(this.verticalMax-this.verticalMin)/3.14+this.verticalMin;b=this.target.position;h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*
+Math.sin(this.theta);this.supr.update.call(this)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),!1);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),!1);this.domElement.addEventListener("mouseup",c(this,this.onMouseUp),!1);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),!1);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),!1)};
+THREE.FirstPersonCamera.prototype=new THREE.Camera;THREE.FirstPersonCamera.prototype.constructor=THREE.FirstPersonCamera;THREE.FirstPersonCamera.prototype.supr=THREE.Camera.prototype;THREE.FirstPersonCamera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);if(this.noFly)c.y=0;this.position.addSelf(c.multiplyScalar(b));this.target.position.addSelf(c.multiplyScalar(b))};
+THREE.PathCamera=function(b){function c(b,e,c,f){var k={name:c,fps:0.6,length:f,hierarchy:[]},h,m=e.getControlPointsArray(),n=e.getLength(),u=m.length,G=0;h=u-1;e={parent:-1,keys:[]};e.keys[0]={time:0,pos:m[0],rot:[0,0,0,1],scl:[1,1,1]};e.keys[h]={time:f,pos:m[h],rot:[0,0,0,1],scl:[1,1,1]};for(h=1;h<u-1;h++)G=f*n.chunks[h]/n.total,e.keys[h]={time:G,pos:m[h]};k.hierarchy[0]=e;THREE.AnimationHandler.add(k);return new THREE.Animation(b,c,THREE.AnimationHandler.CATMULLROM_FORWARD,!1)}function e(b,e){var c,
+f,k=new THREE.Geometry;for(c=0;c<b.points.length*e;c++)f=c/(b.points.length*e),f=b.getPoint(f),k.vertices[c]=new THREE.Vertex(new THREE.Vector3(f.x,f.y,f.z));return k}function f(b,c){var f=e(c,10),k=e(c,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3});lineObj=new THREE.Line(f,h);particleObj=new THREE.ParticleSystem(k,new THREE.ParticleBasicMaterial({color:16755200,size:3}));lineObj.scale.set(1,1,1);b.addChild(lineObj);particleObj.scale.set(1,1,1);b.addChild(particleObj);k=new THREE.SphereGeometry(1,
+16,8);h=new THREE.MeshBasicMaterial({color:65280});for(i=0;i<c.points.length;i++)f=new THREE.Mesh(k,h),f.position.copy(c.points[i]),f.updateMatrix(),b.addChild(f)}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.id="PathCamera"+THREE.PathCameraIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=!0;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=
+this.lookVertical=!0;this.verticalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.horizontalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.domElement=document;if(b){if(b.duration!==void 0)this.duration=b.duration*1E3;if(b.waypoints!==void 0)this.waypoints=b.waypoints;if(b.useConstantSpeed!==void 0)this.useConstantSpeed=b.useConstantSpeed;if(b.resamplingCoef!==void 0)this.resamplingCoef=b.resamplingCoef;if(b.createDebugPath!==void 0)this.createDebugPath=b.createDebugPath;if(b.createDebugDummy!==
+void 0)this.createDebugDummy=b.createDebugDummy;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.lookHorizontal!==void 0)this.lookHorizontal=b.lookHorizontal;if(b.verticalAngleMap!==void 0)this.verticalAngleMap=b.verticalAngleMap;if(b.horizontalAngleMap!==void 0)this.horizontalAngleMap=b.horizontalAngleMap;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;this.windowHalfX=
+window.innerWidth/2;this.windowHalfY=window.innerHeight/2;var h=Math.PI*2,m=Math.PI/180;this.update=function(b,e,c){var f,k;this.lookHorizontal&&(this.lon+=this.mouseX*this.lookSpeed);this.lookVertical&&(this.lat-=this.mouseY*this.lookSpeed);this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*m;this.theta=this.lon*m;f=this.phi%h;this.phi=f>=0?f:f+h;f=this.verticalAngleMap.srcRange;k=this.verticalAngleMap.dstRange;var n=k[1]-k[0];this.phi=
+TWEEN.Easing.Quadratic.EaseInOut(((this.phi-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.horizontalAngleMap.srcRange;k=this.horizontalAngleMap.dstRange;n=k[1]-k[0];this.theta=TWEEN.Easing.Quadratic.EaseInOut(((this.theta-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.target.position;f.x=100*Math.sin(this.phi)*Math.cos(this.theta);f.y=100*Math.cos(this.phi);f.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.supr.update.call(this,b,e,c)};this.onMouseMove=function(b){this.mouseX=
+b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var b=new THREE.MeshLambertMaterial({color:30719}),k=new THREE.MeshLambertMaterial({color:65280}),n=new THREE.CubeGeometry(10,10,20),u=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(n,b);b=new THREE.Mesh(u,k);b.position.set(0,10,0);this.animation=
+c(this.animationParent,this.spline,this.id,this.duration);this.animationParent.addChild(this);this.animationParent.addChild(this.target);this.animationParent.addChild(b)}else this.animation=c(this.animationParent,this.spline,this.id,this.duration),this.animationParent.addChild(this.target),this.animationParent.addChild(this);this.createDebugPath&&f(this.debugPath,this.spline);this.domElement.addEventListener("mousemove",function(b,e){return function(){e.apply(b,arguments)}}(this,this.onMouseMove),
+!1)};THREE.PathCamera.prototype=new THREE.Camera;THREE.PathCamera.prototype.constructor=THREE.PathCamera;THREE.PathCamera.prototype.supr=THREE.Camera.prototype;THREE.PathCameraIdCounter=0;
+THREE.FlyCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.tmpQuaternion=new THREE.Quaternion;this.movementSpeed=1;this.rollSpeed=0.005;this.autoForward=this.dragToLook=!1;this.domElement=document;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=b.movementSpeed;if(b.rollSpeed!==void 0)this.rollSpeed=b.rollSpeed;if(b.dragToLook!==void 0)this.dragToLook=b.dragToLook;if(b.autoForward!==void 0)this.autoForward=
+b.autoForward;if(b.domElement!==void 0)this.domElement=b.domElement}this.useTarget=!1;this.useQuaternion=!0;this.mouseStatus=0;this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0};this.moveVector=new THREE.Vector3(0,0,0);this.rotationVector=new THREE.Vector3(0,0,0);this.lastUpdate=-1;this.tdiff=0;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.keydown=function(b){if(!b.altKey){switch(b.keyCode){case 16:this.movementSpeedMultiplier=
+0.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector();this.updateRotationVector()}};
+this.keyup=function(b){switch(b.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;
+case 69:this.moveState.rollRight=0}this.updateMovementVector();this.updateRotationVector()};this.mousedown=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus++;else switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}};this.mousemove=function(b){if(!this.dragToLook||this.mouseStatus>0){var c=this.getContainerDimensions(),h=c.size[0]/2,m=c.size[1]/2;this.moveState.yawLeft=-(b.clientX-c.offset[0]-h)/h;this.moveState.pitchDown=(b.clientY-
+c.offset[1]-m)/m;this.updateRotationVector()}};this.mouseup=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.updateRotationVector()};this.update=function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;var b=this.tdiff*this.movementSpeed,c=this.tdiff*
+this.rollSpeed;this.translateX(this.moveVector.x*b);this.translateY(this.moveVector.y*b);this.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*c,this.rotationVector.y*c,this.rotationVector.z*c,1).normalize();this.quaternion.multiplySelf(this.tmpQuaternion);this.matrix.setPosition(this.position);this.matrix.setRotationFromQuaternion(this.quaternion);this.matrixWorldNeedsUpdate=!0;this.supr.update.call(this)};this.updateMovementVector=function(){var b=this.moveState.forward||
+this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-b+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=
+document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",c(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",c(this,this.mouseup),!1);window.addEventListener("keydown",c(this,this.keydown),!1);window.addEventListener("keyup",c(this,
+this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
+THREE.RollCamera=function(b,c,e,f){THREE.Camera.call(this,b,c,e,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.matrixAutoUpdate=this.useTarget=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=-1;this.delta=0;var h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Matrix4,u=!1,p=1,v=0,t=0,x=0,w=0,z=0,y=window.innerWidth/2,B=window.innerHeight/2;this.update=
+function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.delta=(b-this.lastUpdate)/1E3;this.lastUpdate=b;this.mouseLook&&(b=this.delta*this.lookSpeed,this.rotateHorizontally(b*w),this.rotateVertically(b*z));b=this.delta*this.movementSpeed;this.translateZ(b*(v>0||this.autoForward&&!(v<0)?1:v));this.translateX(b*t);this.translateY(b*x);u&&(this.roll+=this.rollSpeed*this.delta*p);if(this.forward.y>this.constrainVertical[1])this.forward.y=this.constrainVertical[1],this.forward.normalize();
+else if(this.forward.y<this.constrainVertical[0])this.forward.y=this.constrainVertical[0],this.forward.normalize();k.copy(this.forward);m.set(0,1,0);h.cross(m,k).normalize();m.cross(k,h).normalize();this.matrix.n11=h.x;this.matrix.n12=m.x;this.matrix.n13=k.x;this.matrix.n21=h.y;this.matrix.n22=m.y;this.matrix.n23=k.y;this.matrix.n31=h.z;this.matrix.n32=m.z;this.matrix.n33=k.z;n.identity();n.n11=Math.cos(this.roll);n.n12=-Math.sin(this.roll);n.n21=Math.sin(this.roll);n.n22=Math.cos(this.roll);this.matrix.multiplySelf(n);
+this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(b){this.position.x+=this.matrix.n11*b;this.position.y+=this.matrix.n21*b;this.position.z+=this.matrix.n31*b};this.translateY=function(b){this.position.x+=this.matrix.n12*b;this.position.y+=this.matrix.n22*b;this.position.z+=this.matrix.n32*b};this.translateZ=function(b){this.position.x-=this.matrix.n13*b;this.position.y-=
+this.matrix.n23*b;this.position.z-=this.matrix.n33*b};this.rotateHorizontally=function(b){h.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);h.multiplyScalar(b);this.forward.subSelf(h);this.forward.normalize()};this.rotateVertically=function(b){m.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);m.multiplyScalar(b);this.forward.addSelf(m);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+function(b){w=(b.clientX-y)/window.innerWidth;z=(b.clientY-B)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=1;break;case 2:v=-1}},!1);this.domElement.addEventListener("mouseup",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=0;break;case 2:v=0}},!1);this.domElement.addEventListener("keydown",function(b){switch(b.keyCode){case 38:case 87:v=1;break;case 37:case 65:t=-1;break;
+case 40:case 83:v=-1;break;case 39:case 68:t=1;break;case 81:u=!0;p=1;break;case 69:u=!0;p=-1;break;case 82:x=1;break;case 70:x=-1}},!1);this.domElement.addEventListener("keyup",function(b){switch(b.keyCode){case 38:case 87:v=0;break;case 37:case 65:t=0;break;case 40:case 83:v=0;break;case 39:case 68:t=0;break;case 81:u=!1;break;case 69:u=!1;break;case 82:x=0;break;case 70:x=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
+THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}b=b||{};THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.domElement=b.domElement||document;this.screen=b.screen||{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0};this.radius=b.radius||(this.screen.width+this.screen.height)/4;this.rotateSpeed=b.rotateSpeed||1;this.zoomSpeed=b.zoomSpeed||1.2;this.panSpeed=b.panSpeed||0.3;this.noZoom=b.noZoom||!1;this.noPan=b.noPan||
+!1;this.staticMoving=b.staticMoving||!1;this.dynamicDampingFactor=b.dynamicDampingFactor||0.2;this.minDistance=b.minDistance||0;this.maxDistance=b.maxDistance||Infinity;this.keys=b.keys||[65,83,68];this.useTarget=!0;var e=!1,f=this.STATE.NONE,h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Vector2,u=new THREE.Vector2,p=new THREE.Vector2,v=new THREE.Vector2;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.getMouseOnScreen=function(b,c){return new THREE.Vector2((b-
+this.screen.offsetLeft)/this.radius*0.5,(c-this.screen.offsetTop)/this.radius*0.5)};this.getMouseProjectionOnBall=function(b,c){var e=new THREE.Vector3((b-this.screen.width*0.5-this.screen.offsetLeft)/this.radius,(this.screen.height*0.5+this.screen.offsetTop-c)/this.radius,0),f=e.length();f>1?e.normalize():e.z=Math.sqrt(1-f*f);h=this.position.clone().subSelf(this.target.position);f=this.up.clone().setLength(e.y);f.addSelf(this.up.clone().crossSelf(h).setLength(e.x));f.addSelf(h.setLength(e.z));return f};
+this.rotateCamera=function(){var b=Math.acos(m.dot(k)/m.length()/k.length());if(b){var c=(new THREE.Vector3).cross(m,k).normalize(),e=new THREE.Quaternion;b*=this.rotateSpeed;e.setFromAxisAngle(c,-b);e.multiplyVector3(h);e.multiplyVector3(this.up);e.multiplyVector3(k);this.staticMoving?m=k:(e.setFromAxisAngle(c,b*(this.dynamicDampingFactor-1)),e.multiplyVector3(m))}};this.zoomCamera=function(){var b=1+(u.y-n.y)*this.zoomSpeed;b!==1&&b>0&&(h.multiplyScalar(b),this.staticMoving?n=u:n.y+=(u.y-n.y)*this.dynamicDampingFactor)};
+this.panCamera=function(){var b=v.clone().subSelf(p);if(b.lengthSq()){b.multiplyScalar(h.length()*this.panSpeed);var c=h.clone().crossSelf(this.up).setLength(b.x);c.addSelf(this.up.clone().setLength(b.y));this.position.addSelf(c);this.target.position.addSelf(c);this.staticMoving?p=v:p.addSelf(b.sub(v,p).multiplyScalar(this.dynamicDampingFactor))}};this.checkDistances=function(){if(!this.noZoom||!this.noPan)this.position.lengthSq()>this.maxDistance*this.maxDistance&&this.position.setLength(this.maxDistance),
+h.lengthSq()<this.minDistance*this.minDistance&&this.position.add(this.target.position,h.setLength(this.minDistance))};this.update=function(b,c,e){h=this.position.clone().subSelf(this.target.position);this.rotateCamera();this.noZoom||this.zoomCamera();this.noPan||this.panCamera();this.position.add(this.target.position,h);this.checkDistances();this.supr.update.call(this,b,c,e)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+c(this,function(b){e&&(m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY),n=u=this.getMouseOnScreen(b.clientX,b.clientY),p=v=this.getMouseOnScreen(b.clientX,b.clientY),e=!1);f!==this.STATE.NONE&&(f===this.STATE.ROTATE?k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?u=this.getMouseOnScreen(b.clientX,b.clientY):f===this.STATE.PAN&&!this.noPan&&(v=this.getMouseOnScreen(b.clientX,b.clientY)))}),!1);this.domElement.addEventListener("mousedown",c(this,function(b){b.preventDefault();
+b.stopPropagation();if(f===this.STATE.NONE)f=b.button,f===this.STATE.ROTATE?m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?n=u=this.getMouseOnScreen(b.clientX,b.clientY):this.noPan||(p=v=this.getMouseOnScreen(b.clientX,b.clientY))}),!1);this.domElement.addEventListener("mouseup",c(this,function(b){b.preventDefault();b.stopPropagation();f=this.STATE.NONE}),!1);window.addEventListener("keydown",c(this,function(b){if(f===this.STATE.NONE){if(b.keyCode===this.keys[this.STATE.ROTATE])f=
+this.STATE.ROTATE;else if(b.keyCode===this.keys[this.STATE.ZOOM]&&!this.noZoom)f=this.STATE.ZOOM;else if(b.keyCode===this.keys[this.STATE.PAN]&&!this.noPan)f=this.STATE.PAN;f!==this.STATE.NONE&&(e=!0)}}),!1);window.addEventListener("keyup",c(this,function(){if(f!==this.STATE.NONE)f=this.STATE.NONE}),!1)};THREE.TrackballCamera.prototype=new THREE.Camera;THREE.TrackballCamera.prototype.constructor=THREE.TrackballCamera;THREE.TrackballCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera.prototype.STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2};THREE.QuakeCamera=THREE.FirstPersonCamera;
+THREE.CubeGeometry=function(b,c,e,f,h,m,k,n,u){function p(b,c,e,k,n,p,t,u){var w,x,y=f||1,z=h||1,O=n/2,S=p/2,P=v.vertices.length;if(b=="x"&&c=="y"||b=="y"&&c=="x")w="z";else if(b=="x"&&c=="z"||b=="z"&&c=="x")w="y",z=m||1;else if(b=="z"&&c=="y"||b=="y"&&c=="z")w="x",y=m||1;var o=y+1,W=z+1;n/=y;var na=p/z;for(x=0;x<W;x++)for(p=0;p<o;p++){var R=new THREE.Vector3;R[b]=(p*n-O)*e;R[c]=(x*na-S)*k;R[w]=t;v.vertices.push(new THREE.Vertex(R))}for(x=0;x<z;x++)for(p=0;p<y;p++)v.faces.push(new THREE.Face4(p+o*
+x+P,p+o*(x+1)+P,p+1+o*(x+1)+P,p+1+o*x+P,null,null,u)),v.faceVertexUvs[0].push([new THREE.UV(p/y,x/z),new THREE.UV(p/y,(x+1)/z),new THREE.UV((p+1)/y,(x+1)/z),new THREE.UV((p+1)/y,x/z)])}THREE.Geometry.call(this);var v=this,t=b/2,x=c/2,w=e/2,n=n?-1:1;if(k!==void 0)if(k instanceof Array)this.materials=k;else{this.materials=[];for(var z=0;z<6;z++)this.materials.push([k])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(u!=void 0)for(var y in u)this.sides[y]!=void 0&&(this.sides[y]=
+u[y]);this.sides.px&&p("z","y",1*n,-1,e,c,-t,this.materials[0]);this.sides.nx&&p("z","y",-1*n,-1,e,c,t,this.materials[1]);this.sides.py&&p("x","z",1*n,1,b,e,x,this.materials[2]);this.sides.ny&&p("x","z",1*n,-1,b,e,-x,this.materials[3]);this.sides.pz&&p("x","y",1*n,-1,b,c,w,this.materials[4]);this.sides.nz&&p("x","y",-1*n,-1,b,c,-w,this.materials[5]);(function(){for(var b=[],c=[],e=0,f=v.vertices.length;e<f;e++){for(var k=v.vertices[e],h=!1,m=0,n=b.length;m<n;m++){var p=b[m];if(k.position.x==p.position.x&&
+k.position.y==p.position.y&&k.position.z==p.position.z){c[e]=m;h=!0;break}}if(!h)c[e]=b.length,b.push(new THREE.Vertex(k.position.clone()))}e=0;for(f=v.faces.length;e<f;e++)k=v.faces[e],k.a=c[k.a],k.b=c[k.b],k.c=c[k.c],k.d=c[k.d];v.vertices=b})();this.computeCentroids();this.computeFaceNormals()};THREE.CubeGeometry.prototype=new THREE.Geometry;THREE.CubeGeometry.prototype.constructor=THREE.CubeGeometry;
+THREE.CylinderGeometry=function(b,c,e,f,h,m){function k(b,c,e){n.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}THREE.Geometry.call(this);var n=this,u,p=Math.PI*2,v=f/2;for(u=0;u<b;u++)k(Math.sin(p*u/b)*c,Math.cos(p*u/b)*c,-v);for(u=0;u<b;u++)k(Math.sin(p*u/b)*e,Math.cos(p*u/b)*e,v);var t,x,w,z,y=c-e;for(u=0;u<b;u++)t=new THREE.Vector3,t.copy(n.vertices[u].position),t.z=y,t.normalize(),x=new THREE.Vector3,x.copy(n.vertices[u+b].position),x.z=y,x.normalize(),w=new THREE.Vector3,w.copy(n.vertices[b+
+(u+1)%b].position),w.z=y,w.normalize(),z=new THREE.Vector3,z.copy(n.vertices[(u+1)%b].position),z.z=y,z.normalize(),n.faces.push(new THREE.Face4(u,u+b,b+(u+1)%b,(u+1)%b,[t,x,w,z]));if(e>0){e=new THREE.Vector3(0,0,-1);k(0,0,-v-(m||0));for(u=b;u<b+b/2;u++)n.faces.push(new THREE.Face4(2*b,(2*u-2*b)%b,(2*u-2*b+1)%b,(2*u-2*b+2)%b,[e,e,e,e]))}if(c>0){c=new THREE.Vector3(0,0,1);k(0,0,v+(h||0));for(u=b+b/2;u<2*b;u++)n.faces.push(new THREE.Face4(2*b+1,(2*u-2*b+2)%b+b,(2*u-2*b+1)%b+b,(2*u-2*b)%b+b,[c,c,c,c]))}u=
+0;for(b=this.faces.length;u<b;u++)h=[],v=this.faces[u],c=this.vertices[v.a],m=this.vertices[v.b],e=this.vertices[v.c],t=this.vertices[v.d],h.push(new THREE.UV(0.5+Math.atan2(c.position.x,c.position.y)/p,0.5+c.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(m.position.x,m.position.y)/p,0.5+m.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(e.position.x,e.position.y)/p,0.5+e.position.z/f)),v instanceof THREE.Face4&&h.push(new THREE.UV(0.5+Math.atan2(t.position.x,t.position.y)/p,0.5+t.position.z/
+f)),this.faceVertexUvs[0].push(h);this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=new THREE.Geometry;THREE.CylinderGeometry.prototype.constructor=THREE.CylinderGeometry;THREE.ExtrudeGeometry=function(b,c){if(typeof b!="undefined"){THREE.Geometry.call(this);var b=b instanceof Array?b:[b],e,f=b.length,h;this.shapebb=b[f-1].getBoundingBox();for(e=0;e<f;e++)h=b[e],this.addShape(h,c);this.computeCentroids();this.computeFaceNormals()}};
+THREE.ExtrudeGeometry.prototype=new THREE.Geometry;THREE.ExtrudeGeometry.prototype.constructor=THREE.ExtrudeGeometry;
+THREE.ExtrudeGeometry.prototype.addShape=function(b,c){function e(b,c,e){c||console.log("die");return c.clone().multiplyScalar(e).addSelf(b)}function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeometry.__v2,h=THREE.ExtrudeGeometry.__v3,m=THREE.ExtrudeGeometry.__v4,n=THREE.ExtrudeGeometry.__v5,o=THREE.ExtrudeGeometry.__v6;f.set(b.x-c.x,b.y-c.y);k.set(b.x-e.x,b.y-e.y);f=f.normalize();k=k.normalize();h.set(-f.y,f.x);m.set(k.y,-k.x);n.copy(b).addSelf(h);o.copy(b).addSelf(m);if(n.equals(o))return m.clone();
+n.copy(c).addSelf(h);o.copy(e).addSelf(m);h=f.dot(m);m=o.subSelf(n).dot(m);h==0&&(console.log("Either infinite or no solutions!"),m==0?console.log("Its finite solutions."):console.log("Too bad, no solutions."));m/=h;if(m<0)return c=Math.atan2(c.y-b.y,c.x-b.x),b=Math.atan2(e.y-b.y,e.x-b.x),c>b&&(b+=Math.PI*2),anglec=(c+b)/2,new THREE.Vector2(-Math.cos(anglec),-Math.sin(anglec));return f.multiplyScalar(m).addSelf(n).subSelf(b).clone()}function h(b){for(L=b.length;--L>=0;){ga=L;da=L-1;da<0&&(da=b.length-
+1);for(var c=0,e=w+v*2,c=0;c<e;c++){var f=na*c,k=na*(c+1),h=$+ga+f,m=$+ga+k,o=h,f=$+da+f,k=$+da+k,p=m;o+=U;f+=U;k+=U;p+=U;K.faces.push(new THREE.Face4(o,f,k,p,null,null,E));E&&(o=c/e,f=(c+1)/e,k=n+u*2,h=(K.vertices[h].position.z+u)/k,m=(K.vertices[m].position.z+u)/k,K.faceVertexUvs[0].push([new THREE.UV(h,o),new THREE.UV(m,o),new THREE.UV(m,f),new THREE.UV(h,f)]))}}}function m(b,c,e){K.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}function k(b,c,e){b+=U;c+=U;e+=U;K.faces.push(new THREE.Face3(b,
+c,e,null,null,H));if(H){var f=N.maxY,k=N.maxX,h=K.vertices[c].position.x,c=K.vertices[c].position.y,m=K.vertices[e].position.x,e=K.vertices[e].position.y;K.faceVertexUvs[0].push([new THREE.UV(K.vertices[b].position.x/k,K.vertices[b].position.y/f),new THREE.UV(h/k,c/f),new THREE.UV(m/k,e/f)])}}var n=c.amount!==void 0?c.amount:100,u=c.bevelThickness!==void 0?c.bevelThickness:6,p=c.bevelSize!==void 0?c.bevelSize:u-2,v=c.bevelSegments!==void 0?c.bevelSegments:3,t=c.bevelEnabled!==void 0?c.bevelEnabled:
+!0,x=c.curveSegments!==void 0?c.curveSegments:12,w=c.steps!==void 0?c.steps:1,z=c.bendPath,y=c.extrudePath,B,D=!1,G=c.useSpacedPoints!==void 0?c.useSpacedPoints:!1,H=c.material,E=c.extrudeMaterial,N=this.shapebb;if(y)B=y.getPoints(x),w=B.length,D=!0,t=!1;t||(p=u=v=0);var F,I,C,K=this,U=this.vertices.length;z&&b.addWrapPath(z);x=G?b.extractAllSpacedPoints(x):b.extractAllPoints(x);z=x.shape;x=x.holes;if(y=!THREE.Shape.Utils.isClockWise(z)){z=z.reverse();I=0;for(C=x.length;I<C;I++)F=x[I],THREE.Shape.Utils.isClockWise(F)&&
+(x[I]=F.reverse());y=!1}y=THREE.Shape.Utils.triangulateShape(z,x);G=z;I=0;for(C=x.length;I<C;I++)F=x[I],z=z.concat(F);var L,O,S,P,o,W,na=z.length,R=y.length,ia=[];L=0;O=G.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ia[L]=f(G[L],G[ga],G[da]);var aa=[],ma,fa=ia.concat();I=0;for(C=x.length;I<C;I++){F=x[I];ma=[];L=0;O=F.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ma[L]=f(F[L],F[ga],F[da]);aa.push(ma);fa=fa.concat(ma)}for(S=0;S<v;S++){P=S/v;o=u*(1-
+P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,-o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),m(W.x,W.y,-o)}}P=p;for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[0].y,B[0].x):m(W.x,W.y,0);for(S=1;S<=w;S++)for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[S-1].y,B[S-1].x):m(W.x,W.y,n/w*S);for(S=v-1;S>=0;S--){P=S/v;o=u*(1-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,
+n+o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),D?m(W.x,W.y+B[w-1].y,B[w-1].x+o):m(W.x,W.y,n+o)}}if(t){t=na*0;for(L=0;L<R;L++)p=y[L],k(p[2]+t,p[1]+t,p[0]+t);t=na*(w+v*2);for(L=0;L<R;L++)p=y[L],k(p[0]+t,p[1]+t,p[2]+t)}else{for(L=0;L<R;L++)p=y[L],k(p[2],p[1],p[0]);for(L=0;L<R;L++)p=y[L],k(p[0]+na*w,p[1]+na*w,p[2]+na*w)}var ga,da,$=0;h(G);$+=G.length;I=0;for(C=x.length;I<C;I++)F=x[I],h(F),$+=F.length};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;
+THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;
+THREE.IcosahedronGeometry=function(b){function c(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(new THREE.Vertex(new THREE.Vector3(b/f,c/f,e/f)))-1}function e(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}function f(b,e){var f=h.vertices[b].position,k=h.vertices[e].position;return c((f.x+k.x)/2,(f.y+k.y)/2,(f.z+k.z)/2)}var h=this,m=new THREE.Geometry;this.subdivisions=b||0;THREE.Geometry.call(this);b=(1+Math.sqrt(5))/2;c(-1,b,0);c(1,b,0);c(-1,-b,0);c(1,-b,0);c(0,-1,b);c(0,1,b);c(0,-1,
+-b);c(0,1,-b);c(b,0,-1);c(b,0,1);c(-b,0,-1);c(-b,0,1);e(0,11,5,m);e(0,5,1,m);e(0,1,7,m);e(0,7,10,m);e(0,10,11,m);e(1,5,9,m);e(5,11,4,m);e(11,10,2,m);e(10,7,6,m);e(7,1,8,m);e(3,9,4,m);e(3,4,2,m);e(3,2,6,m);e(3,6,8,m);e(3,8,9,m);e(4,9,5,m);e(2,4,11,m);e(6,2,10,m);e(8,6,7,m);e(9,8,1,m);for(var k=0;k<this.subdivisions;k++){var b=new THREE.Geometry,n;for(n in m.faces){var u=f(m.faces[n].a,m.faces[n].b),p=f(m.faces[n].b,m.faces[n].c),v=f(m.faces[n].c,m.faces[n].a);e(m.faces[n].a,u,v,b);e(m.faces[n].b,p,
+u,b);e(m.faces[n].c,v,p,b);e(u,p,v,b)}m.faces=b.faces}h.faces=m.faces;this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.IcosahedronGeometry.prototype=new THREE.Geometry;THREE.IcosahedronGeometry.prototype.constructor=THREE.IcosahedronGeometry;
+THREE.LatheGeometry=function(b,c,e){THREE.Geometry.call(this);this.steps=c||12;this.angle=e||2*Math.PI;for(var c=this.angle/this.steps,e=[],f=[],h=[],m=[],k=(new THREE.Matrix4).setRotationZ(c),n=0;n<b.length;n++)this.vertices.push(new THREE.Vertex(b[n])),e[n]=b[n].clone(),f[n]=this.vertices.length-1;for(var u=0;u<=this.angle+0.001;u+=c){for(n=0;n<e.length;n++)u<this.angle?(e[n]=k.multiplyVector3(e[n].clone()),this.vertices.push(new THREE.Vertex(e[n])),h[n]=this.vertices.length-1):h=m;u==0&&(m=f);
+for(n=0;n<f.length-1;n++)this.faces.push(new THREE.Face4(h[n],h[n+1],f[n+1],f[n])),this.faceVertexUvs[0].push([new THREE.UV(1-u/this.angle,n/b.length),new THREE.UV(1-u/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,n/b.length)]);f=h;h=[]}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=new THREE.Geometry;THREE.LatheGeometry.prototype.constructor=THREE.LatheGeometry;
+THREE.PlaneGeometry=function(b,c,e,f){THREE.Geometry.call(this);var h,m=b/2,k=c/2,e=e||1,f=f||1,n=e+1,u=f+1;b/=e;var p=c/f;for(h=0;h<u;h++)for(c=0;c<n;c++)this.vertices.push(new THREE.Vertex(new THREE.Vector3(c*b-m,-(h*p-k),0)));for(h=0;h<f;h++)for(c=0;c<e;c++)this.faces.push(new THREE.Face4(c+n*h,c+n*(h+1),c+1+n*(h+1),c+1+n*h)),this.faceVertexUvs[0].push([new THREE.UV(c/e,h/f),new THREE.UV(c/e,(h+1)/f),new THREE.UV((c+1)/e,(h+1)/f),new THREE.UV((c+1)/e,h/f)]);this.computeCentroids();this.computeFaceNormals()};
+THREE.PlaneGeometry.prototype=new THREE.Geometry;THREE.PlaneGeometry.prototype.constructor=THREE.PlaneGeometry;
+THREE.SphereGeometry=function(b,c,e){THREE.Geometry.call(this);for(var b=b||50,f,h=Math.PI,m=Math.max(3,c||8),k=Math.max(2,e||6),c=[],e=0;e<k+1;e++){f=e/k;var n=b*Math.cos(f*h),u=b*Math.sin(f*h),p=[],v=0;for(f=0;f<m;f++){var t=2*f/m,x=u*Math.sin(t*h),t=u*Math.cos(t*h);(e==0||e==k)&&f>0||(v=this.vertices.push(new THREE.Vertex(new THREE.Vector3(t,n,x)))-1);p.push(v)}c.push(p)}for(var w,z,y,h=c.length,e=0;e<h;e++)if(m=c[e].length,e>0)for(f=0;f<m;f++){p=f==m-1;k=c[e][p?0:f+1];n=c[e][p?m-1:f];u=c[e-1][p?
+m-1:f];p=c[e-1][p?0:f+1];x=e/(h-1);w=(e-1)/(h-1);z=(f+1)/m;var t=f/m,v=new THREE.UV(1-z,x),x=new THREE.UV(1-t,x),t=new THREE.UV(1-t,w),B=new THREE.UV(1-z,w);e<c.length-1&&(w=this.vertices[k].position.clone(),z=this.vertices[n].position.clone(),y=this.vertices[u].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,n,u,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,x,t]));e>1&&(w=
+this.vertices[k].position.clone(),z=this.vertices[u].position.clone(),y=this.vertices[p].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,u,p,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,t,B]))}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals();this.boundingSphere={radius:b}};THREE.SphereGeometry.prototype=new THREE.Geometry;
+THREE.SphereGeometry.prototype.constructor=THREE.SphereGeometry;
+THREE.TextGeometry=function(b,c){var e=(new THREE.TextPath(b,c)).toShapes();c.amount=c.height!==void 0?c.height:50;if(c.bevelThickness===void 0)c.bevelThickness=10;if(c.bevelSize===void 0)c.bevelSize=8;if(c.bevelEnabled===void 0)c.bevelEnabled=!1;if(c.bend){var f=e[e.length-1].getBoundingBox().maxX;c.bendPath=new THREE.QuadraticBezierCurve(new THREE.Vector2(0,0),new THREE.Vector2(f/2,120),new THREE.Vector2(f,0))}THREE.ExtrudeGeometry.call(this,e,c)};THREE.TextGeometry.prototype=new THREE.ExtrudeGeometry;
+THREE.TextGeometry.prototype.constructor=THREE.TextGeometry;
+THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},getTextShapes:function(b,c){return(new TextPath(b,c)).toShapes()},loadFace:function(b){var c=b.familyName.toLowerCase();this.faces[c]=this.faces[c]||{};this.faces[c][b.cssFontWeight]=this.faces[c][b.cssFontWeight]||{};this.faces[c][b.cssFontWeight][b.cssFontStyle]=b;return this.faces[c][b.cssFontWeight][b.cssFontStyle]=b},drawText:function(b){for(var c=
+this.getFace(),e=this.size/c.resolution,f=0,h=String(b).split(""),m=h.length,k=[],b=0;b<m;b++){var n=new THREE.Path,n=this.extractGlyphPoints(h[b],c,e,f,n);f+=n.offset;k.push(n.path)}return{paths:k,offset:f/2}},extractGlyphPoints:function(b,c,e,f,h){var m=[],k,n,u,p,v,t,x,w,z,y,B=c.glyphs[b]||c.glyphs[ctxt.options.fallbackCharacter];if(B){if(B.o){c=B._cachedOutline||(B._cachedOutline=B.o.split(" "));u=c.length;for(b=0;b<u;)switch(n=c[b++],n){case "m":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,
+p));h.moveTo(n,p);break;case "l":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,p));h.lineTo(n,p);break;case "q":n=c[b++]*e+f;p=c[b++]*e;x=c[b++]*e+f;w=c[b++]*e;h.quadraticCurveTo(x,w,n,p);if(k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++){var D=k/divisions,G=THREE.Shape.Utils.b2(D,v,x,n),D=THREE.Shape.Utils.b2(D,t,w,p);m.push(new THREE.Vector2(G,D))}}break;case "b":if(n=c[b++]*e+f,p=c[b++]*e,x=c[b++]*e+f,w=c[b++]*-e,z=c[b++]*e+f,y=c[b++]*-e,h.bezierCurveTo(n,p,
+x,w,z,y),k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++)D=k/divisions,G=THREE.Shape.Utils.b3(D,v,x,z,n),D=THREE.Shape.Utils.b3(D,t,w,y,p),m.push(new THREE.Vector2(G,D))}}}return{offset:B.ha*e,points:m,path:h}}}};
+(function(b){var c=function(b){for(var c=b.length,h=0,m=c-1,k=0;k<c;m=k++)h+=b[m].x*b[k].y-b[k].x*b[m].y;return h*0.5};b.Triangulate=function(b,f){var h=b.length;if(h<3)return null;var m=[],k=[],n=[],u,p,v;if(c(b)>0)for(p=0;p<h;p++)k[p]=p;else for(p=0;p<h;p++)k[p]=h-1-p;var t=2*h;for(p=h-1;h>2;){if(t--<=0){console.log("Warning, unable to triangulate polygon!");if(f)return n;return m}u=p;h<=u&&(u=0);p=u+1;h<=p&&(p=0);v=p+1;h<=v&&(v=0);var x;a:{x=b;var w=u,z=p,y=v,B=h,D=k,G=void 0,H=void 0,E=void 0,
+N=void 0,F=void 0,I=void 0,C=void 0,K=void 0,U=void 0,H=x[D[w]].x,E=x[D[w]].y,N=x[D[z]].x,F=x[D[z]].y,I=x[D[y]].x,C=x[D[y]].y;if(1.0E-10>(N-H)*(C-E)-(F-E)*(I-H))x=!1;else{for(G=0;G<B;G++)if(!(G==w||G==z||G==y)){var K=x[D[G]].x,U=x[D[G]].y,L=void 0,O=void 0,S=void 0,P=void 0,o=void 0,W=void 0,na=void 0,R=void 0,ia=void 0,aa=void 0,ma=void 0,fa=void 0,L=S=o=void 0,L=I-N,O=C-F,S=H-I,P=E-C,o=N-H,W=F-E,na=K-H,R=U-E,ia=K-N,aa=U-F,ma=K-I,fa=U-C,L=L*aa-O*ia,o=o*R-W*na,S=S*fa-P*ma;if(L>=0&&S>=0&&o>=0){x=!1;
+break a}}x=!0}}if(x){m.push([b[k[u]],b[k[p]],b[k[v]]]);n.push([k[u],k[p],k[v]]);u=p;for(v=p+1;v<h;u++,v++)k[u]=k[v];h--;t=2*h}}if(f)return n;return m};b.Triangulate.area=c;return b})(THREE.FontUtils);window._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};
+THREE.TorusGeometry=function(b,c,e,f,h){THREE.Geometry.call(this);this.radius=b||100;this.tube=c||40;this.segmentsR=e||8;this.segmentsT=f||6;this.arc=h||Math.PI*2;h=new THREE.Vector3;b=[];c=[];for(e=0;e<=this.segmentsR;e++)for(f=0;f<=this.segmentsT;f++){var m=f/this.segmentsT*this.arc,k=e/this.segmentsR*Math.PI*2;h.x=this.radius*Math.cos(m);h.y=this.radius*Math.sin(m);var n=new THREE.Vector3;n.x=(this.radius+this.tube*Math.cos(k))*Math.cos(m);n.y=(this.radius+this.tube*Math.cos(k))*Math.sin(m);n.z=
+this.tube*Math.sin(k);this.vertices.push(new THREE.Vertex(n));b.push(new THREE.UV(f/this.segmentsT,1-e/this.segmentsR));c.push(n.clone().subSelf(h).normalize())}for(e=1;e<=this.segmentsR;e++)for(f=1;f<=this.segmentsT;f++){var h=(this.segmentsT+1)*e+f-1,m=(this.segmentsT+1)*(e-1)+f-1,k=(this.segmentsT+1)*(e-1)+f,n=(this.segmentsT+1)*e+f,u=new THREE.Face4(h,m,k,n,[c[h],c[m],c[k],c[n]]);u.normal.addSelf(c[h]);u.normal.addSelf(c[m]);u.normal.addSelf(c[k]);u.normal.addSelf(c[n]);u.normal.normalize();this.faces.push(u);
+this.faceVertexUvs[0].push([b[h].clone(),b[m].clone(),b[k].clone(),b[n].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=new THREE.Geometry;THREE.TorusGeometry.prototype.constructor=THREE.TorusGeometry;
+THREE.TorusKnotGeometry=function(b,c,e,f,h,m,k){function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k*(2+e)*0.5*Math.cos(b),k*(2+e)*Math.sin(b)*0.5,h*k*Math.sin(c)*0.5)}THREE.Geometry.call(this);this.radius=b||200;this.tube=c||40;this.segmentsR=e||64;this.segmentsT=f||8;this.p=h||2;this.q=m||3;this.heightScale=k||1;this.grid=Array(this.segmentsR);e=new THREE.Vector3;f=new THREE.Vector3;m=new THREE.Vector3;for(b=0;b<this.segmentsR;++b){this.grid[b]=Array(this.segmentsT);for(c=0;c<
+this.segmentsT;++c){var u=b/this.segmentsR*2*this.p*Math.PI,k=c/this.segmentsT*2*Math.PI,h=n(u,k,this.q,this.p,this.radius,this.heightScale),u=n(u+0.01,k,this.q,this.p,this.radius,this.heightScale);e.x=u.x-h.x;e.y=u.y-h.y;e.z=u.z-h.z;f.x=u.x+h.x;f.y=u.y+h.y;f.z=u.z+h.z;m.cross(e,f);f.cross(m,e);m.normalize();f.normalize();u=-this.tube*Math.cos(k);k=this.tube*Math.sin(k);h.x+=u*f.x+k*m.x;h.y+=u*f.y+k*m.y;h.z+=u*f.z+k*m.z;this.grid[b][c]=this.vertices.push(new THREE.Vertex(new THREE.Vector3(h.x,h.y,
+h.z)))-1}}for(b=0;b<this.segmentsR;++b)for(c=0;c<this.segmentsT;++c){var f=(b+1)%this.segmentsR,m=(c+1)%this.segmentsT,h=this.grid[b][c],e=this.grid[f][c],f=this.grid[f][m],m=this.grid[b][m],k=new THREE.UV(b/this.segmentsR,c/this.segmentsT),u=new THREE.UV((b+1)/this.segmentsR,c/this.segmentsT),p=new THREE.UV((b+1)/this.segmentsR,(c+1)/this.segmentsT),v=new THREE.UV(b/this.segmentsR,(c+1)/this.segmentsT);this.faces.push(new THREE.Face4(h,e,f,m));this.faceVertexUvs[0].push([k,u,p,v])}this.computeCentroids();
+this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=new THREE.Geometry;THREE.TorusKnotGeometry.prototype.constructor=THREE.TorusKnotGeometry;THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
+THREE.Loader.prototype={addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/1E3).toFixed(2)+" KB";
+this.statusDomElement.innerHTML=c},extractUrlbase:function(b){b=b.split("/");b.pop();return b.join("/")},init_materials:function(b,c,e){b.materials=[];for(var f=0;f<c.length;++f)b.materials[f]=[THREE.Loader.prototype.createMaterial(c[f],e)]},hasNormals:function(b){var c,e,f=b.materials.length;for(e=0;e<f;e++)if(c=b.materials[e][0],c instanceof THREE.MeshShaderMaterial)return!0;return!1},createMaterial:function(b,c){function e(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==b}function f(b,c){var f=
+new Image;f.onload=function(){if(!e(this.width)||!e(this.height)){var c=Math.pow(2,Math.round(Math.log(this.width)/Math.LN2)),f=Math.pow(2,Math.round(Math.log(this.height)/Math.LN2));b.image.width=c;b.image.height=f;b.image.getContext("2d").drawImage(this,0,0,c,f)}else b.image=this;b.needsUpdate=!0};f.src=c}function h(b,e,k,h,m,n){var p=document.createElement("canvas");b[e]=new THREE.Texture(p);b[e].sourceFile=k;if(h){b[e].repeat.set(h[0],h[1]);if(h[0]!=1)b[e].wrapS=THREE.RepeatWrapping;if(h[1]!=
+1)b[e].wrapT=THREE.RepeatWrapping}m&&b[e].offset.set(m[0],m[1]);if(n){h={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(h[n[0]]!==void 0)b[e].wrapS=h[n[0]];if(h[n[1]]!==void 0)b[e].wrapT=h[n[1]]}f(b[e],c+"/"+k)}function m(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}var k,n,u;n="MeshLambertMaterial";k={color:15658734,opacity:1,map:null,lightMap:null,normalMap:null,wireframe:b.wireframe};b.shading&&(b.shading=="Phong"?n="MeshPhongMaterial":b.shading=="Basic"&&(n="MeshBasicMaterial"));
+if(b.blending)if(b.blending=="Additive")k.blending=THREE.AdditiveBlending;else if(b.blending=="Subtractive")k.blending=THREE.SubtractiveBlending;else if(b.blending=="Multiply")k.blending=THREE.MultiplyBlending;if(b.transparent!==void 0||b.opacity<1)k.transparent=b.transparent;if(b.depthTest!==void 0)k.depthTest=b.depthTest;if(b.vertexColors!==void 0)if(b.vertexColors=="face")k.vertexColors=THREE.FaceColors;else if(b.vertexColors)k.vertexColors=THREE.VertexColors;if(b.colorDiffuse)k.color=m(b.colorDiffuse);
+else if(b.DbgColor)k.color=b.DbgColor;if(b.colorSpecular)k.specular=m(b.colorSpecular);if(b.colorAmbient)k.ambient=m(b.colorAmbient);if(b.transparency)k.opacity=b.transparency;if(b.specularCoef)k.shininess=b.specularCoef;b.mapDiffuse&&c&&h(k,"map",b.mapDiffuse,b.mapDiffuseRepeat,b.mapDiffuseOffset,b.mapDiffuseWrap);b.mapLight&&c&&h(k,"lightMap",b.mapLight,b.mapLightRepeat,b.mapLightOffset,b.mapLightWrap);b.mapNormal&&c&&h(k,"normalMap",b.mapNormal,b.mapNormalRepeat,b.mapNormalOffset,b.mapNormalWrap);
+b.mapSpecular&&c&&h(k,"specularMap",b.mapSpecular,b.mapSpecularRepeat,b.mapSpecularOffset,b.mapSpecularWrap);if(b.mapNormal){var p=THREE.ShaderUtils.lib.normal,v=THREE.UniformsUtils.clone(p.uniforms),t=k.color;n=k.specular;u=k.ambient;var x=k.shininess;v.tNormal.texture=k.normalMap;if(b.mapNormalFactor)v.uNormalScale.value=b.mapNormalFactor;if(k.map)v.tDiffuse.texture=k.map,v.enableDiffuse.value=!0;if(k.specularMap)v.tSpecular.texture=k.specularMap,v.enableSpecular.value=!0;if(k.lightMap)v.tAO.texture=
+k.lightMap,v.enableAO.value=!0;v.uDiffuseColor.value.setHex(t);v.uSpecularColor.value.setHex(n);v.uAmbientColor.value.setHex(u);v.uShininess.value=x;if(k.opacity)v.uOpacity.value=k.opacity;k=new THREE.MeshShaderMaterial({fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:v,lights:!0,fog:!0})}else k=new THREE[n](k);return k},constructor:THREE.Loader};THREE.BinaryLoader=function(b){THREE.Loader.call(this,b)};THREE.BinaryLoader.prototype=new THREE.Loader;
+THREE.BinaryLoader.prototype.constructor=THREE.BinaryLoader;THREE.BinaryLoader.prototype.supr=THREE.Loader.prototype;
+THREE.BinaryLoader.prototype.load=function(b){var c=b.model,e=b.callback,f=b.texture_path?b.texture_path:THREE.Loader.prototype.extractUrlbase(c),h=b.bin_path?b.bin_path:THREE.Loader.prototype.extractUrlbase(c),b=(new Date).getTime(),c=new Worker(c),m=this.showProgress?THREE.Loader.prototype.updateProgress:null;c.onmessage=function(b){THREE.BinaryLoader.prototype.loadAjaxBuffers(b.data.buffers,b.data.materials,e,h,f,m)};c.onerror=function(b){alert("worker.onerror: "+b.message+"\n"+b.data);b.preventDefault()};
+c.postMessage(b)};
+THREE.BinaryLoader.prototype.loadAjaxBuffers=function(b,c,e,f,h,m){var k=new XMLHttpRequest,n=f+"/"+b,u=0;k.onreadystatechange=function(){k.readyState==4?k.status==200||k.status==0?THREE.BinaryLoader.prototype.createBinModel(k.responseText,e,h,c):alert("Couldn't load ["+n+"] ["+k.status+"]"):k.readyState==3?m&&(u==0&&(u=k.getResponseHeader("Content-Length")),m({total:u,loaded:k.responseText.length})):k.readyState==2&&(u=k.getResponseHeader("Content-Length"))};k.open("GET",n,!0);k.overrideMimeType("text/plain; charset=x-user-defined");
+k.setRequestHeader("Content-Type","text/plain");k.send(null)};
+THREE.BinaryLoader.prototype.createBinModel=function(b,c,e,f){var h=function(c){function e(b,c){var f=v(b,c),k=v(b,c+1),h=v(b,c+2),m=v(b,c+3),n=(m<<1&255|h>>7)-127;f|=(h&127)<<16|k<<8;if(f==0&&n==-127)return 0;return(1-2*(m>>7))*(1+f*Math.pow(2,-23))*Math.pow(2,n)}function h(b,c){var e=v(b,c),f=v(b,c+1),k=v(b,c+2);return(v(b,c+3)<<24)+(k<<16)+(f<<8)+e}function u(b,c){var e=v(b,c);return(v(b,c+1)<<8)+e}function p(b,c){var e=v(b,c);return e>127?e-256:e}function v(b,c){return b.charCodeAt(c)&255}function t(c){var e,
+f,k;e=h(b,c);f=h(b,c+F);k=h(b,c+I);c=u(b,c+C);D.faces.push(new THREE.Face3(e,f,k,null,null,D.materials[c]))}function x(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+F);k=h(b,c+I);m=u(b,c+C);o=h(b,c+K);p=h(b,c+U);c=h(b,c+L);m=D.materials[m];var t=E[p*3],v=E[p*3+1];p=E[p*3+2];var w=E[c*3],M=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face3(e,f,k,[new THREE.Vector3(E[o*3],E[o*3+1],E[o*3+2]),new THREE.Vector3(t,v,p),new THREE.Vector3(w,M,c)],null,m))}function w(c){var e,f,k,m;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,
+c+P);c=u(b,c+o);D.faces.push(new THREE.Face4(e,f,k,m,null,null,D.materials[c]))}function z(c){var e,f,k,m,p,t,v,w;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,c+P);p=u(b,c+o);t=h(b,c+W);v=h(b,c+na);w=h(b,c+R);c=h(b,c+ia);p=D.materials[p];var x=E[v*3],M=E[v*3+1];v=E[v*3+2];var y=E[w*3],T=E[w*3+1];w=E[w*3+2];var z=E[c*3],B=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face4(e,f,k,m,[new THREE.Vector3(E[t*3],E[t*3+1],E[t*3+2]),new THREE.Vector3(x,M,v),new THREE.Vector3(y,T,w),new THREE.Vector3(z,B,c)],null,p))}
+function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+aa);k=h(b,c+ma);c=N[e*2];m=N[e*2+1];e=N[f*2];var o=D.faceVertexUvs[0];f=N[f*2+1];var p=N[k*2];k=N[k*2+1];var t=[];t.push(new THREE.UV(c,m));t.push(new THREE.UV(e,f));t.push(new THREE.UV(p,k));o.push(t)}function B(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+fa);k=h(b,c+ga);m=h(b,c+da);c=N[e*2];o=N[e*2+1];e=N[f*2];p=N[f*2+1];f=N[k*2];var t=D.faceVertexUvs[0];k=N[k*2+1];var u=N[m*2];m=N[m*2+1];var v=[];v.push(new THREE.UV(c,o));v.push(new THREE.UV(e,p));v.push(new THREE.UV(f,
+k));v.push(new THREE.UV(u,m));t.push(v)}var D=this,G=0,H,E=[],N=[],F,I,C,K,U,L,O,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa;THREE.Geometry.call(this);THREE.Loader.prototype.init_materials(D,f,c);H={signature:b.substr(G,8),header_bytes:v(b,G+8),vertex_coordinate_bytes:v(b,G+9),normal_coordinate_bytes:v(b,G+10),uv_coordinate_bytes:v(b,G+11),vertex_index_bytes:v(b,G+12),normal_index_bytes:v(b,G+13),uv_index_bytes:v(b,G+14),material_index_bytes:v(b,G+15),nvertices:h(b,G+16),nnormals:h(b,G+16+4),nuvs:h(b,
+G+16+8),ntri_flat:h(b,G+16+12),ntri_smooth:h(b,G+16+16),ntri_flat_uv:h(b,G+16+20),ntri_smooth_uv:h(b,G+16+24),nquad_flat:h(b,G+16+28),nquad_smooth:h(b,G+16+32),nquad_flat_uv:h(b,G+16+36),nquad_smooth_uv:h(b,G+16+40)};G+=H.header_bytes;F=H.vertex_index_bytes;I=H.vertex_index_bytes*2;C=H.vertex_index_bytes*3;K=H.vertex_index_bytes*3+H.material_index_bytes;U=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes;L=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*2;O=H.vertex_index_bytes;
+S=H.vertex_index_bytes*2;P=H.vertex_index_bytes*3;o=H.vertex_index_bytes*4;W=H.vertex_index_bytes*4+H.material_index_bytes;na=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes;R=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*2;ia=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*3;aa=H.uv_index_bytes;ma=H.uv_index_bytes*2;fa=H.uv_index_bytes;ga=H.uv_index_bytes*2;da=H.uv_index_bytes*3;c=H.vertex_index_bytes*3+H.material_index_bytes;qa=H.vertex_index_bytes*
+4+H.material_index_bytes;$=H.ntri_flat*c;ca=H.ntri_smooth*(c+H.normal_index_bytes*3);X=H.ntri_flat_uv*(c+H.uv_index_bytes*3);ja=H.ntri_smooth_uv*(c+H.normal_index_bytes*3+H.uv_index_bytes*3);ea=H.nquad_flat*qa;c=H.nquad_smooth*(qa+H.normal_index_bytes*4);qa=H.nquad_flat_uv*(qa+H.uv_index_bytes*4);G+=function(c){for(var f,h,m,n=H.vertex_coordinate_bytes*3,o=c+H.nvertices*n;c<o;c+=n)f=e(b,c),h=e(b,c+H.vertex_coordinate_bytes),m=e(b,c+H.vertex_coordinate_bytes*2),D.vertices.push(new THREE.Vertex(new THREE.Vector3(f,
+h,m)));return H.nvertices*n}(G);G+=function(c){for(var e,f,k,h=H.normal_coordinate_bytes*3,m=c+H.nnormals*h;c<m;c+=h)e=p(b,c),f=p(b,c+H.normal_coordinate_bytes),k=p(b,c+H.normal_coordinate_bytes*2),E.push(e/127,f/127,k/127);return H.nnormals*h}(G);G+=function(c){for(var f,h,m=H.uv_coordinate_bytes*2,n=c+H.nuvs*m;c<n;c+=m)f=e(b,c),h=e(b,c+H.uv_coordinate_bytes),N.push(f,h);return H.nuvs*m}(G);$=G+$;ca=$+ca;X=ca+X;ja=X+ja;ea=ja+ea;c=ea+c;qa=c+qa;(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,
+f=e+H.uv_index_bytes*3,k=b+H.ntri_flat_uv*f;for(c=b;c<k;c+=f)t(c),y(c+e);return k-b})(ca);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=e+H.uv_index_bytes*3,k=b+H.ntri_smooth_uv*f;for(c=b;c<k;c+=f)x(c),y(c+e);return k-b})(X);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=e+H.uv_index_bytes*4,k=b+H.nquad_flat_uv*f;for(c=b;c<k;c+=f)w(c),B(c+e);return k-b})(c);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*
+4,f=e+H.uv_index_bytes*4,k=b+H.nquad_smooth_uv*f;for(c=b;c<k;c+=f)z(c),B(c+e);return k-b})(qa);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,f=b+H.ntri_flat*e;for(c=b;c<f;c+=e)t(c);return f-b})(G);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=b+H.ntri_smooth*e;for(c=b;c<f;c+=e)x(c);return f-b})($);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=b+H.nquad_flat*e;for(c=b;c<f;c+=e)w(c);return f-b})(ja);(function(b){var c,
+e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*4,f=b+H.nquad_smooth*e;for(c=b;c<f;c+=e)z(c);return f-b})(ea);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};h.prototype=new THREE.Geometry;h.prototype.constructor=h;c(new h(e))};
+var ColladaLoader=function(){function b(b,c,e){for(var b=$.evaluate(b,$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),f={},k=b.iterateNext(),h=0;k;){k=(new c).parse(k);if(k.id.length==0)k.id=e+h++;f[k.id]=k;k=b.iterateNext()}return f}function c(){var b=1E6,c=-b,e=0,f;for(f in qa)for(var k=qa[f],h=0;h<k.sampler.length;h++){var m=k.sampler[h];m.create();b=Math.min(b,m.startTime);c=Math.max(c,m.endTime);e=Math.max(e,m.input.length)}return{start:b,end:c,frames:e}}function e(b,c,f,k){b.world=b.world||
+new THREE.Matrix4;b.world.copy(b.matrix);if(b.channels&&b.channels.length){var h=b.channels[0].sampler.output[f];h instanceof THREE.Matrix4&&b.world.copy(h)}k&&b.world.multiply(k,b.world);c.push(b);for(k=0;k<b.nodes.length;k++)e(b.nodes[k],c,f,b.world)}function f(b,f,k){var h=V[f.url];if(!h||!h.skin)console.log("could not find skin controller!");else if(!f.skeleton||!f.skeleton.length)console.log("could not find the skeleton for the skin!");else{var m=c(),f=X.getChildById(f.skeleton[0],!0)||X.getChildBySid(f.skeleton[0],
+!0),n,o,p,t,v=new THREE.Vector3,u;for(n=0;n<b.vertices.length;n++)h.skin.bindShapeMatrix.multiplyVector3(b.vertices[n].position);for(k=0;k<m.frames;k++){var w=[],x=[];for(n=0;n<b.vertices.length;n++)x.push(new THREE.Vertex(new THREE.Vector3));e(f,w,k);n=w;o=h.skin;for(t=0;t<n.length;t++){p=n[t];u=-1;for(var y=0;y<o.joints.length;y++)if(p.sid==o.joints[y]){u=y;break}if(u>=0){y=o.invBindMatrices[u];p.invBindMatrix=y;p.skinningMatrix=new THREE.Matrix4;p.skinningMatrix.multiply(p.world,y);p.weights=[];
+for(y=0;y<o.weights.length;y++)for(var z=0;z<o.weights[y].length;z++){var B=o.weights[y][z];B.joint==u&&p.weights.push(B)}}else throw"could not find joint!";}for(n=0;n<w.length;n++)for(o=0;o<w[n].weights.length;o++)p=w[n].weights[o],t=p.index,p=p.weight,u=b.vertices[t],t=x[t],v.x=u.position.x,v.y=u.position.y,v.z=u.position.z,w[n].skinningMatrix.multiplyVector3(v),t.position.x+=v.x*p,t.position.y+=v.y*p,t.position.z+=v.z*p;b.morphTargets.push({name:"target_"+k,vertices:x})}}}function h(b){var c=new THREE.Object3D,
+e,k,m;c.name=b.id||"";c.matrixAutoUpdate=!1;c.matrix=b.matrix;for(m=0;m<b.controllers.length;m++){var n=V[b.controllers[m].url];switch(n.type){case "skin":if(pa[n.skin.source]){var o=new z;o.url=n.skin.source;o.instance_material=b.controllers[m].instance_material;b.geometries.push(o);e=b.controllers[m]}else if(V[n.skin.source]&&(k=n=V[n.skin.source],n.morph&&pa[n.morph.source]))o=new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o);break;case "morph":if(pa[n.morph.source])o=
+new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o),k=b.controllers[m];console.log("DAE: morph-controller partially supported.")}}for(m=0;m<b.geometries.length;m++){var n=b.geometries[m],o=n.instance_material,n=pa[n.url],p={},t=0,v;if(n&&n.mesh&&n.mesh.primitives){if(c.name.length==0)c.name=n.id;if(o)for(j=0;j<o.length;j++){v=o[j];var u=ra[va[v.target].instance_effect.url].shader;u.material.opacity=!u.material.opacity?1:u.material.opacity;v=p[v.symbol]=
+u.material;t++}o=v||new THREE.MeshLambertMaterial({color:14540253,shading:THREE.FlatShading});n=n.mesh.geometry3js;if(t>1){o=new THREE.MeshFaceMaterial;for(j=0;j<n.faces.length;j++)t=n.faces[j],t.materials=[p[t.daeMaterial]]}if(e!==void 0)f(n,e),o.morphTargets=!0,o=new THREE.SkinnedMesh(n,o),o.skeleton=e.skeleton,o.skinController=V[e.url],o.skinInstanceController=e,o.name="skin_"+za.length,za.push(o);else if(k!==void 0){p=n;t=k instanceof x?V[k.url]:k;if(!t||!t.morph)console.log("could not find morph controller!");
+else{t=t.morph;for(u=0;u<t.targets.length;u++){var w=pa[t.targets[u]];if(w.mesh&&w.mesh.primitives&&w.mesh.primitives.length)w=w.mesh.primitives[0].geometry,w.vertices.length===p.vertices.length&&p.morphTargets.push({name:"target_1",vertices:w.vertices})}p.morphTargets.push({name:"target_Z",vertices:p.vertices})}o.morphTargets=!0;o=new THREE.Mesh(n,o);o.name="morph_"+Aa.length;Aa.push(o)}else o=new THREE.Mesh(n,o);c.addChild(o)}}for(m=0;m<b.nodes.length;m++)c.addChild(h(b.nodes[m],b));return c}function m(){this.init_from=
+this.id=""}function k(){this.type=this.name=this.id="";this.morph=this.skin=null}function n(){this.weights=this.targets=this.source=this.method=null}function u(){this.source="";this.bindShapeMatrix=null;this.invBindMatrices=[];this.joints=[];this.weights=[]}function p(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Object3D}function v(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=[];this.transforms=[];this.geometries=[];this.channels=[];this.matrix=new THREE.Matrix4}function t(){this.type=
+this.sid="";this.data=[];this.matrix=new THREE.Matrix4}function x(){this.url="";this.skeleton=[];this.instance_material=[]}function w(){this.target=this.symbol=""}function z(){this.url="";this.instance_material=[]}function y(){this.id="";this.mesh=null}function B(b){this.geometry=b.id;this.primitives=[];this.geometry3js=this.vertices=null}function D(){}function G(){this.material="";this.count=0;this.inputs=[];this.vcount=null;this.p=[];this.geometry=new THREE.Geometry}function H(){this.source="";
+this.stride=this.count=0;this.params=[]}function E(){this.input={}}function N(){this.semantic="";this.offset=0;this.source="";this.set=0}function F(b){this.id=b;this.type=null}function I(){this.name=this.id="";this.instance_effect=null}function C(){this.color=new THREE.Color(0);this.color.setRGB(Math.random(),Math.random(),Math.random());this.color.a=1;this.texcoord=this.texture=null}function K(b,c){this.type=b;this.effect=c;this.material=null}function U(b){this.effect=b;this.format=this.init_from=
+null}function L(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter=this.wrap_t=this.wrap_s=this.source=null}function O(){this.name=this.id="";this.sampler=this.surface=this.shader=null}function S(){this.url=""}function P(){this.name=this.id="";this.source={};this.sampler=[];this.channel=[]}function o(b){this.animation=b;this.target=this.source="";this.member=this.arrIndices=this.arrSyntax=this.dotSyntax=this.sid=null}function W(b){this.id="";this.animation=b;this.inputs=[];this.endTime=
+this.startTime=this.interpolation=this.output=this.input=null;this.duration=0}function na(b){var c=b.getAttribute("id");if(ja[c]!=void 0)return ja[c];ja[c]=(new F(c)).parse(b);return ja[c]}function R(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADASchema";return null}function ia(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseFloat(b[e]));return c}function aa(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseInt(b[e],10));return c}function ma(b){return b.replace(/^\s+/,"").replace(/\s+$/,
+"").split(/\s+/)}function fa(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),10):e}function ga(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";return e}c=c||2;e=b.toString().split(".");for(e[1]=e.length>1?e[1].substr(0,c):"0";e[1].length<c;)e[1]+="0";return e.join(".")}function da(b,c){var e="";e+=ga(b.x,c)+",";e+=ga(b.y,c)+",";e+=ga(b.z,c);return e}var $=null,ca=null,X,ja={},ea={},qa={},V={},pa={},va={},ra={},sa,Ca=null,wa,Aa,za,Fa=THREE.SmoothShading;m.prototype.parse=function(b){this.id=
+b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeName=="init_from")this.init_from=e.textContent}return this};k.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.type="none";for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "skin":this.skin=(new u).parse(e);this.type=e.nodeName;break;case "morph":this.morph=(new n).parse(e),this.type=e.nodeName}}return this};n.prototype.parse=function(b){var c=
+{},e=[],f;this.method=b.getAttribute("method");this.source=b.getAttribute("source").replace(/^#/,"");for(f=0;f<b.childNodes.length;f++){var k=b.childNodes[f];if(k.nodeType==1)switch(k.nodeName){case "source":k=(new F).parse(k);c[k.id]=k;break;case "targets":e=this.parseInputs(k);break;default:console.log(k.nodeName)}}for(f=0;f<e.length;f++)switch(b=e[f],k=c[b.source],b.semantic){case "MORPH_TARGET":this.targets=k.read();break;case "MORPH_WEIGHT":this.weights=k.read()}return this};n.prototype.parseInputs=
+function(b){for(var c=[],e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":c.push((new N).parse(f))}}return c};u.prototype.parse=function(b){var c={},e,f;this.source=b.getAttribute("source").replace(/^#/,"");this.invBindMatrices=[];this.joints=[];this.weights=[];for(var k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(h.nodeType==1)switch(h.nodeName){case "bind_shape_matrix":h=ia(h.textContent);this.bindShapeMatrix=new THREE.Matrix4;this.bindShapeMatrix.set(h[0],
+h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]);break;case "source":h=(new F).parse(h);c[h.id]=h;break;case "joints":e=h;break;case "vertex_weights":f=h;break;default:console.log(h.nodeName)}}this.parseJoints(e,c);this.parseWeights(f,c);return this};u.prototype.parseJoints=function(b,c){for(var e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":var f=(new N).parse(f),k=c[f.source];if(f.semantic=="JOINT")this.joints=
+k.read();else if(f.semantic=="INV_BIND_MATRIX")this.invBindMatrices=k.read()}}};u.prototype.parseWeights=function(b,c){for(var e,f,k=[],h=0;h<b.childNodes.length;h++){var m=b.childNodes[h];if(m.nodeType==1)switch(m.nodeName){case "input":k.push((new N).parse(m));break;case "v":e=aa(m.textContent);break;case "vcount":f=aa(m.textContent)}}for(h=m=0;h<f.length;h++){for(var n=f[h],o=[],p=0;p<n;p++){for(var t={},u=0;u<k.length;u++){var v=k[u],w=e[m+v.offset];switch(v.semantic){case "JOINT":t.joint=w;break;
+case "WEIGHT":t.weight=c[v.source].data[w]}}o.push(t);m+=k.length}for(p=0;p<o.length;p++)o[p].index=h;this.weights.push(o)}};p.prototype.getChildById=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};p.prototype.getChildBySid=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};p.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");
+this.nodes=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "node":this.nodes.push((new v).parse(e))}}return this};v.prototype.getChannelForTransform=function(b){for(var c=0;c<this.channels.length;c++){var e=this.channels[c],f=e.target.split("/");f.shift();var k=f.shift(),h=k.indexOf(".")>=0,m=k.indexOf("(")>=0,n;if(h)f=k.split("."),k=f.shift(),f.shift();else if(m){n=k.split("(");k=n.shift();for(f=0;f<n.length;f++)n[f]=parseInt(n[f].replace(/\)/,
+""))}if(k==b)return e.info={sid:k,dotSyntax:h,arrSyntax:m,arrIndices:n},e}return null};v.prototype.getChildById=function(b,c){if(this.id==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};v.prototype.getChildBySid=function(b,c){if(this.sid==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};v.prototype.getTransformBySid=function(b){for(var c=0;c<this.transforms.length;c++)if(this.transforms[c].sid==
+b)return this.transforms[c];return null};v.prototype.parse=function(b){var c;this.id=b.getAttribute("id");this.sid=b.getAttribute("sid");this.name=b.getAttribute("name");this.type=b.getAttribute("type");this.type=this.type=="JOINT"?this.type:"NODE";this.nodes=[];this.transforms=[];this.geometries=[];this.controllers=[];this.matrix=new THREE.Matrix4;for(var e=0;e<b.childNodes.length;e++)if(c=b.childNodes[e],c.nodeType==1)switch(c.nodeName){case "node":this.nodes.push((new v).parse(c));break;case "instance_camera":break;
+case "instance_controller":this.controllers.push((new x).parse(c));break;case "instance_geometry":this.geometries.push((new z).parse(c));break;case "instance_light":break;case "instance_node":c=c.getAttribute("url").replace(/^#/,"");(c=$.evaluate(".//dae:library_nodes//dae:node[@id='"+c+"']",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&this.nodes.push((new v).parse(c));break;case "rotate":case "translate":case "scale":case "matrix":case "lookat":case "skew":this.transforms.push((new t).parse(c));
+break;case "extra":break;default:console.log(c.nodeName)}b=[];e=1E6;c=-1E6;for(var f in qa)for(var k=qa[f],h=0;h<k.channel.length;h++){var m=k.channel[h],n=k.sampler[h];f=m.target.split("/")[0];if(f==this.id)n.create(),m.sampler=n,e=Math.min(e,n.startTime),c=Math.max(c,n.endTime),b.push(m)}if(b.length)this.startTime=e,this.endTime=c;if((this.channels=b)&&this.channels.length){f=1E7;for(i=0;i<this.channels.length;i++){b=this.channels[i].sampler;for(e=0;e<b.input.length-1;e++)f=Math.min(f,b.input[e+
+1]-b.input[e])}e=[];for(b=this.startTime;b<this.endTime;b+=f){c=b;for(var k={},o=h=void 0,h=0;h<this.channels.length;h++)o=this.channels[h],k[o.sid]=o;m=new THREE.Matrix4;for(h=0;h<this.transforms.length;h++)if(n=this.transforms[h],o=k[n.sid],o!==void 0){for(var p=o.sampler,u,o=0;o<p.input.length-1;o++)if(p.input[o+1]>c){u=p.output[o];break}m=u!==void 0?u instanceof THREE.Matrix4?m.multiply(m,u):m.multiply(m,n.matrix):m.multiply(m,n.matrix)}else m=m.multiply(m,n.matrix);c=m;e.push({time:b,pos:[c.n14,
+c.n24,c.n34],rotq:[0,0,0,1],scl:[1,1,1]})}this.keys=e}this.updateMatrix();return this};v.prototype.updateMatrix=function(){this.matrix.identity();for(var b=0;b<this.transforms.length;b++)this.matrix.multiply(this.matrix,this.transforms[b].matrix)};t.prototype.parse=function(b){this.sid=b.getAttribute("sid");this.type=b.nodeName;this.data=ia(b.textContent);this.updateMatrix();return this};t.prototype.updateMatrix=function(){var b=0;this.matrix.identity();switch(this.type){case "matrix":this.matrix.set(this.data[0],
+this.data[1],this.data[2],this.data[3],this.data[4],this.data[5],this.data[6],this.data[7],this.data[8],this.data[9],this.data[10],this.data[11],this.data[12],this.data[13],this.data[14],this.data[15]);break;case "translate":this.matrix.setTranslation(this.data[0],this.data[1],this.data[2]);break;case "rotate":b=this.data[3]*(Math.PI/180);this.matrix.setRotationAxis(new THREE.Vector3(this.data[0],this.data[1],this.data[2]),b);break;case "scale":this.matrix.setScale(this.data[0],this.data[1],this.data[2])}return this.matrix};
+x.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.skeleton=[];this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "skeleton":this.skeleton.push(e.textContent.replace(/^#/,""));break;case "bind_material":if(e=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(var f=e.iterateNext();f;)this.instance_material.push((new w).parse(f)),f=e.iterateNext()}}return this};
+w.prototype.parse=function(b){this.symbol=b.getAttribute("symbol");this.target=b.getAttribute("target").replace(/^#/,"");return this};z.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1&&e.nodeName=="bind_material"){if(b=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(c=b.iterateNext();c;)this.instance_material.push((new w).parse(c)),
+c=b.iterateNext();break}}return this};y.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "mesh":this.mesh=(new B(this)).parse(e)}}return this};B.prototype.parse=function(b){function c(b,e){var f=da(b.position);k[f]===void 0&&(k[f]={v:b,index:e});return k[f]}this.primitives=[];var e;for(e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];switch(f.nodeName){case "source":na(f);break;case "vertices":this.vertices=
+(new E).parse(f);break;case "triangles":this.primitives.push((new G).parse(f));break;case "polygons":console.warn("polygon holes not yet supported!");case "polylist":this.primitives.push((new D).parse(f))}}var k={};this.geometry3js=new THREE.Geometry;f=ja[this.vertices.input.POSITION.source].data;for(b=e=0;e<f.length;e+=3,b++){var h=new THREE.Vertex(new THREE.Vector3(f[e],f[e+1],f[e+2]));c(h,b);this.geometry3js.vertices.push(h)}for(e=0;e<this.primitives.length;e++)primitive=this.primitives[e],primitive.setVertices(this.vertices),
+this.handlePrimitive(primitive,this.geometry3js,k);this.geometry3js.computeCentroids();this.geometry3js.computeFaceNormals();this.geometry3js.computeVertexNormals();this.geometry3js.computeBoundingBox();return this};B.prototype.handlePrimitive=function(b,c,e){var f=0,k,h,m=b.p,n=b.inputs,o,p,t,u=0,v=3,w=[];for(k=0;k<n.length;k++)o=n[k],o.semantic=="TEXCOORD"&&w.push(o.set);for(;f<m.length;){var x=[],y=[],z={};b.vcount&&(v=b.vcount[u++]);for(k=0;k<v;k++)for(h=0;h<n.length;h++)switch(o=n[h],source=
+ja[o.source],p=m[f+k*n.length+o.offset],numParams=source.accessor.params.length,t=p*numParams,o.semantic){case "VERTEX":o=da(c.vertices[p].position);x.push(e[o].index);break;case "NORMAL":y.push(new THREE.Vector3(source.data[t+0],source.data[t+1],source.data[t+2]));break;case "TEXCOORD":z[o.set]===void 0&&(z[o.set]=[]),z[o.set].push(new THREE.UV(source.data[t+0],source.data[t+1]))}h=new THREE.Face3(x[0],x[1],x[2],[y[0],y[1],y[2]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=
+z[w[h]],c.faceVertexUvs[h].push([o[0],o[1],o[2]]);if(v>3)for(k=2;k<x.length-1;k++){h=new THREE.Face3(x[0],x[k],x[k+1],[y[0],y[k],y[k+1]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=z[w[h]],c.faceVertexUvs[h].push([o[0],o[k],o[k+1]])}f+=n.length*v}};D.prototype=new G;D.prototype.constructor=D;G.prototype.setVertices=function(b){for(var c=0;c<this.inputs.length;c++)if(this.inputs[c].source==b.id)this.inputs[c].source=b.input.POSITION.source};G.prototype.parse=function(b){this.inputs=
+[];this.material=b.getAttribute("material");this.count=fa(b,"count",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "input":this.inputs.push((new N).parse(b.childNodes[c]));break;case "vcount":this.vcount=aa(e.textContent);break;case "p":this.p=aa(e.textContent)}}return this};H.prototype.parse=function(b){this.params=[];this.source=b.getAttribute("source");this.count=fa(b,"count",0);this.stride=fa(b,"stride",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];
+if(e.nodeName=="param"){var f={};f.name=e.getAttribute("name");f.type=e.getAttribute("type");this.params.push(f)}}return this};E.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++)b.childNodes[c].nodeName=="input"&&(input=(new N).parse(b.childNodes[c]),this.input[input.semantic]=input);return this};N.prototype.parse=function(b){this.semantic=b.getAttribute("semantic");this.source=b.getAttribute("source").replace(/^#/,"");this.set=fa(b,"set",-1);this.offset=
+fa(b,"offset",0);if(this.semantic=="TEXCOORD"&&this.set<0)this.set=0;return this};F.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "bool_array":for(var f=ma(e.textContent),k=[],h=0;h<f.length;h++)k.push(f[h]=="true"||f[h]=="1"?!0:!1);this.data=k;this.type=e.nodeName;break;case "float_array":this.data=ia(e.textContent);this.type=e.nodeName;break;case "int_array":this.data=aa(e.textContent);this.type=e.nodeName;
+break;case "IDREF_array":case "Name_array":this.data=ma(e.textContent);this.type=e.nodeName;break;case "technique_common":for(f=0;f<e.childNodes.length;f++)if(e.childNodes[f].nodeName=="accessor"){this.accessor=(new H).parse(e.childNodes[f]);break}}}return this};F.prototype.read=function(){var b=[],c=this.accessor.params[0];switch(c.type){case "IDREF":case "Name":case "float":return this.data;case "float4x4":for(c=0;c<this.data.length;c+=16){var e=this.data.slice(c,c+16),f=new THREE.Matrix4;f.set(e[0],
+e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);b.push(f)}break;default:console.log("Dae::Source:read dont know how to read "+c.type)}return b};I.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");for(var c=0;c<b.childNodes.length;c++)if(b.childNodes[c].nodeName=="instance_effect"){this.instance_effect=(new S).parse(b.childNodes[c]);break}return this};C.prototype.isColor=function(){return this.texture==null};C.prototype.isTexture=
+function(){return this.texture!=null};C.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "color":e=ia(e.textContent);this.color=new THREE.Color(0);this.color.setRGB(e[0],e[1],e[2]);this.color.a=e[3];break;case "texture":this.texture=e.getAttribute("texture"),this.texcoord=e.getAttribute("texcoord")}}return this};K.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==
+1)switch(e.nodeName){case "ambient":case "emission":case "diffuse":case "specular":case "transparent":this[e.nodeName]=(new C).parse(e);break;case "shininess":case "reflectivity":case "transparency":var f;f=$.evaluate(".//dae:float",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var k=f.iterateNext(),h=[];k;)h.push(k),k=f.iterateNext();f=h;f.length>0&&(this[e.nodeName]=parseFloat(f[0].textContent))}}this.create();return this};K.prototype.create=function(){var b={},c=this.transparency!==void 0&&
+this.transparency<1,e;for(e in this)switch(e){case "ambient":case "emission":case "diffuse":case "specular":var f=this[e];if(f instanceof C)if(f.isTexture()){if(this.effect.sampler&&this.effect.surface&&this.effect.sampler.source==this.effect.surface.sid&&(f=ea[this.effect.surface.init_from]))b.map=THREE.ImageUtils.loadTexture(wa+f.init_from),b.map.wrapS=THREE.RepeatWrapping,b.map.wrapT=THREE.RepeatWrapping,b.map.repeat.x=1,b.map.repeat.y=-1}else e=="diffuse"?b.color=f.color.getHex():c||(b[e]=f.color.getHex());
+break;case "shininess":case "reflectivity":b[e]=this[e];break;case "transparency":if(c)b.transparent=!0,b.opacity=this[e],c=!0}b.shading=Fa;return this.material=new THREE.MeshLambertMaterial(b)};U.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "init_from":this.init_from=e.textContent;break;case "format":this.format=e.textContent;break;default:console.log("unhandled Surface prop: "+e.nodeName)}}return this};L.prototype.parse=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":this.source=e.textContent;break;case "minfilter":this.minfilter=e.textContent;break;case "magfilter":this.magfilter=e.textContent;break;case "mipfilter":this.mipfilter=e.textContent;break;case "wrap_s":this.wrap_s=e.textContent;break;case "wrap_t":this.wrap_t=e.textContent;break;default:console.log("unhandled Sampler2D prop: "+e.nodeName)}}return this};O.prototype.create=function(){if(this.shader==
+null)return null};O.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.shader=null;for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "profile_COMMON":this.parseTechnique(this.parseProfileCOMMON(e))}}return this};O.prototype.parseNewparam=function(b){for(var c=b.getAttribute("sid"),e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "surface":this.surface=(new U(this)).parse(f);
+this.surface.sid=c;break;case "sampler2D":this.sampler=(new L(this)).parse(f);this.sampler.sid=c;break;case "extra":break;default:console.log(f.nodeName)}}};O.prototype.parseProfileCOMMON=function(b){for(var c,e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "profile_COMMON":this.parseProfileCOMMON(f);break;case "technique":c=f;break;case "newparam":this.parseNewparam(f);break;case "extra":break;default:console.log(f.nodeName)}}return c};O.prototype.parseTechnique=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "lambert":case "blinn":case "phong":this.shader=(new K(e.nodeName,this)).parse(e)}}};S.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");return this};P.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.source={};for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":e=
+(new F).parse(e);this.source[e.id]=e;break;case "sampler":this.sampler.push((new W(this)).parse(e));break;case "channel":this.channel.push((new o(this)).parse(e))}}return this};o.prototype.parse=function(b){this.source=b.getAttribute("source").replace(/^#/,"");this.target=b.getAttribute("target");var c=this.target.split("/");c.shift();var b=c.shift(),e=b.indexOf(".")>=0,f=b.indexOf("(")>=0,k,h;if(e)c=b.split("."),b=c.shift(),h=c.shift();else if(f){k=b.split("(");b=k.shift();for(c=0;c<k.length;c++)k[c]=
+parseInt(k[c].replace(/\)/,""))}this.sid=b;this.dotSyntax=e;this.arrSyntax=f;this.arrIndices=k;this.member=h;return this};W.prototype.parse=function(b){this.id=b.getAttribute("id");this.inputs=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "input":this.inputs.push((new N).parse(e))}}return this};W.prototype.create=function(){for(var b=0;b<this.inputs.length;b++){var c=this.inputs[b],e=this.animation.source[c.source];switch(c.semantic){case "INPUT":this.input=
+e.read();break;case "OUTPUT":this.output=e.read();break;case "INTERPOLATION":this.interpolation=e.read();break;case "IN_TANGENT":break;case "OUT_TANGENT":break;default:console.log(c.semantic)}}this.duration=this.endTime=this.startTime=0;if(this.input.length){this.startTime=1E8;this.endTime=-1E8;for(b=0;b<this.input.length;b++)this.startTime=Math.min(this.startTime,this.input[b]),this.endTime=Math.max(this.endTime,this.input[b]);this.duration=this.endTime-this.startTime}};return{load:function(e,f){if(document.implementation&&
+document.implementation.createDocument){document.implementation.createDocument("http://www.collada.org/2005/11/COLLADASchema","COLLADA",null);e+="?rnd="+Math.random();var n=new XMLHttpRequest;n.overrideMimeType&&n.overrideMimeType("text/xml");n.onreadystatechange=function(){if(n.readyState==4&&(n.status==0||n.status==200)){Ca=f;var o,t=e;$=n.responseXML;o=Ca;t!==void 0&&(t=t.split("/"),t.pop(),wa=t.join("/")+"/");ea=b("//dae:library_images/dae:image",m,"image");va=b("//dae:library_materials/dae:material",
+I,"material");ra=b("//dae:library_effects/dae:effect",O,"effect");pa=b("//dae:library_geometries/dae:geometry",y,"geometry");V=b("//dae:library_controllers/dae:controller",k,"controller");qa=b("//dae:library_animations/dae:animation",P,"animation");sa=b(".//dae:library_visual_scenes/dae:visual_scene",p,"visual_scene");Aa=[];za=[];(t=$.evaluate(".//dae:scene/dae:instance_visual_scene",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(t=t.getAttribute("url").replace(/^#/,""),X=sa[t]):
+X=null;ca=new THREE.Object3D;for(t=0;t<X.nodes.length;t++)ca.addChild(h(X.nodes[t]));c();for(var u in qa);u={scene:ca,morphs:Aa,skins:za,dae:{images:ea,materials:va,effects:ra,geometries:pa,controllers:V,animations:qa,visualScenes:sa,scene:X}};o&&o(u)}};n.open("GET",e,!0);n.send(null)}else alert("Don't know how to parse XML!")},setPreferredShading:function(b){Fa=b},applySkin:f,geometries:pa}};THREE.JSONLoader=function(b){THREE.Loader.call(this,b)};THREE.JSONLoader.prototype=new THREE.Loader;
+THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.supr=THREE.Loader.prototype;THREE.JSONLoader.prototype.load=function(b){var c=this,e=b.model,f=b.callback,h=b.texture_path?b.texture_path:this.extractUrlbase(e),b=new Worker(e);b.onmessage=function(b){c.createModel(b.data,f,h);c.onLoadComplete()};this.onLoadStart();b.postMessage((new Date).getTime())};
+THREE.JSONLoader.prototype.createModel=function(b,c,e){var f=new THREE.Geometry,h=b.scale!==void 0?1/b.scale:1;this.init_materials(f,b.materials,e);(function(c){if(b.version===void 0||b.version!=2)console.error("Deprecated file format.");else{var e,h,u,p,v,t,x,w,z,y,B,D,G,H,E=b.faces;t=b.vertices;var N=b.normals,F=b.colors,I=0;for(e=0;e<b.uvs.length;e++)b.uvs[e].length&&I++;for(e=0;e<I;e++)f.faceUvs[e]=[],f.faceVertexUvs[e]=[];p=0;for(v=t.length;p<v;)x=new THREE.Vertex,x.position.x=t[p++]*c,x.position.y=
+t[p++]*c,x.position.z=t[p++]*c,f.vertices.push(x);p=0;for(v=E.length;p<v;){c=E[p++];t=c&1;u=c&2;e=c&4;h=c&8;w=c&16;x=c&32;y=c&64;c&=128;t?(B=new THREE.Face4,B.a=E[p++],B.b=E[p++],B.c=E[p++],B.d=E[p++],t=4):(B=new THREE.Face3,B.a=E[p++],B.b=E[p++],B.c=E[p++],t=3);if(u)u=E[p++],B.materials=f.materials[u];u=f.faces.length;if(e)for(e=0;e<I;e++)D=b.uvs[e],z=E[p++],H=D[z*2],z=D[z*2+1],f.faceUvs[e][u]=new THREE.UV(H,z);if(h)for(e=0;e<I;e++){D=b.uvs[e];G=[];for(h=0;h<t;h++)z=E[p++],H=D[z*2],z=D[z*2+1],G[h]=
+new THREE.UV(H,z);f.faceVertexUvs[e][u]=G}if(w)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.normal=h;if(x)for(e=0;e<t;e++)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.vertexNormals.push(h);if(y)x=E[p++],x=new THREE.Color(F[x]),B.color=x;if(c)for(e=0;e<t;e++)x=E[p++],x=new THREE.Color(F[x]),B.vertexColors.push(x);f.faces.push(B)}}})(h);(function(){var c,e,h,u;if(b.skinWeights){c=0;for(e=b.skinWeights.length;c<e;c+=2)h=b.skinWeights[c],u=b.skinWeights[c+1],f.skinWeights.push(new THREE.Vector4(h,
+u,0,0))}if(b.skinIndices){c=0;for(e=b.skinIndices.length;c<e;c+=2)h=b.skinIndices[c],u=b.skinIndices[c+1],f.skinIndices.push(new THREE.Vector4(h,u,0,0))}f.bones=b.bones;f.animation=b.animation})();(function(c){if(b.morphTargets!==void 0){var e,h,u,p,v,t,x,w,z;e=0;for(h=b.morphTargets.length;e<h;e++){f.morphTargets[e]={};f.morphTargets[e].name=b.morphTargets[e].name;f.morphTargets[e].vertices=[];w=f.morphTargets[e].vertices;z=b.morphTargets[e].vertices;u=0;for(p=z.length;u<p;u+=3)v=z[u]*c,t=z[u+1]*
+c,x=z[u+2]*c,w.push(new THREE.Vertex(new THREE.Vector3(v,t,x)))}}if(b.morphColors!==void 0){e=0;for(h=b.morphColors.length;e<h;e++){f.morphColors[e]={};f.morphColors[e].name=b.morphColors[e].name;f.morphColors[e].colors=[];p=f.morphColors[e].colors;v=b.morphColors[e].colors;c=0;for(u=v.length;c<u;c+=3)t=new THREE.Color(16755200),t.setRGB(v[c],v[c+1],v[c+2]),p.push(t)}}})(h);(function(){if(b.edges!==void 0){var c,e,h;for(c=0;c<b.edges.length;c+=2)e=b.edges[c],h=b.edges[c+1],f.edges.push(new THREE.Edge(f.vertices[e],
+f.vertices[h],e,h))}})();f.computeCentroids();f.computeFaceNormals();this.hasNormals(f)&&f.computeTangents();c(f)};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){}};
+THREE.SceneLoader.prototype={load:function(b,c){var e=this,f=new Worker(b);f.postMessage(0);var h=THREE.Loader.prototype.extractUrlbase(b);f.onmessage=function(b){function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}function n(){for(w in O.objects)if(!R.objects[w])if(G=O.objects[w],G.geometry!==void 0){if(F=R.geometries[G.geometry]){var b=!1;U=[];for(aa=0;aa<G.materials.length;aa++)U[aa]=R.materials[G.materials[aa]],b=U[aa]instanceof THREE.MeshShaderMaterial;b&&F.computeTangents();H=G.position;r=
+G.rotation;q=G.quaternion;s=G.scale;q=0;U.length==0&&(U[0]=new THREE.MeshFaceMaterial);U.length>1&&(U=[new THREE.MeshFaceMaterial]);object=new THREE.Mesh(F,U);object.name=w;object.position.set(H[0],H[1],H[2]);q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]);object.scale.set(s[0],s[1],s[2]);object.visible=G.visible;R.scene.addObject(object);R.objects[w]=object;G.meshCollider&&(b=THREE.CollisionUtils.MeshColliderWBox(object),R.scene.collisions.colliders.push(b));
+if(G.castsShadow)b=new THREE.ShadowVolume(F),R.scene.addChild(b),b.position=object.position,b.rotation=object.rotation,b.scale=object.scale;G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}}else H=G.position,r=G.rotation,q=G.quaternion,s=G.scale,q=0,object=new THREE.Object3D,object.name=w,object.position.set(H[0],H[1],H[2]),q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]),object.scale.set(s[0],
+s[1],s[2]),object.visible=G.visible!==void 0?G.visible:!1,R.scene.addObject(object),R.objects[w]=object,R.empties[w]=object,G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}function u(b){return function(c){R.geometries[b]=c;n();P-=1;e.onLoadComplete();v()}}function p(b){return function(c){R.geometries[b]=c}}function v(){e.callbackProgress({totalModels:W,totalTextures:na,loadedModels:W-P,loadedTextures:na-o},R);e.onLoadProgress();P==0&&o==0&&c(R)}
+var t,x,w,z,y,B,D,G,H,E,N,F,I,C,K,U,L,O,S,P,o,W,na,R;O=b.data;K=new THREE.BinaryLoader;S=new THREE.JSONLoader;o=P=0;R={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},triggers:{},empties:{}};b=!1;for(w in O.objects)if(G=O.objects[w],G.meshCollider){b=!0;break}if(b)R.scene.collisions=new THREE.CollisionSystem;if(O.transform){b=O.transform.position;E=O.transform.rotation;var ia=O.transform.scale;b&&R.scene.position.set(b[0],b[1],b[2]);E&&R.scene.rotation.set(E[0],
+E[1],E[2]);ia&&R.scene.scale.set(ia[0],ia[1],ia[2]);(b||E||ia)&&R.scene.updateMatrix()}b=function(){o-=1;v();e.onLoadComplete()};for(y in O.cameras){E=O.cameras[y];if(E.type=="perspective")I=new THREE.Camera(E.fov,E.aspect,E.near,E.far);else if(E.type=="ortho")I=new THREE.Camera,I.projectionMatrix=THREE.Matrix4.makeOrtho(E.left,E.right,E.top,E.bottom,E.near,E.far);H=E.position;E=E.target;I.position.set(H[0],H[1],H[2]);I.target.position.set(E[0],E[1],E[2]);R.cameras[y]=I}for(z in O.lights)y=O.lights[z],
+I=y.color!==void 0?y.color:16777215,E=y.intensity!==void 0?y.intensity:1,y.type=="directional"?(H=y.direction,L=new THREE.DirectionalLight(I,E),L.position.set(H[0],H[1],H[2]),L.position.normalize()):y.type=="point"?(H=y.position,d=y.distance,L=new THREE.PointLight(I,E,d),L.position.set(H[0],H[1],H[2])):y.type=="ambient"&&(L=new THREE.AmbientLight(I)),R.scene.addLight(L),R.lights[z]=L;for(B in O.fogs)z=O.fogs[B],z.type=="linear"?C=new THREE.Fog(0,z.near,z.far):z.type=="exp2"&&(C=new THREE.FogExp2(0,
+z.density)),E=z.color,C.color.setRGB(E[0],E[1],E[2]),R.fogs[B]=C;if(R.cameras&&O.defaults.camera)R.currentCamera=R.cameras[O.defaults.camera];if(R.fogs&&O.defaults.fog)R.scene.fog=R.fogs[O.defaults.fog];E=O.defaults.bgcolor;R.bgColor=new THREE.Color;R.bgColor.setRGB(E[0],E[1],E[2]);R.bgColorAlpha=O.defaults.bgalpha;for(t in O.geometries)if(B=O.geometries[t],B.type=="bin_mesh"||B.type=="ascii_mesh")P+=1,e.onLoadStart();W=P;for(t in O.geometries)B=O.geometries[t],B.type=="cube"?(F=new THREE.CubeGeometry(B.width,
+B.height,B.depth,B.segmentsWidth,B.segmentsHeight,B.segmentsDepth,null,B.flipped,B.sides),R.geometries[t]=F):B.type=="plane"?(F=new THREE.PlaneGeometry(B.width,B.height,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="sphere"?(F=new THREE.SphereGeometry(B.radius,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="cylinder"?(F=new THREE.CylinderGeometry(B.numSegs,B.topRad,B.botRad,B.height,B.topOffset,B.botOffset),R.geometries[t]=F):B.type=="torus"?(F=new THREE.TorusGeometry(B.radius,
+B.tube,B.segmentsR,B.segmentsT),R.geometries[t]=F):B.type=="icosahedron"?(F=new THREE.IcosahedronGeometry(B.subdivisions),R.geometries[t]=F):B.type=="bin_mesh"?K.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="ascii_mesh"?S.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="embedded_mesh"&&(B=O.embeds[B.id])&&S.createModel(B,p(t),"");for(D in O.textures)if(t=O.textures[D],t.url instanceof Array){o+=t.url.length;for(K=0;K<t.url.length;K++)e.onLoadStart()}else o+=1,e.onLoadStart();
+na=o;for(D in O.textures){t=O.textures[D];if(t.mapping!=void 0&&THREE[t.mapping]!=void 0)t.mapping=new THREE[t.mapping];if(t.url instanceof Array){K=[];for(var aa=0;aa<t.url.length;aa++)K[aa]=f(t.url[aa],O.urlBaseType);K=THREE.ImageUtils.loadTextureCube(K,t.mapping,b)}else{K=THREE.ImageUtils.loadTexture(f(t.url,O.urlBaseType),t.mapping,b);if(THREE[t.minFilter]!=void 0)K.minFilter=THREE[t.minFilter];if(THREE[t.magFilter]!=void 0)K.magFilter=THREE[t.magFilter];if(t.repeat){K.repeat.set(t.repeat[0],
+t.repeat[1]);if(t.repeat[0]!=1)K.wrapS=THREE.RepeatWrapping;if(t.repeat[1]!=1)K.wrapT=THREE.RepeatWrapping}t.offset&&K.offset.set(t.offset[0],t.offset[1]);if(t.wrap){S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(S[t.wrap[0]]!==void 0)K.wrapS=S[t.wrap[0]];if(S[t.wrap[1]]!==void 0)K.wrapT=S[t.wrap[1]]}}R.textures[D]=K}for(x in O.materials){D=O.materials[x];for(N in D.parameters)if(N=="envMap"||N=="map"||N=="lightMap")D.parameters[N]=R.textures[D.parameters[N]];else if(N=="shading")D.parameters[N]=
+D.parameters[N]=="flat"?THREE.FlatShading:THREE.SmoothShading;else if(N=="blending")D.parameters[N]=THREE[D.parameters[N]]?THREE[D.parameters[N]]:THREE.NormalBlending;else if(N=="combine")D.parameters[N]=D.parameters[N]=="MixOperation"?THREE.MixOperation:THREE.MultiplyOperation;else if(N=="vertexColors")if(D.parameters[N]=="face")D.parameters[N]=THREE.FaceColors;else if(D.parameters[N])D.parameters[N]=THREE.VertexColors;if(D.parameters.opacity!==void 0&&D.parameters.opacity<1)D.parameters.transparent=
+!0;if(D.parameters.normalMap){t=THREE.ShaderUtils.lib.normal;b=THREE.UniformsUtils.clone(t.uniforms);K=D.parameters.color;S=D.parameters.specular;B=D.parameters.ambient;C=D.parameters.shininess;b.tNormal.texture=R.textures[D.parameters.normalMap];if(D.parameters.normalMapFactor)b.uNormalScale.value=D.parameters.normalMapFactor;if(D.parameters.map)b.tDiffuse.texture=D.parameters.map,b.enableDiffuse.value=!0;if(D.parameters.lightMap)b.tAO.texture=D.parameters.lightMap,b.enableAO.value=!0;if(D.parameters.specularMap)b.tSpecular.texture=
+R.textures[D.parameters.specularMap],b.enableSpecular.value=!0;b.uDiffuseColor.value.setHex(K);b.uSpecularColor.value.setHex(S);b.uAmbientColor.value.setHex(B);b.uShininess.value=C;if(D.parameters.opacity)b.uOpacity.value=D.parameters.opacity;D=new THREE.MeshShaderMaterial({fragmentShader:t.fragmentShader,vertexShader:t.vertexShader,uniforms:b,lights:!0,fog:!0})}else D=new THREE[D.type](D.parameters);R.materials[x]=D}n();e.callbackSync(R)}},constructor:THREE.SceneLoader};THREE.UTF8Loader=function(){};
+THREE.UTF8Loader.prototype=new THREE.UTF8Loader;THREE.UTF8Loader.prototype.constructor=THREE.UTF8Loader;
+THREE.UTF8Loader.prototype.load=function(b){var c=new XMLHttpRequest,e=b.model,f=b.callback,h=b.scale!==void 0?b.scale:1,m=b.offsetX!==void 0?b.offsetX:0,k=b.offsetY!==void 0?b.offsetY:0,n=b.offsetZ!==void 0?b.offsetZ:0;c.onreadystatechange=function(){c.readyState==4?c.status==200||c.status==0?THREE.UTF8Loader.prototype.createModel(c.responseText,f,h,m,k,n):alert("Couldn't load ["+e+"] ["+c.status+"]"):c.readyState!=3&&c.readyState==2&&c.getResponseHeader("Content-Length")};c.open("GET",e,!0);c.send(null)};
+THREE.UTF8Loader.prototype.decompressMesh=function(b){var c=b.charCodeAt(0);c>=57344&&(c-=2048);c++;for(var e=new Float32Array(8*c),f=1,h=0;h<8;h++){for(var m=0,k=0;k<c;++k){var n=b.charCodeAt(k+f);m+=n>>1^-(n&1);e[8*k+h]=m}f+=c}c=b.length-f;m=new Uint16Array(c);for(h=k=0;h<c;h++)n=b.charCodeAt(h+f),m[h]=k-n,n==0&&k++;return[e,m]};
+THREE.UTF8Loader.prototype.createModel=function(b,c,e,f,h,m){var k=function(){var c=this;c.materials=[];THREE.Geometry.call(this);var k=THREE.UTF8Loader.prototype.decompressMesh(b),p=[],v=[];(function(b,k,p){for(var u,v,B,D=b.length;p<D;p+=k)u=b[p],v=b[p+1],B=b[p+2],u=u/16383*e,v=v/16383*e,B=B/16383*e,u+=f,v+=h,B+=m,c.vertices.push(new THREE.Vertex(new THREE.Vector3(u,v,B)))})(k[0],8,0);(function(b,c,e){for(var f,h,k=b.length;e<k;e+=c)f=b[e],h=b[e+1],f/=1023,h/=1023,v.push(f,h)})(k[0],8,3);(function(b,
+c,e){for(var f,h,k,m=b.length;e<m;e+=c)f=b[e],h=b[e+1],k=b[e+2],f=(f-512)/511,h=(h-512)/511,k=(k-512)/511,p.push(f,h,k)})(k[0],8,5);(function(b){var e,f,h,k,m,u,G,H,E,N=b.length;for(e=0;e<N;e+=3){f=b[e];h=b[e+1];k=b[e+2];m=c;H=f;E=h;u=k;G=f;var F=h,I=k,C=m.materials[0],K=p[F*3],U=p[F*3+1],F=p[F*3+2],L=p[I*3],O=p[I*3+1],I=p[I*3+2];G=new THREE.Vector3(p[G*3],p[G*3+1],p[G*3+2]);F=new THREE.Vector3(K,U,F);I=new THREE.Vector3(L,O,I);m.faces.push(new THREE.Face3(H,E,u,[G,F,I],null,C));m=v[f*2];f=v[f*2+
+1];u=v[h*2];G=v[h*2+1];H=v[k*2];E=v[k*2+1];k=c.faceVertexUvs[0];h=u;u=G;G=[];G.push(new THREE.UV(m,f));G.push(new THREE.UV(h,u));G.push(new THREE.UV(H,E));k.push(G)}})(k[1]);this.computeCentroids();this.computeFaceNormals()};k.prototype=new THREE.Geometry;k.prototype.constructor=k;c(new k)};
+THREE.MarchingCubes=function(b,c){THREE.Object3D.call(this);this.materials=c instanceof Array?c:[c];this.init=function(b){this.isolation=80;this.size=b;this.size2=this.size*this.size;this.size3=this.size2*this.size;this.halfsize=this.size/2;this.delta=2/this.size;this.yd=this.size;this.zd=this.size2;this.field=new Float32Array(this.size3);this.normal_cache=new Float32Array(this.size3*3);this.vlist=new Float32Array(36);this.nlist=new Float32Array(36);this.firstDraw=!0;this.maxCount=4096;this.count=
+0;this.hasNormal=this.hasPos=!1;this.positionArray=new Float32Array(this.maxCount*3);this.normalArray=new Float32Array(this.maxCount*3)};this.lerp=function(b,c,h){return b+(c-b)*h};this.VIntX=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n+k*this.delta;c[m+1]=u;c[m+2]=p;h[m]=this.lerp(v[b],v[b+3],k);h[m+1]=this.lerp(v[b+1],v[b+4],k);h[m+2]=this.lerp(v[b+2],v[b+5],k)};this.VIntY=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u+k*this.delta;c[m+
+2]=p;c=b+this.yd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.VIntZ=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u;c[m+2]=p+k*this.delta;c=b+this.zd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.compNorm=function(b){var c=b*3;this.normal_cache[c]==0&&(this.normal_cache[c]=this.field[b-1]-this.field[b+1],this.normal_cache[c+1]=this.field[b-this.yd]-this.field[b+
+this.yd],this.normal_cache[c+2]=this.field[b-this.zd]-this.field[b+this.zd])};this.polygonize=function(b,c,h,m,k,n){var u=m+1,p=m+this.yd,v=m+this.zd,t=u+this.yd,x=u+this.zd,w=m+this.yd+this.zd,z=u+this.yd+this.zd,y=0,B=this.field[m],D=this.field[u],G=this.field[p],H=this.field[t],E=this.field[v],N=this.field[x],F=this.field[w],I=this.field[z];B<k&&(y|=1);D<k&&(y|=2);G<k&&(y|=8);H<k&&(y|=4);E<k&&(y|=16);N<k&&(y|=32);F<k&&(y|=128);I<k&&(y|=64);var C=THREE.edgeTable[y];if(C==0)return 0;var K=this.delta,
+U=b+K,L=c+K,K=h+K;C&1&&(this.compNorm(m),this.compNorm(u),this.VIntX(m*3,this.vlist,this.nlist,0,k,b,c,h,B,D));C&2&&(this.compNorm(u),this.compNorm(t),this.VIntY(u*3,this.vlist,this.nlist,3,k,U,c,h,D,H));C&4&&(this.compNorm(p),this.compNorm(t),this.VIntX(p*3,this.vlist,this.nlist,6,k,b,L,h,G,H));C&8&&(this.compNorm(m),this.compNorm(p),this.VIntY(m*3,this.vlist,this.nlist,9,k,b,c,h,B,G));C&16&&(this.compNorm(v),this.compNorm(x),this.VIntX(v*3,this.vlist,this.nlist,12,k,b,c,K,E,N));C&32&&(this.compNorm(x),
+this.compNorm(z),this.VIntY(x*3,this.vlist,this.nlist,15,k,U,c,K,N,I));C&64&&(this.compNorm(w),this.compNorm(z),this.VIntX(w*3,this.vlist,this.nlist,18,k,b,L,K,F,I));C&128&&(this.compNorm(v),this.compNorm(w),this.VIntY(v*3,this.vlist,this.nlist,21,k,b,c,K,E,F));C&256&&(this.compNorm(m),this.compNorm(v),this.VIntZ(m*3,this.vlist,this.nlist,24,k,b,c,h,B,E));C&512&&(this.compNorm(u),this.compNorm(x),this.VIntZ(u*3,this.vlist,this.nlist,27,k,U,c,h,D,N));C&1024&&(this.compNorm(t),this.compNorm(z),this.VIntZ(t*
+3,this.vlist,this.nlist,30,k,U,L,h,H,I));C&2048&&(this.compNorm(p),this.compNorm(w),this.VIntZ(p*3,this.vlist,this.nlist,33,k,b,L,h,G,F));y<<=4;for(k=m=0;THREE.triTable[y+k]!=-1;)b=y+k,c=b+1,h=b+2,this.posnormtriv(this.vlist,this.nlist,3*THREE.triTable[b],3*THREE.triTable[c],3*THREE.triTable[h],n),k+=3,m++;return m};this.posnormtriv=function(b,c,h,m,k,n){var u=this.count*3;this.positionArray[u]=b[h];this.positionArray[u+1]=b[h+1];this.positionArray[u+2]=b[h+2];this.positionArray[u+3]=b[m];this.positionArray[u+
+4]=b[m+1];this.positionArray[u+5]=b[m+2];this.positionArray[u+6]=b[k];this.positionArray[u+7]=b[k+1];this.positionArray[u+8]=b[k+2];this.normalArray[u]=c[h];this.normalArray[u+1]=c[h+1];this.normalArray[u+2]=c[h+2];this.normalArray[u+3]=c[m];this.normalArray[u+4]=c[m+1];this.normalArray[u+5]=c[m+2];this.normalArray[u+6]=c[k];this.normalArray[u+7]=c[k+1];this.normalArray[u+8]=c[k+2];this.hasNormal=this.hasPos=!0;this.count+=3;this.count>=this.maxCount-3&&n(this)};this.begin=function(){this.count=0;
+this.hasNormal=this.hasPos=!1};this.end=function(b){if(this.count!=0){for(var c=this.count*3;c<this.positionArray.length;c++)this.positionArray[c]=0;b(this)}};this.addBall=function(b,c,h,m,k){var n=this.size*Math.sqrt(m/k),u=h*this.size,p=c*this.size,v=b*this.size,t=Math.floor(u-n);t<1&&(t=1);u=Math.floor(u+n);u>this.size-1&&(u=this.size-1);var x=Math.floor(p-n);x<1&&(x=1);p=Math.floor(p+n);p>this.size-1&&(p=this.size-1);var w=Math.floor(v-n);w<1&&(w=1);n=Math.floor(v+n);n>this.size-1&&(n=this.size-
+1);for(var z,y,B,D,G,H;t<u;t++){v=this.size2*t;y=t/this.size-h;G=y*y;for(y=x;y<p;y++){B=v+this.size*y;z=y/this.size-c;H=z*z;for(z=w;z<n;z++)D=z/this.size-b,D=m/(1.0E-6+D*D+H+G)-k,D>0&&(this.field[B+z]+=D)}}};this.addPlaneX=function(b,c){var h,m,k,n,u,p=this.size,v=this.yd,t=this.zd,x=this.field,w=p*Math.sqrt(b/c);w>p&&(w=p);for(h=0;h<w;h++)if(m=h/p,m*=m,n=b/(1.0E-4+m)-c,n>0)for(m=0;m<p;m++){u=h+m*v;for(k=0;k<p;k++)x[t*k+u]+=n}};this.addPlaneY=function(b,c){var h,m,k,n,u,p,v=this.size,t=this.yd,x=
+this.zd,w=this.field,z=v*Math.sqrt(b/c);z>v&&(z=v);for(m=0;m<z;m++)if(h=m/v,h*=h,n=b/(1.0E-4+h)-c,n>0){u=m*t;for(h=0;h<v;h++){p=u+h;for(k=0;k<v;k++)w[x*k+p]+=n}}};this.addPlaneZ=function(b,c){var h,m,k,n,u,p;size=this.size;yd=this.yd;zd=this.zd;field=this.field;dist=size*Math.sqrt(b/c);dist>size&&(dist=size);for(k=0;k<dist;k++)if(h=k/size,h*=h,n=b/(1.0E-4+h)-c,n>0){u=zd*k;for(m=0;m<size;m++){p=u+m*yd;for(h=0;h<size;h++)field[p+h]+=n}}};this.reset=function(){var b;for(b=0;b<this.size3;b++)this.normal_cache[b*
+3]=0,this.field[b]=0};this.render=function(b){this.begin();var c,h,m,k,n,u,p,v,t,x=this.size-2;for(k=1;k<x;k++){t=this.size2*k;p=(k-this.halfsize)/this.halfsize;for(m=1;m<x;m++){v=t+this.size*m;u=(m-this.halfsize)/this.halfsize;for(h=1;h<x;h++)n=(h-this.halfsize)/this.halfsize,c=v+h,this.polygonize(n,u,p,c,this.isolation,b)}}this.end(b)};this.generateGeometry=function(){var b=0,c=new THREE.Geometry,h=[];this.render(function(m){var k,n,u,p,v,t,x,w;for(k=0;k<m.count;k++)x=k*3,v=x+1,w=x+2,n=m.positionArray[x],
+u=m.positionArray[v],p=m.positionArray[w],t=new THREE.Vector3(n,u,p),n=m.normalArray[x],u=m.normalArray[v],p=m.normalArray[w],x=new THREE.Vector3(n,u,p),x.normalize(),v=new THREE.Vertex(t),c.vertices.push(v),h.push(x);nfaces=m.count/3;for(k=0;k<nfaces;k++)x=(b+k)*3,v=x+1,w=x+2,t=h[x],n=h[v],u=h[w],x=new THREE.Face3(x,v,w,[t,n,u]),c.faces.push(x);b+=nfaces;m.count=0});return c};this.init(b)};THREE.MarchingCubes.prototype=new THREE.Object3D;THREE.MarchingCubes.prototype.constructor=THREE.MarchingCubes;
+THREE.edgeTable=new Int32Array([0,265,515,778,1030,1295,1541,1804,2060,2309,2575,2822,3082,3331,3593,3840,400,153,915,666,1430,1183,1941,1692,2460,2197,2975,2710,3482,3219,3993,3728,560,825,51,314,1590,1855,1077,1340,2620,2869,2111,2358,3642,3891,3129,3376,928,681,419,170,1958,1711,1445,1196,2988,2725,2479,2214,4010,3747,3497,3232,1120,1385,1635,1898,102,367,613,876,3180,3429,3695,3942,2154,2403,2665,2912,1520,1273,2035,1786,502,255,1013,764,3580,3317,4095,3830,2554,2291,3065,2800,1616,1881,1107,
+1370,598,863,85,348,3676,3925,3167,3414,2650,2899,2137,2384,1984,1737,1475,1226,966,719,453,204,4044,3781,3535,3270,3018,2755,2505,2240,2240,2505,2755,3018,3270,3535,3781,4044,204,453,719,966,1226,1475,1737,1984,2384,2137,2899,2650,3414,3167,3925,3676,348,85,863,598,1370,1107,1881,1616,2800,3065,2291,2554,3830,4095,3317,3580,764,1013,255,502,1786,2035,1273,1520,2912,2665,2403,2154,3942,3695,3429,3180,876,613,367,102,1898,1635,1385,1120,3232,3497,3747,4010,2214,2479,2725,2988,1196,1445,1711,1958,170,
+419,681,928,3376,3129,3891,3642,2358,2111,2869,2620,1340,1077,1855,1590,314,51,825,560,3728,3993,3219,3482,2710,2975,2197,2460,1692,1941,1183,1430,666,915,153,400,3840,3593,3331,3082,2822,2575,2309,2060,1804,1541,1295,1030,778,515,265,0]);
+THREE.triTable=new Int32Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,9,8,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,2,10,0,2,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,8,3,2,10,8,10,9,8,-1,-1,-1,-1,-1,-1,-1,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,8,11,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,11,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,-1,1,11,2,1,9,11,9,8,11,-1,-1,-1,-1,-1,-1,-1,3,10,1,11,10,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,10,1,0,8,10,8,11,10,-1,-1,-1,-1,-1,-1,-1,3,9,0,3,11,9,11,10,9,-1,-1,-1,-1,-1,-1,-1,9,8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,7,3,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,1,9,4,7,1,7,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,4,7,3,0,4,1,2,10,-1,-1,-1,-1,-1,-1,-1,9,2,10,9,0,2,8,4,7,
+-1,-1,-1,-1,-1,-1,-1,2,10,9,2,9,7,2,7,3,7,9,4,-1,-1,-1,-1,8,4,7,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,4,7,11,2,4,2,0,4,-1,-1,-1,-1,-1,-1,-1,9,0,1,8,4,7,2,3,11,-1,-1,-1,-1,-1,-1,-1,4,7,11,9,4,11,9,11,2,9,2,1,-1,-1,-1,-1,3,10,1,3,11,10,7,8,4,-1,-1,-1,-1,-1,-1,-1,1,11,10,1,4,11,1,0,4,7,11,4,-1,-1,-1,-1,4,7,8,9,0,11,9,11,10,11,0,3,-1,-1,-1,-1,4,7,11,4,11,9,9,11,10,-1,-1,-1,-1,-1,-1,-1,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,5,4,1,5,0,-1,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,8,5,4,8,3,5,3,1,5,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,10,4,9,5,-1,-1,-1,-1,-1,-1,-1,5,2,10,5,4,2,4,0,2,-1,-1,-1,-1,-1,-1,-1,2,10,5,3,2,5,3,5,4,3,4,8,-1,-1,-1,-1,9,5,4,2,3,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,0,8,11,4,9,5,-1,-1,-1,-1,-1,-1,-1,0,5,4,0,1,5,2,3,11,-1,-1,-1,-1,-1,-1,-1,2,1,5,2,5,8,2,8,11,4,8,5,-1,-1,-1,-1,10,3,11,10,1,3,9,5,4,-1,-1,-1,-1,-1,-1,-1,4,9,5,0,8,1,8,10,1,8,11,10,-1,-1,-1,-1,5,4,0,5,0,11,5,11,10,11,0,3,-1,-1,-1,-1,5,4,8,5,
+8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,9,7,8,5,7,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,3,0,9,5,3,5,7,3,-1,-1,-1,-1,-1,-1,-1,0,7,8,0,1,7,1,5,7,-1,-1,-1,-1,-1,-1,-1,1,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,7,8,9,5,7,10,1,2,-1,-1,-1,-1,-1,-1,-1,10,1,2,9,5,0,5,3,0,5,7,3,-1,-1,-1,-1,8,0,2,8,2,5,8,5,7,10,5,2,-1,-1,-1,-1,2,10,5,2,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,7,9,5,7,8,9,3,11,2,-1,-1,-1,-1,-1,-1,-1,9,5,7,9,7,2,9,2,0,2,7,11,-1,-1,-1,-1,2,3,11,0,1,8,1,7,8,1,5,7,-1,-1,-1,-1,11,2,1,11,1,7,7,1,5,-1,-1,-1,-1,-1,-1,
+-1,9,5,8,8,5,7,10,1,3,10,3,11,-1,-1,-1,-1,5,7,0,5,0,9,7,11,0,1,0,10,11,10,0,-1,11,10,0,11,0,3,10,5,0,8,0,7,5,7,0,-1,11,10,5,7,11,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,0,1,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,1,9,8,5,10,6,-1,-1,-1,-1,-1,-1,-1,1,6,5,2,6,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,6,5,1,2,6,3,0,8,-1,-1,-1,-1,-1,-1,-1,9,6,5,9,0,6,0,2,6,-1,-1,-1,-1,-1,-1,-1,5,9,8,5,8,2,5,2,6,3,2,8,-1,-1,-1,-1,2,3,11,10,6,
+5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,0,8,11,2,0,10,6,5,-1,-1,-1,-1,-1,-1,-1,0,1,9,2,3,11,5,10,6,-1,-1,-1,-1,-1,-1,-1,5,10,6,1,9,2,9,11,2,9,8,11,-1,-1,-1,-1,6,3,11,6,5,3,5,1,3,-1,-1,-1,-1,-1,-1,-1,0,8,11,0,11,5,0,5,1,5,11,6,-1,-1,-1,-1,3,11,6,0,3,6,0,6,5,0,5,9,-1,-1,-1,-1,6,5,9,6,9,11,11,9,8,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,4,7,3,6,5,10,-1,-1,-1,-1,-1,-1,-1,1,9,0,5,10,6,8,4,7,-1,-1,-1,-1,-1,-1,-1,10,6,5,1,9,7,1,7,3,7,9,4,-1,-1,-1,-1,6,1,2,6,5,1,4,7,8,-1,-1,-1,-1,
+-1,-1,-1,1,2,5,5,2,6,3,0,4,3,4,7,-1,-1,-1,-1,8,4,7,9,0,5,0,6,5,0,2,6,-1,-1,-1,-1,7,3,9,7,9,4,3,2,9,5,9,6,2,6,9,-1,3,11,2,7,8,4,10,6,5,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,2,4,2,0,2,7,11,-1,-1,-1,-1,0,1,9,4,7,8,2,3,11,5,10,6,-1,-1,-1,-1,9,2,1,9,11,2,9,4,11,7,11,4,5,10,6,-1,8,4,7,3,11,5,3,5,1,5,11,6,-1,-1,-1,-1,5,1,11,5,11,6,1,0,11,7,11,4,0,4,11,-1,0,5,9,0,6,5,0,3,6,11,6,3,8,4,7,-1,6,5,9,6,9,11,4,7,9,7,11,9,-1,-1,-1,-1,10,4,9,6,4,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,10,6,4,9,10,0,8,3,-1,-1,-1,-1,-1,-1,-1,
+10,0,1,10,6,0,6,4,0,-1,-1,-1,-1,-1,-1,-1,8,3,1,8,1,6,8,6,4,6,1,10,-1,-1,-1,-1,1,4,9,1,2,4,2,6,4,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,9,2,4,9,2,6,4,-1,-1,-1,-1,0,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,3,2,8,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,10,4,9,10,6,4,11,2,3,-1,-1,-1,-1,-1,-1,-1,0,8,2,2,8,11,4,9,10,4,10,6,-1,-1,-1,-1,3,11,2,0,1,6,0,6,4,6,1,10,-1,-1,-1,-1,6,4,1,6,1,10,4,8,1,2,1,11,8,11,1,-1,9,6,4,9,3,6,9,1,3,11,6,3,-1,-1,-1,-1,8,11,1,8,1,0,11,6,1,9,1,4,6,4,1,-1,3,11,6,3,6,0,0,6,4,-1,-1,-1,-1,-1,-1,-1,
+6,4,8,11,6,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,10,6,7,8,10,8,9,10,-1,-1,-1,-1,-1,-1,-1,0,7,3,0,10,7,0,9,10,6,7,10,-1,-1,-1,-1,10,6,7,1,10,7,1,7,8,1,8,0,-1,-1,-1,-1,10,6,7,10,7,1,1,7,3,-1,-1,-1,-1,-1,-1,-1,1,2,6,1,6,8,1,8,9,8,6,7,-1,-1,-1,-1,2,6,9,2,9,1,6,7,9,0,9,3,7,3,9,-1,7,8,0,7,0,6,6,0,2,-1,-1,-1,-1,-1,-1,-1,7,3,2,6,7,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,11,10,6,8,10,8,9,8,6,7,-1,-1,-1,-1,2,0,7,2,7,11,0,9,7,6,7,10,9,10,7,-1,1,8,0,1,7,8,1,10,7,6,7,10,2,3,11,-1,11,2,1,11,1,7,10,6,1,6,7,1,-1,-1,-1,-1,
+8,9,6,8,6,7,9,1,6,11,6,3,1,3,6,-1,0,9,1,11,6,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,0,7,0,6,3,11,0,11,6,0,-1,-1,-1,-1,7,11,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,1,9,8,3,1,11,7,6,-1,-1,-1,-1,-1,-1,-1,10,1,2,6,11,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,3,0,8,6,11,7,-1,-1,-1,-1,-1,-1,-1,2,9,0,2,10,9,6,11,7,-1,-1,-1,-1,-1,-1,-1,6,11,7,2,10,3,10,8,3,10,9,8,-1,-1,-1,-1,7,
+2,3,6,2,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,8,7,6,0,6,2,0,-1,-1,-1,-1,-1,-1,-1,2,7,6,2,3,7,0,1,9,-1,-1,-1,-1,-1,-1,-1,1,6,2,1,8,6,1,9,8,8,7,6,-1,-1,-1,-1,10,7,6,10,1,7,1,3,7,-1,-1,-1,-1,-1,-1,-1,10,7,6,1,7,10,1,8,7,1,0,8,-1,-1,-1,-1,0,3,7,0,7,10,0,10,9,6,10,7,-1,-1,-1,-1,7,6,10,7,10,8,8,10,9,-1,-1,-1,-1,-1,-1,-1,6,8,4,11,8,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,6,11,3,0,6,0,4,6,-1,-1,-1,-1,-1,-1,-1,8,6,11,8,4,6,9,0,1,-1,-1,-1,-1,-1,-1,-1,9,4,6,9,6,3,9,3,1,11,3,6,-1,-1,-1,-1,6,8,4,6,11,8,2,10,1,-1,-1,-1,
+-1,-1,-1,-1,1,2,10,3,0,11,0,6,11,0,4,6,-1,-1,-1,-1,4,11,8,4,6,11,0,2,9,2,10,9,-1,-1,-1,-1,10,9,3,10,3,2,9,4,3,11,3,6,4,6,3,-1,8,2,3,8,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,0,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,4,2,4,6,4,3,8,-1,-1,-1,-1,1,9,4,1,4,2,2,4,6,-1,-1,-1,-1,-1,-1,-1,8,1,3,8,6,1,8,4,6,6,10,1,-1,-1,-1,-1,10,1,0,10,0,6,6,0,4,-1,-1,-1,-1,-1,-1,-1,4,6,3,4,3,8,6,10,3,0,3,9,10,9,3,-1,10,9,4,6,10,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,5,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,5,11,7,6,
+-1,-1,-1,-1,-1,-1,-1,5,0,1,5,4,0,7,6,11,-1,-1,-1,-1,-1,-1,-1,11,7,6,8,3,4,3,5,4,3,1,5,-1,-1,-1,-1,9,5,4,10,1,2,7,6,11,-1,-1,-1,-1,-1,-1,-1,6,11,7,1,2,10,0,8,3,4,9,5,-1,-1,-1,-1,7,6,11,5,4,10,4,2,10,4,0,2,-1,-1,-1,-1,3,4,8,3,5,4,3,2,5,10,5,2,11,7,6,-1,7,2,3,7,6,2,5,4,9,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,6,0,6,2,6,8,7,-1,-1,-1,-1,3,6,2,3,7,6,1,5,0,5,4,0,-1,-1,-1,-1,6,2,8,6,8,7,2,1,8,4,8,5,1,5,8,-1,9,5,4,10,1,6,1,7,6,1,3,7,-1,-1,-1,-1,1,6,10,1,7,6,1,0,7,8,7,0,9,5,4,-1,4,0,10,4,10,5,0,3,10,6,10,7,3,7,10,
+-1,7,6,10,7,10,8,5,4,10,4,8,10,-1,-1,-1,-1,6,9,5,6,11,9,11,8,9,-1,-1,-1,-1,-1,-1,-1,3,6,11,0,6,3,0,5,6,0,9,5,-1,-1,-1,-1,0,11,8,0,5,11,0,1,5,5,6,11,-1,-1,-1,-1,6,11,3,6,3,5,5,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,11,9,11,8,11,5,6,-1,-1,-1,-1,0,11,3,0,6,11,0,9,6,5,6,9,1,2,10,-1,11,8,5,11,5,6,8,0,5,10,5,2,0,2,5,-1,6,11,3,6,3,5,2,10,3,10,5,3,-1,-1,-1,-1,5,8,9,5,2,8,5,6,2,3,8,2,-1,-1,-1,-1,9,5,6,9,6,0,0,6,2,-1,-1,-1,-1,-1,-1,-1,1,5,8,1,8,0,5,6,8,3,8,2,6,2,8,-1,1,5,6,2,1,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+1,3,6,1,6,10,3,8,6,5,6,9,8,9,6,-1,10,1,0,10,0,6,9,5,0,5,6,0,-1,-1,-1,-1,0,3,8,5,6,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,5,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,7,5,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,11,7,5,8,3,0,-1,-1,-1,-1,-1,-1,-1,5,11,7,5,10,11,1,9,0,-1,-1,-1,-1,-1,-1,-1,10,7,5,10,11,7,9,8,1,8,3,1,-1,-1,-1,-1,11,1,2,11,7,1,7,5,1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,7,1,7,5,7,2,11,-1,-1,-1,-1,9,7,5,9,2,7,9,0,2,2,11,7,-1,-1,-1,-1,7,5,2,7,2,11,5,9,2,3,2,8,9,8,2,-1,2,5,10,2,3,5,3,7,5,-1,-1,
+-1,-1,-1,-1,-1,8,2,0,8,5,2,8,7,5,10,2,5,-1,-1,-1,-1,9,0,1,5,10,3,5,3,7,3,10,2,-1,-1,-1,-1,9,8,2,9,2,1,8,7,2,10,2,5,7,5,2,-1,1,3,5,3,7,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,7,0,7,1,1,7,5,-1,-1,-1,-1,-1,-1,-1,9,0,3,9,3,5,5,3,7,-1,-1,-1,-1,-1,-1,-1,9,8,7,5,9,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,8,4,5,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,5,0,4,5,11,0,5,10,11,11,3,0,-1,-1,-1,-1,0,1,9,8,4,10,8,10,11,10,4,5,-1,-1,-1,-1,10,11,4,10,4,5,11,3,4,9,4,1,3,1,4,-1,2,5,1,2,8,5,2,11,8,4,5,8,-1,-1,-1,-1,0,4,11,0,11,3,4,5,11,
+2,11,1,5,1,11,-1,0,2,5,0,5,9,2,11,5,4,5,8,11,8,5,-1,9,4,5,2,11,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,5,10,3,5,2,3,4,5,3,8,4,-1,-1,-1,-1,5,10,2,5,2,4,4,2,0,-1,-1,-1,-1,-1,-1,-1,3,10,2,3,5,10,3,8,5,4,5,8,0,1,9,-1,5,10,2,5,2,4,1,9,2,9,4,2,-1,-1,-1,-1,8,4,5,8,5,3,3,5,1,-1,-1,-1,-1,-1,-1,-1,0,4,5,1,0,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,5,8,5,3,9,0,5,0,3,5,-1,-1,-1,-1,9,4,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,11,7,4,9,11,9,10,11,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,7,9,11,7,9,10,11,-1,-1,-1,-1,1,10,11,1,11,
+4,1,4,0,7,4,11,-1,-1,-1,-1,3,1,4,3,4,8,1,10,4,7,4,11,10,11,4,-1,4,11,7,9,11,4,9,2,11,9,1,2,-1,-1,-1,-1,9,7,4,9,11,7,9,1,11,2,11,1,0,8,3,-1,11,7,4,11,4,2,2,4,0,-1,-1,-1,-1,-1,-1,-1,11,7,4,11,4,2,8,3,4,3,2,4,-1,-1,-1,-1,2,9,10,2,7,9,2,3,7,7,4,9,-1,-1,-1,-1,9,10,7,9,7,4,10,2,7,8,7,0,2,0,7,-1,3,7,10,3,10,2,7,4,10,1,10,0,4,0,10,-1,1,10,2,8,7,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,7,1,3,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,0,8,1,8,7,1,-1,-1,-1,-1,4,0,3,7,4,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,8,7,-1,-1,-1,
+-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,11,9,10,-1,-1,-1,-1,-1,-1,-1,0,1,10,0,10,8,8,10,11,-1,-1,-1,-1,-1,-1,-1,3,1,10,11,3,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,11,1,11,9,9,11,8,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,1,2,9,2,11,9,-1,-1,-1,-1,0,2,11,8,0,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,10,8,9,-1,-1,-1,-1,-1,-1,-1,9,10,2,0,9,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,0,1,8,1,10,8,-1,-1,-1,-1,1,10,
+2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,8,9,1,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,9,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,3,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);
+THREE.Trident=function(b){function c(c){return new THREE.Mesh(new THREE.CylinderGeometry(30,0.1,b.length/20,b.length/5),new THREE.MeshBasicMaterial({color:c}))}function e(b,c){var e=new THREE.Geometry;e.vertices=[new THREE.Vertex,new THREE.Vertex(b)];return new THREE.Line(e,new THREE.LineBasicMaterial({color:c}))}THREE.Object3D.call(this);var f=Math.PI/2,h,b=b||THREE.Trident.defaultParams;if(b!==THREE.Trident.defaultParams)for(h in THREE.Trident.defaultParams)b.hasOwnProperty(h)||(b[h]=THREE.Trident.defaultParams[h]);
+this.scale=new THREE.Vector3(b.scale,b.scale,b.scale);this.addChild(e(new THREE.Vector3(b.length,0,0),b.xAxisColor));this.addChild(e(new THREE.Vector3(0,b.length,0),b.yAxisColor));this.addChild(e(new THREE.Vector3(0,0,b.length),b.zAxisColor));if(b.showArrows)h=c(b.xAxisColor),h.rotation.y=-f,h.position.x=b.length,this.addChild(h),h=c(b.yAxisColor),h.rotation.x=f,h.position.y=b.length,this.addChild(h),h=c(b.zAxisColor),h.rotation.y=Math.PI,h.position.z=b.length,this.addChild(h)};
+THREE.Trident.prototype=new THREE.Object3D;THREE.Trident.prototype.constructor=THREE.Trident;THREE.Trident.defaultParams={xAxisColor:16711680,yAxisColor:65280,zAxisColor:255,showArrows:!0,length:100,scale:1};THREE.PlaneCollider=function(b,c){this.point=b;this.normal=c};THREE.SphereCollider=function(b,c){this.center=b;this.radius=c;this.radiusSq=c*c};THREE.BoxCollider=function(b,c){this.min=b;this.max=c;this.dynamic=!0;this.normal=new THREE.Vector3};
+THREE.MeshCollider=function(b,c){this.mesh=b;this.box=c;this.numFaces=this.mesh.geometry.faces.length;this.normal=new THREE.Vector3};THREE.CollisionSystem=function(){this.collisionNormal=new THREE.Vector3;this.colliders=[];this.hits=[]};THREE.Collisions=new THREE.CollisionSystem;THREE.CollisionSystem.prototype.merge=function(b){this.colliders=this.colliders.concat(b.colliders);this.hits=this.hits.concat(b.hits)};
+THREE.CollisionSystem.prototype.rayCastAll=function(b){b.direction.normalize();this.hits.length=0;var c,e,f,h,m=0;c=0;for(e=this.colliders.length;c<e;c++)if(h=this.colliders[c],f=this.rayCast(b,h),f<Number.MAX_VALUE)h.distance=f,f>m?this.hits.push(h):this.hits.unshift(h),m=f;return this.hits};
+THREE.CollisionSystem.prototype.rayCastNearest=function(b){var c=this.rayCastAll(b);if(c.length==0)return null;for(var e=0;c[e]instanceof THREE.MeshCollider;){var f=this.rayMesh(b,c[e]);if(f.dist<Number.MAX_VALUE){c[e].distance=f.dist;c[e].faceIndex=f.faceIndex;break}e++}if(e>c.length)return null;return c[e]};
+THREE.CollisionSystem.prototype.rayCast=function(b,c){if(c instanceof THREE.PlaneCollider)return this.rayPlane(b,c);else if(c instanceof THREE.SphereCollider)return this.raySphere(b,c);else if(c instanceof THREE.BoxCollider)return this.rayBox(b,c);else if(c instanceof THREE.MeshCollider&&c.box)return this.rayBox(b,c.box)};
+THREE.CollisionSystem.prototype.rayMesh=function(b,c){for(var e=this.makeRayLocal(b,c.mesh),f=Number.MAX_VALUE,h,m=0;m<c.numFaces;m++){var k=c.mesh.geometry.faces[m],n=c.mesh.geometry.vertices[k.a].position,u=c.mesh.geometry.vertices[k.b].position,p=c.mesh.geometry.vertices[k.c].position,v=k instanceof THREE.Face4?c.mesh.geometry.vertices[k.d].position:null;k instanceof THREE.Face3?(k=this.rayTriangle(e,n,u,p,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize())):
+k instanceof THREE.Face4&&(k=this.rayTriangle(e,n,u,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()),k=this.rayTriangle(e,u,p,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()))}return{dist:f,faceIndex:h}};
+THREE.CollisionSystem.prototype.rayTriangle=function(b,c,e,f,h,m,k){var n=THREE.CollisionSystem.__v1,u=THREE.CollisionSystem.__v2;m.set(0,0,0);n.sub(e,c);u.sub(f,e);m.cross(n,u);n=m.dot(b.direction);if(!(n<0))if(k.doubleSided||k.flipSided)m.multiplyScalar(-1),n*=-1;else return Number.MAX_VALUE;k=m.dot(c)-m.dot(b.origin);if(!(k<=0))return Number.MAX_VALUE;if(!(k>=n*h))return Number.MAX_VALUE;k/=n;n=THREE.CollisionSystem.__v3;n.copy(b.direction);n.multiplyScalar(k);n.addSelf(b.origin);Math.abs(m.x)>
+Math.abs(m.y)?Math.abs(m.x)>Math.abs(m.z)?(b=n.y-c.y,m=e.y-c.y,h=f.y-c.y,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y):Math.abs(m.y)>Math.abs(m.z)?(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y);c=m*f-e*h;if(c==0)return Number.MAX_VALUE;c=1/c;f=(b*f-n*h)*c;if(!(f>=0))return Number.MAX_VALUE;c*=m*n-e*b;if(!(c>=0))return Number.MAX_VALUE;if(!(1-f-c>=0))return Number.MAX_VALUE;return k};
+THREE.CollisionSystem.prototype.makeRayLocal=function(b,c){var e=THREE.CollisionSystem.__m;THREE.Matrix4.makeInvert(c.matrixWorld,e);var f=THREE.CollisionSystem.__r;f.origin.copy(b.origin);f.direction.copy(b.direction);e.multiplyVector3(f.origin);e.rotateAxis(f.direction);f.direction.normalize();return f};
+THREE.CollisionSystem.prototype.rayBox=function(b,c){var e;c.dynamic&&c.mesh&&c.mesh.matrixWorld?e=this.makeRayLocal(b,c.mesh):(e=THREE.CollisionSystem.__r,e.origin.copy(b.origin),e.direction.copy(b.direction));var f=0,h=0,m=0,k=0,n=0,u=0,p=!0;e.origin.x<c.min.x?(f=c.min.x-e.origin.x,f/=e.direction.x,p=!1,k=-1):e.origin.x>c.max.x&&(f=c.max.x-e.origin.x,f/=e.direction.x,p=!1,k=1);e.origin.y<c.min.y?(h=c.min.y-e.origin.y,h/=e.direction.y,p=!1,n=-1):e.origin.y>c.max.y&&(h=c.max.y-e.origin.y,h/=e.direction.y,
+p=!1,n=1);e.origin.z<c.min.z?(m=c.min.z-e.origin.z,m/=e.direction.z,p=!1,u=-1):e.origin.z>c.max.z&&(m=c.max.z-e.origin.z,m/=e.direction.z,p=!1,u=1);if(p)return-1;p=0;h>f&&(p=1,f=h);m>f&&(p=2,f=m);switch(p){case 0:n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(k,0,0);break;case 1:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*
+f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(0,n,0);break;case 2:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;c.normal.set(0,0,u)}return f};THREE.CollisionSystem.prototype.rayPlane=function(b,c){var e=b.direction.dot(c.normal),f=c.point.dot(c.normal);if(e<0)e=(f-b.origin.dot(c.normal))/e;else return Number.MAX_VALUE;return e>0?e:Number.MAX_VALUE};
+THREE.CollisionSystem.prototype.raySphere=function(b,c){var e=c.center.clone().subSelf(b.origin);if(e.lengthSq<c.radiusSq)return-1;var f=e.dot(b.direction.clone());if(f<=0)return Number.MAX_VALUE;e=c.radiusSq-(e.lengthSq()-f*f);if(e>=0)return Math.abs(f)-Math.sqrt(e);return Number.MAX_VALUE};THREE.CollisionSystem.__v1=new THREE.Vector3;THREE.CollisionSystem.__v2=new THREE.Vector3;THREE.CollisionSystem.__v3=new THREE.Vector3;THREE.CollisionSystem.__nr=new THREE.Vector3;THREE.CollisionSystem.__m=new THREE.Matrix4;
+THREE.CollisionSystem.__r=new THREE.Ray;THREE.CollisionUtils={};THREE.CollisionUtils.MeshOBB=function(b){b.geometry.computeBoundingBox();var c=b.geometry.boundingBox,e=new THREE.Vector3(c.x[0],c.y[0],c.z[0]),c=new THREE.Vector3(c.x[1],c.y[1],c.z[1]),e=new THREE.BoxCollider(e,c);e.mesh=b;return e};THREE.CollisionUtils.MeshAABB=function(b){var c=THREE.CollisionUtils.MeshOBB(b);c.min.addSelf(b.position);c.max.addSelf(b.position);c.dynamic=!1;return c};
+THREE.CollisionUtils.MeshColliderWBox=function(b){return new THREE.MeshCollider(b,THREE.CollisionUtils.MeshOBB(b))};
+if(THREE.WebGLRenderer)THREE.AnaglyphWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);var c=this,e=this.setSize,f=this.render,h=new THREE.Camera,m=new THREE.Camera,k=new THREE.Matrix4,n=new THREE.Matrix4,u,p,v;h.useTarget=m.useTarget=!1;h.matrixAutoUpdate=m.matrixAutoUpdate=!1;var b={minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat},t=new THREE.WebGLRenderTarget(512,512,b),x=new THREE.WebGLRenderTarget(512,512,b),w=new THREE.Camera(53,1,1,1E4);w.position.z=
+2;_material=new THREE.MeshShaderMaterial({uniforms:{mapLeft:{type:"t",value:0,texture:t},mapRight:{type:"t",value:1,texture:x}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, 1.0 - uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D mapLeft;\nuniform sampler2D mapRight;\nvarying vec2 vUv;\nvoid main() {\nvec4 colorL, colorR;\nvec2 uv = vUv;\ncolorL = texture2D( mapLeft, uv );\ncolorR = texture2D( mapRight, uv );\ngl_FragColor = vec4( colorL.g * 0.7 + colorL.b * 0.3, colorR.g, colorR.b, colorL.a + colorR.a ) * 1.1;\n}"});
+var z=new THREE.Scene;z.addObject(new THREE.Mesh(new THREE.PlaneGeometry(2,2),_material));this.setSize=function(b,f){e.call(c,b,f);t.width=b;t.height=f;x.width=b;x.height=f};this.render=function(b,e){e.update(null,!0);if(u!==e.aspect||p!==e.near||v!==e.fov){u=e.aspect;p=e.near;v=e.fov;var D=e.projectionMatrix.clone(),G=125/30*0.5,H=G*p/125,E=p*Math.tan(v*Math.PI/360),N;k.n14=G;n.n14=-G;G=-E*u+H;N=E*u+H;D.n11=2*p/(N-G);D.n13=(N+G)/(N-G);h.projectionMatrix=D.clone();G=-E*u-H;N=E*u-H;D.n11=2*p/(N-G);
+D.n13=(N+G)/(N-G);m.projectionMatrix=D.clone()}h.matrix=e.matrixWorld.clone().multiplySelf(n);h.update(null,!0);h.position.copy(e.position);h.near=p;h.far=e.far;f.call(c,b,h,t,!0);m.matrix=e.matrixWorld.clone().multiplySelf(k);m.update(null,!0);m.position.copy(e.position);m.near=p;m.far=e.far;f.call(c,b,m,x,!0);f.call(c,z,w)}};
+if(THREE.WebGLRenderer)THREE.CrosseyedWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);this.autoClear=!1;var c=this,e=this.setSize,f=this.render,h,m,k=new THREE.Camera,n=new THREE.Camera;c.separation=10;if(b&&b.separation!==void 0)c.separation=b.separation;(new THREE.Camera(53,window.innerWidth/2/window.innerHeight,1,1E4)).position.z=-10;this.setSize=function(b,f){e.call(c,b,f);h=b/2;m=f};this.render=function(b,e){this.clear();k.fov=e.fov;k.aspect=0.5*e.aspect;k.near=e.near;k.far=e.far;
+k.updateProjectionMatrix();k.position.copy(e.position);k.target.position.copy(e.target.position);k.translateX(c.separation);n.projectionMatrix=k.projectionMatrix;n.position.copy(e.position);n.target.position.copy(e.target.position);n.translateX(-c.separation);this.setViewport(0,0,h,m);f.call(c,b,k);this.setViewport(h,0,h,m);f.call(c,b,n,!1)}};
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/a-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/a-green.css
new file mode 100644
index 00000000000..b0dbb071d5b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/a-green.css
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/animations.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/animations.css
new file mode 100644
index 00000000000..44e3ad9cbde
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/animations.css
@@ -0,0 +1,80 @@
+/* Duration classes */
+
+.once {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: 1;
+}
+
+.infinite {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+}
+
+.infinite-reversed {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+.fast {
+ animation-duration: 0.5s;
+}
+
+/* Animation declarations */
+
+@keyframes pulse {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0.25;
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotateY(0);
+ }
+ to {
+ transform: rotateY(360deg);
+ }
+}
+
+@keyframes rotate {
+ from {
+ transform: rotateZ(45deg);
+ }
+ to {
+ transform: rotateZ(405deg);
+ }
+}
+
+@keyframes slant {
+ from {
+ transform: rotate3d(0.23, 1.2, 0.83, 40deg);
+ }
+ to {
+ transform: rotate3d(1, 0.75, 1.3, 240deg);
+ }
+}
+
+/* Animation classes */
+
+.pulse {
+ animation-name: pulse;
+}
+
+.spin {
+ animation-name: spin;
+}
+
+.rotate {
+ animation-name: rotate;
+}
+
+.slant {
+ animation-name: slant;
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/b-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/b-green.css
new file mode 100644
index 00000000000..a0473f5ca26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/b-green.css
@@ -0,0 +1 @@
+.b { color: green; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.mp4 b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.mp4
new file mode 100644
index 00000000000..0512bb92cdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.mp4
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.ogv b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.ogv
new file mode 100644
index 00000000000..4f964f107c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.ogv
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.webm b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.webm
new file mode 100644
index 00000000000..7f75126a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/big-buck-bunny-240p.webm
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/c-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/c-red.css
new file mode 100644
index 00000000000..d4ba5c64e95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/c-red.css
@@ -0,0 +1 @@
+.c { color: red; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/cat.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/cat.png
new file mode 100644
index 00000000000..85dd7324815
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/cat.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-green.css
new file mode 100644
index 00000000000..537104e6633
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-green.css
@@ -0,0 +1 @@
+.import { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-red.css
new file mode 100644
index 00000000000..9945ef47114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/import-red.css
@@ -0,0 +1 @@
+.import { color: red; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-gg-gr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-gg-gr.png
new file mode 100644
index 00000000000..a6d65b0d4a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-gg-gr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rgr-grg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rgr-grg.png
new file mode 100644
index 00000000000..9b88fbd8114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rgr-grg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rrg-rgg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rrg-rgg.png
new file mode 100644
index 00000000000..fcf4f3fd7d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-grg-rrg-rgg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-rgr-grg-rgr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-rgr-grg-rgr.png
new file mode 100644
index 00000000000..d454e3a630c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-rgr-grg-rgr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-tr.png
new file mode 100644
index 00000000000..8b4b25364e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/pattern-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50%.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50%.png
new file mode 100644
index 00000000000..cf2eea6b438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50%.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50px.png
new file mode 100644
index 00000000000..9f46583665c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-h-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-100px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-100px.png
new file mode 100644
index 00000000000..a837eca2225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-100px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-50px.png
new file mode 100644
index 00000000000..84141028020
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/ruler-v-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-purple.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-purple.png
new file mode 100644
index 00000000000..0f522d78728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-purple.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-teal.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-teal.png
new file mode 100644
index 00000000000..e567f51b91b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-teal.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-white.png
new file mode 100644
index 00000000000..5853cbb238c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/square-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/static-cube.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/static-cube.js
new file mode 100644
index 00000000000..10b045301c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/static-cube.js
@@ -0,0 +1,52 @@
+// This source is the javascript needed to build a simple moving
+// cube in **three.js** based on this
+// [example](https://raw.github.com/mrdoob/three.js/r44/examples/canvas_geometry_cube.html)
+// It is the source about this [blog post](/blog/2011/08/06/lets-do-a-cube/).
+
+// ## Now lets start
+
+// declare a bunch of variable we will need later
+var container;
+var camera, scene, renderer;
+var cube;
+
+// ## Initialize everything
+function init() {
+ // create the camera
+ camera = new THREE.Camera( 70, 4/3, 100, 1000 );
+ camera.position.z = 350;
+
+ // create the Scene
+ scene = new THREE.Scene();
+
+ // create the Cube
+ cube = new THREE.Mesh( new THREE.CubeGeometry( 200, 200, 200 ), new THREE.MeshNormalMaterial() );
+
+ // add the object to the scene
+ scene.addObject( cube );
+
+ // create the container element
+ container = document.querySelector("#container");
+
+ // init the WebGL renderer and append it to the Dom
+ renderer = new THREE.WebGLRenderer();
+ renderer.setSize( container.getBoundingClientRect().width, container.getBoundingClientRect().height );
+ container.appendChild( renderer.domElement );
+}
+
+
+// ## Render the 3D Scene
+function render() {
+ // animate the cube
+ cube.rotation.x = 0.5;
+ cube.rotation.y = 0.8;
+ cube.rotation.z = 0.2;
+
+ // actually display the scene in the DOM element
+ renderer.render( scene, camera );
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ init();
+ render();
+}) \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/support/README b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/support/README
new file mode 100644
index 00000000000..ea8cb9ef357
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/support/README
@@ -0,0 +1,4 @@
+The swatch-green.png file in this directory is really a RED swatch,
+and the swatch-red.png file is really a green swatch.
+
+This directory is used to test relative URIs. \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/svg-external-styles.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/svg-external-styles.css
new file mode 100644
index 00000000000..22978f89b04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/svg-external-styles.css
@@ -0,0 +1,19 @@
+.rotate {
+ transform: rotate(90deg);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+}
+
+.translateY {
+ transform: translateY(-100px);
+}
+
+.invalid {
+ transform: scale(invalid);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-blue.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-blue.png
new file mode 100644
index 00000000000..bf2759634d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-blue.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-green.png
new file mode 100644
index 00000000000..0aa79b0c86b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-lime.png
new file mode 100644
index 00000000000..55fd7fdaedf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-orange.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-orange.png
new file mode 100644
index 00000000000..d3cd498b52b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-orange.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-red.png
new file mode 100644
index 00000000000..1caf25c992a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-white.png
new file mode 100644
index 00000000000..1a7d4323d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-yellow.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-yellow.png
new file mode 100644
index 00000000000..1591aa0e2e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/swatch-yellow.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-bl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-bl.png
new file mode 100644
index 00000000000..904e24e996a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-bl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-br.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-br.png
new file mode 100644
index 00000000000..f413ff5c1a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-br.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-inner-half-size.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-inner-half-size.png
new file mode 100644
index 00000000000..e473bf80efc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-inner-half-size.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-outer.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-outer.png
new file mode 100644
index 00000000000..82eeace7fc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-outer.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tl.png
new file mode 100644
index 00000000000..f6ac0ef7e8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tr.png
new file mode 100644
index 00000000000..59843ae54b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/test-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-iframe-001-contents.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-iframe-001-contents.html
new file mode 100644
index 00000000000..deb104be2f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-iframe-001-contents.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Iframe (contents)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ height: 200px;
+ width: 200px;
+ background: red;
+ transform: translate(500px, 500px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.png
new file mode 100644
index 00000000000..8f939993332
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.svg
new file mode 100644
index 00000000000..8f759c959c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-lime-square.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<rect fill="lime" height="100" width="100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-down.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-down.svg
new file mode 100644
index 00000000000..5fb4ad826b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-down.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 100,0 50,100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left-small.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left-small.svg
new file mode 100644
index 00000000000..855b566133c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left-small.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="50px" width="50px" viewBox="0 0 50 50">
+<polygon fill="blue" points="0,25 50,50 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left.svg
new file mode 100644
index 00000000000..48c24e1d9e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,50 100,100 100,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-right.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-right.svg
new file mode 100644
index 00000000000..dd056a9ff78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 0,100 100,50"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-up.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-up.svg
new file mode 100644
index 00000000000..b3cecc986df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/support/transform-triangle-up.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,100 100,100 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-001.xht
new file mode 100644
index 00000000000..b590f6ab531
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-002.xht
new file mode 100644
index 00000000000..b6279adb330
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-002.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: translateY(-100px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="scale(0.5)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-003.xht
new file mode 100644
index 00000000000..f2e2598b895
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-003.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-004.xht
new file mode 100644
index 00000000000..44e638c1c62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-004.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(0.5)" class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-005.xht
new file mode 100644
index 00000000000..7daffacd655
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-005.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid document transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-006.xht
new file mode 100644
index 00000000000..579a268f070
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-006.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="translateY(-100)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-007.xht
new file mode 100644
index 00000000000..a1f35e3993b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-007.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-008.xht
new file mode 100644
index 00000000000..bdf34e322a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-008.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="scale(invalid)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-009.xht
new file mode 100644
index 00000000000..991a60f581d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-009.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="testGroup">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-010.xht
new file mode 100644
index 00000000000..8bc46875645
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-010.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)" class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-011.xht
new file mode 100644
index 00000000000..c1daa121753
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-011.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(invalid)" class="testGroup">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-012.xht
new file mode 100644
index 00000000000..e35c35d5fdb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-012.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Document style of rotate with three arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: rotate(90deg,20px,20px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="testRect" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-013.xht
new file mode 100644
index 00000000000..a3682f79b60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-013.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="testRect" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-014.xht
new file mode 100644
index 00000000000..af312ec1442
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-document-styles-014.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Invalid document and presentation attribute styles on an SVG element using rotate with three arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="rotate(90deg,invalid,invalid)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-001.xht
new file mode 100644
index 00000000000..7f25c0127d3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-001.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="rotate" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-002.xht
new file mode 100644
index 00000000000..95ce2788b6d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-002.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="scale(0.5)" fill="url(#grad)" class="translateY" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-003.xht
new file mode 100644
index 00000000000..7fbc4f9beed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-003.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="rotate">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-004.xht
new file mode 100644
index 00000000000..3bfcbbbfe56
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-004.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(0.5)" class="rotate">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-005.xht
new file mode 100644
index 00000000000..a80b8f07e37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-005.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid external transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="invalid" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-006.xht
new file mode 100644
index 00000000000..deb5dd9130b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-006.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="translateY(-100)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-007.xht
new file mode 100644
index 00000000000..c287fa6df71
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-007.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" y="-100" class="invalid" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-008.xht
new file mode 100644
index 00000000000..0632c68e534
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-008.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="scale(invalid)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-009.xht
new file mode 100644
index 00000000000..5c13c4d8348
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-009.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="invalid">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-010.xht
new file mode 100644
index 00000000000..9dd58005baf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-010.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)" class="invalid">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-011.xht
new file mode 100644
index 00000000000..2cbf12d4a85
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(invalid)" class="invalid">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-012.xht
new file mode 100644
index 00000000000..94be10fa830
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-012.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: External style of rotate with three arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="rotate-3-args" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-013.xht
new file mode 100644
index 00000000000..c0a3afad159
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-013.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="invalid" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-014.xht
new file mode 100644
index 00000000000..9a147da6576
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-external-styles-014.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Invalid external and presentation attribute styles on an SVG element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="rotate(90deg,)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-001.xht
new file mode 100644
index 00000000000..b2463422a2e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(50)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-002.xht
new file mode 100644
index 00000000000..f850f71300d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-002.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(25px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-003.xht
new file mode 100644
index 00000000000..9009a4188de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-003.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(18.75pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-004.xht
new file mode 100644
index 00000000000..2e238102998
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-004.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1.5625pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-005.xht
new file mode 100644
index 00000000000..334c3787a09
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-005.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(6.614583333mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-006.xht
new file mode 100644
index 00000000000..9f1b8c4904e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-006.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.661458333cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-007.xht
new file mode 100644
index 00000000000..789dfe01498
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-007.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.260416667in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-008.xht
new file mode 100644
index 00000000000..ad552469a62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-008.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-009.xht
new file mode 100644
index 00000000000..ae5bfebe9fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-009.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.5e1)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-010.xht
new file mode 100644
index 00000000000..1f8d4bf38f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.5e1px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-011.xht
new file mode 100644
index 00000000000..3755cb039e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1.875e1pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-012.xht
new file mode 100644
index 00000000000..08527d80f49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.15625e1pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-013.xht
new file mode 100644
index 00000000000..6b3c51a9b35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-013.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.6614583333e1mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-014.xht
new file mode 100644
index 00000000000..09e9449e075
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.0661458333e1cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-015.xht
new file mode 100644
index 00000000000..0fe920e6a75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-015.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.0260416667e1in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-016.xht
new file mode 100644
index 00000000000..68ad3eab4d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-016.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.1e1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-017.xht
new file mode 100644
index 00000000000..d4340f1f857
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-017.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(250e-1)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-018.xht
new file mode 100644
index 00000000000..eda2fb931cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-018.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(250e-1px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-019.xht
new file mode 100644
index 00000000000..4a5a12b64ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-019.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(187.5e-1pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-020.xht
new file mode 100644
index 00000000000..c22d489a536
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-020.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(15.625e-1pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-021.xht
new file mode 100644
index 00000000000..adec239f7bf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-021.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(66.14583333e-1mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-022.xht
new file mode 100644
index 00000000000..debec239480
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-022.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(6.61458333e-1cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-023.xht
new file mode 100644
index 00000000000..757b1c617aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-023.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.60416667e-1in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-024.xht
new file mode 100644
index 00000000000..afb14c5ee04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-024.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(10e-1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-025.xht
new file mode 100644
index 00000000000..f06107c2751
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-025.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-026.xht
new file mode 100644
index 00000000000..dcd4e49eb11
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-026.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-027.xht
new file mode 100644
index 00000000000..a2aa8602a1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-027.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-18.75pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-028.xht
new file mode 100644
index 00000000000..dc4a419fec5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-028.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1.5625pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-029.xht
new file mode 100644
index 00000000000..52e0dd4efea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-029.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-6.614583333mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-030.xht
new file mode 100644
index 00000000000..3c6be3208b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-030.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.661458333cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-031.xht
new file mode 100644
index 00000000000..f955df593bf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-031.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.260416667in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-032.xht
new file mode 100644
index 00000000000..abd7b17af4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-032.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-033.xht
new file mode 100644
index 00000000000..03626801a32
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-033.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.5e1)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-034.xht
new file mode 100644
index 00000000000..2172dcfb9d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-034.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.5e1px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-035.xht
new file mode 100644
index 00000000000..9fb5ab7da7f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-035.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1.875e1pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-036.xht
new file mode 100644
index 00000000000..4da76b861e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-036.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.15625e1pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-037.xht
new file mode 100644
index 00000000000..981430b02a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-037.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.6614583333e1mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-038.xht
new file mode 100644
index 00000000000..ab8a8236766
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-038.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.0661458333e1cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-039.xht
new file mode 100644
index 00000000000..a949d89c9f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-039.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.0260416667e1in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-040.xht
new file mode 100644
index 00000000000..6c279355164
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-040.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.1e1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-041.xht
new file mode 100644
index 00000000000..379eedf066e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-041.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-250e-1)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-042.xht
new file mode 100644
index 00000000000..883c86c5dc3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-042.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-250e-1px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-043.xht
new file mode 100644
index 00000000000..74bcc2f033c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-043.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-187.5e-1pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-044.xht
new file mode 100644
index 00000000000..49678242023
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-044.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-15.625e-1pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-045.xht
new file mode 100644
index 00000000000..0ccd4db0338
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-045.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-66.14583333e-1mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-046.xht
new file mode 100644
index 00000000000..b3d9ff8872e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-046.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-6.61458333e-1cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-047.xht
new file mode 100644
index 00000000000..5b199fea56c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-047.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.60416667e-1in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-048.xht
new file mode 100644
index 00000000000..de56cd7e1f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-048.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-10e-1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-049.xht
new file mode 100644
index 00000000000..6386ded81ae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-049.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG transform presentation attribute on the gradient element - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-transform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar to the left of a vertical yellow bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" transform="translateX(50px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-001.xht
new file mode 100644
index 00000000000..8fc9f14f380
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient gradientUnits="userSpaceOnUse" gradientTransform="translateX(50px) translateX(50px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-002.xht
new file mode 100644
index 00000000000..92f649a9ffe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-002.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient gradientUnits="userSpaceOnUse" gradientTransform="translateX(50px) translateX(37.5pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-003.xht
new file mode 100644
index 00000000000..811b022485f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-combination-003.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient gradientTransform="translateX(150) translateX(-50)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-001.xht
new file mode 100644
index 00000000000..d39bf83ae5a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.2ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-002.xht
new file mode 100644
index 00000000000..ea9c10cf491
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.22e1ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-003.xht
new file mode 100644
index 00000000000..50f16c80d52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(22e-1ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-004.xht
new file mode 100644
index 00000000000..7b3e93e713e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-004.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.2ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-005.xht
new file mode 100644
index 00000000000..74f85d3e245
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-005.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.22e1ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-006.xht
new file mode 100644
index 00000000000..5e138494041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-ex-unit-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-22e-1ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-001.xht
new file mode 100644
index 00000000000..17fcf5e074a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(25%)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="blue" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-002.xht
new file mode 100644
index 00000000000..14046a28d26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-002.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25%)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="blue" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-003.xht
new file mode 100644
index 00000000000..04e70f963b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-gradientTransform-relative-003.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient x2="0%" y2="100%" gradientTransform="rotate(90, 0.5, 0.5) translateX(25%)" id="grad">
+ <stop stop-color="blue" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-001.xht
new file mode 100644
index 00000000000..6d10efe8b67
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: rotate(90)" y="-100" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-002.xht
new file mode 100644
index 00000000000..107a93974e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: translateY(-100)" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-003.xht
new file mode 100644
index 00000000000..189823bfd0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: rotate(90)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-004.xht
new file mode 100644
index 00000000000..acca805c484
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-004.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: rotate(90)" transform="scale(0.5)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-005.xht
new file mode 100644
index 00000000000..4df5fd94f93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid inline transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" y="-100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-006.xht
new file mode 100644
index 00000000000..b6d92e58947
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-007.xht
new file mode 100644
index 00000000000..ea6814dbb7e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: scale(invalid)" y="-100" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-008.xht
new file mode 100644
index 00000000000..076ec8e991a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped" name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-009.xht
new file mode 100644
index 00000000000..8c27a0f9619
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-009.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-010.xht
new file mode 100644
index 00000000000..91785861087
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-010.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)" transform="rotate(90)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-011.xht
new file mode 100644
index 00000000000..2fe45440618
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-011.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)" transform="scale(invalid)">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-012.xht
new file mode 100644
index 00000000000..893755ef7f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: rotate(90,20px,20px)" y="-60" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-013.xht
new file mode 100644
index 00000000000..5d5d68167b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-013.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" y="-60" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-014.xht
new file mode 100644
index 00000000000..1d7f35aa572
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-inline-styles-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated" name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="rotate(90deg,invalid,invalid)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-001.xht
new file mode 100644
index 00000000000..311aac978d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-001.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="blue" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 1 0 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-002.xht
new file mode 100644
index 00000000000..a6215a32197
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="blue" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 1 0 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-003.xht
new file mode 100644
index 00000000000..07b0ba0e4b4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="blue" x="50" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 2 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-004.xht
new file mode 100644
index 00000000000..295e1908cf0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-004.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="blue" x="50" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 0.5 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-005.xht
new file mode 100644
index 00000000000..8498026f2df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-005.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 600px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="fuchsia" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="yellow" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-006.xht
new file mode 100644
index 00000000000..0c79b58ff44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="fuchsia" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="yellow" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-007.xht
new file mode 100644
index 00000000000..b18f0e146c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="fuchsia" x="50" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-008.xht
new file mode 100644
index 00000000000..70cefa3c882
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-008.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="fuchsia" x="50" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-009.xht
new file mode 100644
index 00000000000..b34227d038d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-009.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="blue" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(0.2e1 0 0 0.2e1 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-010.xht
new file mode 100644
index 00000000000..e24285848d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-010.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="yellow" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="fuchsia" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-0.2e1 0 0 -0.2e1 100 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-011.xht
new file mode 100644
index 00000000000..a4685b8a41a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-011.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="blue" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(5e-1 0 0 5e-1 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-012.xht
new file mode 100644
index 00000000000..e63a90ad664
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-012.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-5e-1 0 0 -5e-1 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-013.xht
new file mode 100644
index 00000000000..8837c658e47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-013.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="blue" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 0.5 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-014.xht
new file mode 100644
index 00000000000..2b44ff7f2fc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-014.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="blue" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 2 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-015.xht
new file mode 100644
index 00000000000..d5e7315d6db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-015.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="yellow" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="green" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-016.xht
new file mode 100644
index 00000000000..a88f6c55fea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-016.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="fuchsia" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="green" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -2 100 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-017.xht
new file mode 100644
index 00000000000..083b5af6808
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-017.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="fuchsia" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-018.xht
new file mode 100644
index 00000000000..72d1b09a1ed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-018.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-019.xht
new file mode 100644
index 00000000000..1d681a06196
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-019.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="100"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-020.xht
new file mode 100644
index 00000000000..9eeac89aa7e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-020.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="fuchsia" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-021.xht
new file mode 100644
index 00000000000..b21aa1c166c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-021.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="25" fill="yellow" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="100"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-022.xht
new file mode 100644
index 00000000000..b8d869544a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-022.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="fuchsia" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-023.xht
new file mode 100644
index 00000000000..93575eaa8e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-023.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="100" fill="yellow" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="25"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-024.xht
new file mode 100644
index 00000000000..a01cf4d3198
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-024.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="25" fill="yellow" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-025.xht
new file mode 100644
index 00000000000..1f825bec1e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-025.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="yellow" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="blue" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-026.xht
new file mode 100644
index 00000000000..8fca87cd59a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-026.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="fuchsia" x="50" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-027.xht
new file mode 100644
index 00000000000..4b398ec388c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-027.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and up." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="50" fill="yellow" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -1 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-028.xht
new file mode 100644
index 00000000000..c729aba1546
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-028.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="fuchsia" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-029.xht
new file mode 100644
index 00000000000..5b560d39bbb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-029.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="yellow" x="25" height="50"></rect>
+ <rect y="0" width="25" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="green" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 -1 10e1 10e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-030.xht
new file mode 100644
index 00000000000..7dd77f5d4b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-030.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="fuchsia" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-031.xht
new file mode 100644
index 00000000000..6282a9d8baa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-031.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="yellow" x="100" height="50"></rect>
+ <rect y="0" width="100" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="green" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -1 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-032.xht
new file mode 100644
index 00000000000..0de430dfd89
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-032.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="50" fill="yellow" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="25"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-033.xht
new file mode 100644
index 00000000000..f44245b19be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-033.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="yellow" x="50" height="25"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="green" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -2 1000e-1 1000e-1)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-034.xht
new file mode 100644
index 00000000000..5dcd977ef1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-034.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="50" fill="yellow" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="100"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-035.xht
new file mode 100644
index 00000000000..59c6240b459
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-035.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and up scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="yellow" x="50" height="100"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="green" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-036.xht
new file mode 100644
index 00000000000..22733cb3898
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-036.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should skewed right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0 1 1 0 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-037.xht
new file mode 100644
index 00000000000..32046e2c25c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-037.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should skewed down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 1 0 1 100 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-038.xht
new file mode 100644
index 00000000000..6b8dd893bdd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-038.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed left horinzontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0 -1 1 100 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-039.xht
new file mode 100644
index 00000000000..2a0240ce7b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-039.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -1 0 1 50 100)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-040.xht
new file mode 100644
index 00000000000..441ab58c81b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-040.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -0.05e1 -0.05e1 1 100 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-041.xht
new file mode 100644
index 00000000000..acb3ee2d6b8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-041.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0.05e1 0.05e1 1 50 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-042.xht
new file mode 100644
index 00000000000..46137a8f457
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-042.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed down vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -0.5 0.5 1 50 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-043.xht
new file mode 100644
index 00000000000..9ff12da9569
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-043.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed up vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0.5 -0.5 1 100 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-044.xht
new file mode 100644
index 00000000000..f64b3d25813
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-044.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="red" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="red" x="50" height="50"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(2 0.5 0.5 2 50 0)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-045.xht
new file mode 100644
index 00000000000..00478af40dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-045.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="400" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="200" fill="red" x="200" height="200"></rect>
+ <rect y="200" width="200" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="green" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="200" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="400" y="-450" x="-450" fill="url(#coloredBoxes)" transform="matrix(0.75 -0.5 -0.5 0.75 190 150)" height="400"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-046.xht
new file mode 100644
index 00000000000..43a1f7462f4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-046.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="red" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="50"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-2 5e-1 5e-1 2 250 0)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-047.xht
new file mode 100644
index 00000000000..85519930075
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-047.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="400" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="200" fill="red" x="200" height="200"></rect>
+ <rect y="200" width="200" fill="green" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="200" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="400" height="400" fill="url(#coloredBoxes)" transform="matrix(0.5 -5e-1 0 -5e-1 250 100)" x="-450"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-048.xht
new file mode 100644
index 00000000000..9b09f6fbcca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-048.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="50" fill="green" x="50" height="200"></rect>
+ <rect y="200" width="50" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="50" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="50" fill="red" x="50" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-2 0.25 0.25 -0.5 200 200)" height="400"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-049.xht
new file mode 100644
index 00000000000..20d62c526b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-049.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas and no spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5,0,0,-0.5,100,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-050.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-050.xht
new file mode 100644
index 00000000000..3a0a3449312
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-050.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 ,0 ,0 ,-0.5 ,100 ,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-051.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-051.xht
new file mode 100644
index 00000000000..4ba36ab2ace
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-051.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5, 0, 0, -0.5, 100, 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-052.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-052.xht
new file mode 100644
index 00000000000..2782c6b9bf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-052.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 , 0 , 0 , -0.5 , 100 , 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-053.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-053.xht
new file mode 100644
index 00000000000..4180c9b661e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-053.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 ,0 ,0 ,-0.5 ,100 ,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-054.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-054.xht
new file mode 100644
index 00000000000..c073cfad5c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-054.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5, 0, 0, -0.5, 100, 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-055.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-055.xht
new file mode 100644
index 00000000000..2cc1ba71ad7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-055.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 , 0 , 0 , -0.5 , 100 , 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-056.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-056.xht
new file mode 100644
index 00000000000..850f04e6ba2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-056.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by multiple spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-057.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-057.xht
new file mode 100644
index 00000000000..7206c51ccf8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-057.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5,0 ,0, -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-058.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-058.xht
new file mode 100644
index 00000000000..9c9c434d151
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-058.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'a' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(50% 0 0 -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-059.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-059.xht
new file mode 100644
index 00000000000..638f827c2af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-059.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'b' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 45deg 0 -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-060.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-060.xht
new file mode 100644
index 00000000000..23a278ed9d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-060.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'c' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 50grad -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-061.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-061.xht
new file mode 100644
index 00000000000..b63523ac462
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-061.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'd' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 50% 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-062.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-062.xht
new file mode 100644
index 00000000000..210a1ec0039
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-062.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'e' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 0.5 100px 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-063.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-063.xht
new file mode 100644
index 00000000000..9be94710680
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-063.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'f' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 0.5 100 100pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-064.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-064.xht
new file mode 100644
index 00000000000..1d772c6cb97
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-064.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'a' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(50% 0 0 -0.5 100 100) translateX(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-065.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-065.xht
new file mode 100644
index 00000000000..ffe82e58685
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-065.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'b' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 45rad 0 -0.5 100 100) translateY(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-066.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-066.xht
new file mode 100644
index 00000000000..c69c78e936a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-066.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'c' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.125turn -0.5 100 100) translate(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-067.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-067.xht
new file mode 100644
index 00000000000..ea44eeb083f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-067.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'd' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 50% 100 100) scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-068.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-068.xht
new file mode 100644
index 00000000000..0d99b9c25ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-068.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'e' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 0.5 100pc 100) scaleX(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-069.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-069.xht
new file mode 100644
index 00000000000..185eb10fd2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-matrix-069.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'f' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 0.5 100 100mm) scaleY(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-001.xht
new file mode 100644
index 00000000000..cfc9500fdb8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="" transform="translate(100px, 0) rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-002.xht
new file mode 100644
index 00000000000..f733b8a69f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 0" transform="translate(100px, 0) rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-003.xht
new file mode 100644
index 00000000000..59158ce3ea6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 100px 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (100,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" x="100" transform-origin="100px 0" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-004.xht
new file mode 100644
index 00000000000..9c097bc9f5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 100px</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,100px) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 100px" transform="rotate(90deg) translateX(-100px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-005.xht
new file mode 100644
index 00000000000..cb505224ad0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 50px 50px</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (50px,50px) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="50px 50px" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-006.xht
new file mode 100644
index 00000000000..699011b7504
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-006.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 100px 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" x="100" transform-origin="100 0" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-007.xht
new file mode 100644
index 00000000000..c971a5bb975
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-007.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 100</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 100" transform="rotate(90deg) translateX(-100px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-008.xht
new file mode 100644
index 00000000000..e1e7df22f0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-008.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 50 50</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="50 50" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-001.xht
new file mode 100644
index 00000000000..4c7488ca20d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in cm - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="" transform="translate(2cm, 0) rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-002.xht
new file mode 100644
index 00000000000..042eaa79bcb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in cm - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="0 0" transform="translate(2cm, 0) rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-003.xht
new file mode 100644
index 00000000000..594af477ec0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 2cm 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (2cm,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" x="2cm" transform-origin="2cm 0" transform="rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-004.xht
new file mode 100644
index 00000000000..0eff7c39658
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 2cm</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,2cm) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="0 2cm" transform="rotate(90deg) translateX(-2cm)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-005.xht
new file mode 100644
index 00000000000..bf33c1240a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-cm-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 1cm 1cm</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (1cm,1cm) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="1cm 1cm" transform="rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-001.xht
new file mode 100644
index 00000000000..758f9c7d34a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in inch - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="" transform="translate(1.5in, 0) rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-002.xht
new file mode 100644
index 00000000000..242662dba6f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in inch - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0 0" transform="translate(1.5in, 0) rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-003.xht
new file mode 100644
index 00000000000..b5bf7bfc456
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 1.5in 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (1.5in,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" x="1.5in" transform-origin="1.5in 0" transform="rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-004.xht
new file mode 100644
index 00000000000..b0d324147f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 1.5in</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,1.5in) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0 1.5in" transform="rotate(90deg) translateX(-1.5in)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-005.xht
new file mode 100644
index 00000000000..2229bf71965
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-in-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0.75in 0.75in</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0.75in, 0.75in) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0.75in 0.75in" transform="rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-001.xht
new file mode 100644
index 00000000000..1f84b5595d2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in pt - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="" transform="translate(80pt, 0) rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-002.xht
new file mode 100644
index 00000000000..928873c4edb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in pt - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="0 0" transform="translate(80pt, 0) rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-003.xht
new file mode 100644
index 00000000000..2ab980fa244
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 80pt 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (80pt,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" x="80pt" transform-origin="80pt 0" transform="rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-004.xht
new file mode 100644
index 00000000000..cd5fb77a6e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 80pt</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,80pt) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="0 80pt" transform="rotate(90deg) translateX(-80pt)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-005.xht
new file mode 100644
index 00000000000..a021beb7099
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-length-pt-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 40pt 40pt</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (40pt,40pt) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="40pt 40pt" transform="rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-001.xht
new file mode 100644
index 00000000000..f1d878ff8f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value absolute value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-002.xht
new file mode 100644
index 00000000000..f4d6ea960ed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value 'center' value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-003.xht
new file mode 100644
index 00000000000..920b99e3daf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-003.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value '50%' value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-004.xht
new file mode 100644
index 00000000000..c4fde615f20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-005.xht
new file mode 100644
index 00000000000..541a9493c6d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-006.xht
new file mode 100644
index 00000000000..3ab9aac5974
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-007.xht
new file mode 100644
index 00000000000..7e5e101753c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-007.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-008.xht
new file mode 100644
index 00000000000..25d04b32a8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '75 center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75 center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-009.xht
new file mode 100644
index 00000000000..c12be1ca1d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-009.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '75 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-010.xht
new file mode 100644
index 00000000000..cd5fcb27d48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center 75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-011.xht
new file mode 100644
index 00000000000..cb562b7dee2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% 75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-012.xht
new file mode 100644
index 00000000000..66b35573aae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="0" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-013.xht
new file mode 100644
index 00000000000..a8128be033f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-013.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="150" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-014.xht
new file mode 100644
index 00000000000..0ce4c3cdb0a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="100%" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-015.xht
new file mode 100644
index 00000000000..2e62fd537fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-015.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-016.xht
new file mode 100644
index 00000000000..6b27242b768
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-016.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" x="75" transform-origin="left" transform="rotate(90deg) translate(-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-017.xht
new file mode 100644
index 00000000000..15eba814d03
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-017.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '25%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="25%" transform="rotate(90deg) translate(-37.5,-37.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-018.xht
new file mode 100644
index 00000000000..67f56961dd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-018.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top" transform="rotate(90deg) translate(75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-019.xht
new file mode 100644
index 00000000000..b6d5e14b07c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-019.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom" transform="rotate(90deg) translate(-75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-020.xht
new file mode 100644
index 00000000000..f8a60d5c1d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-020.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0% 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="0% 0%" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-021.xht
new file mode 100644
index 00000000000..cd0a1222d75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-021.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top right" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-022.xht
new file mode 100644
index 00000000000..9c487d16945
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-022.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top left" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-023.xht
new file mode 100644
index 00000000000..90bc533432c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-023.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-024.xht
new file mode 100644
index 00000000000..02124247d4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-024.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom left" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-025.xht
new file mode 100644
index 00000000000..f9773cbe0df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-025.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom center" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-026.xht
new file mode 100644
index 00000000000..f15f7656de4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-026.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom right" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-027.xht
new file mode 100644
index 00000000000..bf851e639ac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-027.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right top" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-028.xht
new file mode 100644
index 00000000000..ef7aa06cee6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-028.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right center" transform="rotate(90deg) translateY(150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-029.xht
new file mode 100644
index 00000000000..757fac9b78d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-029.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right bottom" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-030.xht
new file mode 100644
index 00000000000..9a7d0b45704
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-030.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 75" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-031.xht
new file mode 100644
index 00000000000..21d69ff068b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-031.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 0%" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-032.xht
new file mode 100644
index 00000000000..8c96e820a37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-032.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 100%" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-033.xht
new file mode 100644
index 00000000000..dd2ee7fbe19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-033.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left top" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-034.xht
new file mode 100644
index 00000000000..7f01a3cb874
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-034.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left center" transform="rotate(90deg) translateX(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-035.xht
new file mode 100644
index 00000000000..5ba6b3e7689
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-035.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left bottom" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-036.xht
new file mode 100644
index 00000000000..542bae08093
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-036.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 75" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-037.xht
new file mode 100644
index 00000000000..df795ff8dd2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-037.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 0%" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-038.xht
new file mode 100644
index 00000000000..09b51ce58c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-038.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 100%" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-039.xht
new file mode 100644
index 00000000000..18e906e0e52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-039.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center top" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-040.xht
new file mode 100644
index 00000000000..19c13c9404e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-040.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center bottom" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-041.xht
new file mode 100644
index 00000000000..00504623a1b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-041.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center left" transform="rotate(90deg) translateX(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-042.xht
new file mode 100644
index 00000000000..f18a89325e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-042.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center right" transform="rotate(90deg) translateY(150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-043.xht
new file mode 100644
index 00000000000..788f7134666
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-043.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 100%" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-044.xht
new file mode 100644
index 00000000000..cfb8f220ed6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-044.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0 center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="0 center" transform="rotate(90deg) translate(-225,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-045.xht
new file mode 100644
index 00000000000..89f6bbb53af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-045.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 0%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-046.xht
new file mode 100644
index 00000000000..54ae92f9089
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-046.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 0'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 0" transform="rotate(90deg) translate(75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-001.xht
new file mode 100644
index 00000000000..2e18582dd31
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top 100%" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-002.xht
new file mode 100644
index 00000000000..4a2d0af6068
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom 100%" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-003.xht
new file mode 100644
index 00000000000..fdde566acf3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-003.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top 150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top 150" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-004.xht
new file mode 100644
index 00000000000..50401da37bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom 150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom 150" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-005.xht
new file mode 100644
index 00000000000..c26261b2f22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top top" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-006.xht
new file mode 100644
index 00000000000..30f1e841a40
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom bottom" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-007.xht
new file mode 100644
index 00000000000..39dd4d674be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-007.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top bottom" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-008.xht
new file mode 100644
index 00000000000..87083cad6ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom top" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-009.xht
new file mode 100644
index 00000000000..4e74cfb9b08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-009.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'left left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="left left" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-010.xht
new file mode 100644
index 00000000000..77556914462
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'left right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="left right" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-011.xht
new file mode 100644
index 00000000000..99e1e46b1ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'right right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right right" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-012.xht
new file mode 100644
index 00000000000..b0ee45a0ec1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-origin-relative-length-invalid-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'right left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right left" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-001.xht
new file mode 100644
index 00000000000..9de2f20f715
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(25)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-002.xht
new file mode 100644
index 00000000000..5e853e047b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(25px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-003.xht
new file mode 100644
index 00000000000..4027f4a2c4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(18.75pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-004.xht
new file mode 100644
index 00000000000..434065631a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-004.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1.5625pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-005.xht
new file mode 100644
index 00000000000..3a0ae81eeb3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-005.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(6.614583333mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-006.xht
new file mode 100644
index 00000000000..0fe973dc580
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.661458333cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-007.xht
new file mode 100644
index 00000000000..a994d0dd862
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.260416667in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-008.xht
new file mode 100644
index 00000000000..03a5948b3cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-008.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-009.xht
new file mode 100644
index 00000000000..a02cc862e21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-009.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.5e1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-010.xht
new file mode 100644
index 00000000000..0619384c8f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-010.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.5e1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-011.xht
new file mode 100644
index 00000000000..24dd2570a65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1.875e1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-012.xht
new file mode 100644
index 00000000000..bcee3f06eba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-012.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.15625e1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-013.xht
new file mode 100644
index 00000000000..d604f60aa4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-013.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.6614583333e1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-014.xht
new file mode 100644
index 00000000000..f3b6cf233a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-014.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.0661458333e1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-015.xht
new file mode 100644
index 00000000000..70eb37131c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-015.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.0260416667e1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-016.xht
new file mode 100644
index 00000000000..8a133c8ca2c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-016.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.1e1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-017.xht
new file mode 100644
index 00000000000..ae0dfbe482e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-017.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(250e-1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-018.xht
new file mode 100644
index 00000000000..ece67352725
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-018.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(250e-1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-019.xht
new file mode 100644
index 00000000000..9d6387e223e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-019.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(187.5e-1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-020.xht
new file mode 100644
index 00000000000..526f395f47e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-020.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(15.625e-1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-021.xht
new file mode 100644
index 00000000000..9d25df32d41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-021.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(66.14583333e-1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-022.xht
new file mode 100644
index 00000000000..0800a4d41e3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-022.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(6.61458333e-1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-023.xht
new file mode 100644
index 00000000000..b5256ff3fcc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-023.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.60416667e-1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-024.xht
new file mode 100644
index 00000000000..565f20180b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-024.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(10e-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-025.xht
new file mode 100644
index 00000000000..5bb4e0a9d74
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-025.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-026.xht
new file mode 100644
index 00000000000..13b29984793
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-026.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-027.xht
new file mode 100644
index 00000000000..140ac932dd1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-027.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-18.75pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-028.xht
new file mode 100644
index 00000000000..d805a329021
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-028.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1.5625pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-029.xht
new file mode 100644
index 00000000000..32b26a618bd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-029.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-6.614583333mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-030.xht
new file mode 100644
index 00000000000..35bfa9fcc68
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-030.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.661458333cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-031.xht
new file mode 100644
index 00000000000..b65b753f4aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-031.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.260416667in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-032.xht
new file mode 100644
index 00000000000..bca611851a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-032.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-033.xht
new file mode 100644
index 00000000000..94bbdac9967
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-033.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.5e1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-034.xht
new file mode 100644
index 00000000000..19e3b64ab06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-034.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.5e1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-035.xht
new file mode 100644
index 00000000000..3520dc73fa0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-035.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1.875e1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-036.xht
new file mode 100644
index 00000000000..58255028a73
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-036.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.15625e1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-037.xht
new file mode 100644
index 00000000000..55094e4b6cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-037.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.6614583333e1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-038.xht
new file mode 100644
index 00000000000..ee22397ecf1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-038.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.0661458333e1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-039.xht
new file mode 100644
index 00000000000..cefd5dbf0f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-039.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.0260416667e1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-040.xht
new file mode 100644
index 00000000000..6811d131ea2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-040.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.1e1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-041.xht
new file mode 100644
index 00000000000..6988043ad40
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-041.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-250e-1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-042.xht
new file mode 100644
index 00000000000..9841c376855
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-042.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-250e-1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-043.xht
new file mode 100644
index 00000000000..43b01a853e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-043.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-187.5e-1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-044.xht
new file mode 100644
index 00000000000..efdfb3b7a29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-044.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-15.625e-1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-045.xht
new file mode 100644
index 00000000000..7d298f9a356
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-045.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-66.14583333e-1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-046.xht
new file mode 100644
index 00000000000..ee438071953
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-046.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-6.61458333e-1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-047.xht
new file mode 100644
index 00000000000..80cfcb2efec
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-047.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.60416667e-1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-048.xht
new file mode 100644
index 00000000000..ceb8c384b1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-048.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-10e-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-049.xht
new file mode 100644
index 00000000000..e1e69b40b4b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-049.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG transform presentation attribute on the pattern element - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="greenRects" transform="translateX(25px)" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-001.xht
new file mode 100644
index 00000000000..462c9c254a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-001.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25px) translateX(25px)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-002.xht
new file mode 100644
index 00000000000..36223d97aef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25px) translateX(18.75pt)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-003.xht
new file mode 100644
index 00000000000..aefd647c3d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-combination-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(150) translateX(-100)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-001.xht
new file mode 100644
index 00000000000..205699ed438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-002.xht
new file mode 100644
index 00000000000..8e6a6f53945
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-002.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(0.1e1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-003.xht
new file mode 100644
index 00000000000..ea08e4424cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-003.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(10e-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-004.xht
new file mode 100644
index 00000000000..580a70a211d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-004.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-005.xht
new file mode 100644
index 00000000000..b94f40bb26f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-005.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.1e1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-006.xht
new file mode 100644
index 00000000000..0b6a0e02bd3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-ex-unit-006.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-10e-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-001.xht
new file mode 100644
index 00000000000..77a3671bb6f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25%)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="27" fill="green" x="24" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="74" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="25" fill="red"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="red"></rect>
+ <rect y="-1" width="102" height="102" x="-1" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-002.xht
new file mode 100644
index 00000000000..5b26fec80f4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-002.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25%)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="27" fill="green" x="24" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="74" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="25" fill="red"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="red"></rect>
+ <rect y="-1" width="102" height="102" x="-1" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-003.xht
new file mode 100644
index 00000000000..dbfaf72817d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-patternTransform-relative-003.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="rotate(90) translateX(25%)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="27" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="49" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="100" height="25" x="0" fill="red"></rect>
+ <rect y="24" width="100" height="27" x="0" fill="green"></rect>
+ <rect y="50" width="100" height="25" x="0" fill="red"></rect>
+ <rect y="74" width="100" height="27" x="0" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-001.xht
new file mode 100644
index 00000000000..7fedf59c5d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and pixel on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-002.xht
new file mode 100644
index 00000000000..87b52d80cd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments without units on rotate or translate values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90,20,20)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-003.xht
new file mode 100644
index 00000000000..2100431d125
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with grad on rotate and pt on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(100grad,15pt,15pt)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-004.xht
new file mode 100644
index 00000000000..31aa80a2382
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with turn on rotate and pc on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(0.25turn,1.25pc,1.25pc)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-005.xht
new file mode 100644
index 00000000000..6d1bc7cd378
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-005.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with rad on rotate and mm on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(1.57079632674897rad,5.291666667mm,5.291666667mm)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-006.xht
new file mode 100644
index 00000000000..7180c300b4a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-006.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative rotate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="0" x="-40" fill="green" transform="rotate(-90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-007.xht
new file mode 100644
index 00000000000..7b6ff6591aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-007.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative translateX</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="-40" fill="green" transform="rotate(90deg,-20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-008.xht
new file mode 100644
index 00000000000..60c050f213c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-008.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative translateY</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="40" fill="green" transform="rotate(90deg,20px,-20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-009.xht
new file mode 100644
index 00000000000..460558dcd8d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-009.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with scientific numbers on degree angles</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(9.0e1deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-010.xht
new file mode 100644
index 00000000000..8be79212628
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-010.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,2.0e1px,2.0e1px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-011.xht
new file mode 100644
index 00000000000..d4810181924
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-011.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and percentage units on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,25%,25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-012.xht
new file mode 100644
index 00000000000..11f2e425041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-012.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and negative percentage units on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-120" x="0" fill="green" transform="rotate(90deg,-25%,-25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-013.xht
new file mode 100644
index 00000000000..616f8072d5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-013.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with space delimited arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg 20px 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-014.xht
new file mode 100644
index 00000000000..b261d6a2864
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-014.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-015.xht
new file mode 100644
index 00000000000..f86694bbb49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-015.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments with a space after the comma</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg, 20px, 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-016.xht
new file mode 100644
index 00000000000..89b9ed2cac6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-016.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg ,20px ,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-017.xht
new file mode 100644
index 00000000000..8640b7bcdab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-017.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with length values - 40px 40px</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="40" x="0" transform-origin="40px 40px" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-018.xht
new file mode 100644
index 00000000000..8d0f9fd047f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-018.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="center" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-019.xht
new file mode 100644
index 00000000000..eb2252885a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-019.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="50%" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-020.xht
new file mode 100644
index 00000000000..dafd27b1ee8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-020.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="80" x="-40" transform-origin="right top" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-021.xht
new file mode 100644
index 00000000000..2a324a9bb19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-021.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="40" x="0" transform-origin="40px 40px" transform="rotate(90deg,25%,25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-022.xht
new file mode 100644
index 00000000000..270ffe0d1eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-022.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="25% 25%" transform="rotate(90deg,40px,40px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-023.xht
new file mode 100644
index 00000000000..f2faaf959d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-023.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="25% 25%" transform="rotate(90deg,50%,50%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-001.xht
new file mode 100644
index 00000000000..5e5585f5046
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with one absolute translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-002.xht
new file mode 100644
index 00000000000..553ed200634
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with no translation-value arguments and a comma</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="0" x="0" fill="green" transform="rotate(90deg,)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-003.xht
new file mode 100644
index 00000000000..877050cc0c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments, with a third absolute translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg,20px,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-004.xht
new file mode 100644
index 00000000000..c047180a39d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with one relative translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg 30%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-005.xht
new file mode 100644
index 00000000000..23817c9e166
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-3args-invalid-005.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments, with a third relative translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg,30%,20%,40%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-001.xht
new file mode 100644
index 00000000000..543fe47b64d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-002.xht
new file mode 100644
index 00000000000..266f94263bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-002.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-003.xht
new file mode 100644
index 00000000000..15d66123273
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-003.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-004.xht
new file mode 100644
index 00000000000..41e78019322
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-005.xht
new file mode 100644
index 00000000000..176b0f8e9e3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-005.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.785398163374485rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-006.xht
new file mode 100644
index 00000000000..3a544653dcc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-007.xht
new file mode 100644
index 00000000000..be825d2351c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-007.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-008.xht
new file mode 100644
index 00000000000..f73b695b46b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-009.xht
new file mode 100644
index 00000000000..570b3583a8c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-5.497787143782138rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-010.xht
new file mode 100644
index 00000000000..97db4da9b55
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-010.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-011.xht
new file mode 100644
index 00000000000..77be93b69c1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-011.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-012.xht
new file mode 100644
index 00000000000..a619ee43268
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-012.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-013.xht
new file mode 100644
index 00000000000..5258e4723c6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-013.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-014.xht
new file mode 100644
index 00000000000..26cf2194b5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-014.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(7.068583470577035rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-015.xht
new file mode 100644
index 00000000000..496a1c73e18
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-015.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-016.xht
new file mode 100644
index 00000000000..72399fc4da5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-016.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-017.xht
new file mode 100644
index 00000000000..73506e4160f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-017.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on degree angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-018.xht
new file mode 100644
index 00000000000..cf2ccee1491
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-018.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-019.xht
new file mode 100644
index 00000000000..efc6eb502a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-019.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.785398163374485e0rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-020.xht
new file mode 100644
index 00000000000..2281ac7b6e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-020.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-021.xht
new file mode 100644
index 00000000000..8adbe02150e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-021.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-022.xht
new file mode 100644
index 00000000000..336c46b2714
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-022.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-023.xht
new file mode 100644
index 00000000000..20a00aaee93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-023.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-024.xht
new file mode 100644
index 00000000000..1db44015b6c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(7.85398163374485e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-025.xht
new file mode 100644
index 00000000000..ca069fd056a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-45-025.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(11.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-001.xht
new file mode 100644
index 00000000000..cb233855972
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-002.xht
new file mode 100644
index 00000000000..ee35b518acb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-003.xht
new file mode 100644
index 00000000000..7b85af2510a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(100grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-004.xht
new file mode 100644
index 00000000000..0719ce3fef4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.25turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-005.xht
new file mode 100644
index 00000000000..fa502d4d9c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.57079632674897rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-006.xht
new file mode 100644
index 00000000000..d7aa4d104e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-006.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative, unit less turn</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-270)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-007.xht
new file mode 100644
index 00000000000..2932488f925
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative degrees</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-270deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-008.xht
new file mode 100644
index 00000000000..8417b13dc01
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative gradians</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-300grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-009.xht
new file mode 100644
index 00000000000..9e861d4062e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative radians</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.570796327rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-010.xht
new file mode 100644
index 00000000000..6c88b9ffcf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-0.75turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-011.xht
new file mode 100644
index 00000000000..e875f83a41f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-011.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with unit less angle</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(450)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-012.xht
new file mode 100644
index 00000000000..a4a2035c15a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in degree</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(450deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-013.xht
new file mode 100644
index 00000000000..f682c5916bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in gradian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(500grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-014.xht
new file mode 100644
index 00000000000..76534ce2206
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in radian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(7.853981634rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-015.xht
new file mode 100644
index 00000000000..4c37558a0cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in turn</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.25turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-016.xht
new file mode 100644
index 00000000000..d0b16cdf251
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on unit less angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(9.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-017.xht
new file mode 100644
index 00000000000..c303c38ff50
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on degree angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(9.0e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-018.xht
new file mode 100644
index 00000000000..d219a8402ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-018.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on gradian angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(10.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-019.xht
new file mode 100644
index 00000000000..64382b38c16
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-019.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on radian angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.1570796326794897e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-020.xht
new file mode 100644
index 00000000000..e03b3f0840e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-020.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.025e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-021.xht
new file mode 100644
index 00000000000..ac5ba5f6d07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-021.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(900e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-022.xht
new file mode 100644
index 00000000000..39504106e18
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-022.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(900e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-023.xht
new file mode 100644
index 00000000000..7b2f17b47bd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-023.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1000e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-024.xht
new file mode 100644
index 00000000000..122d1f97fe4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-024.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(15.70796326794897e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-025.xht
new file mode 100644
index 00000000000..da2ed099312
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-rotate-angle-90-025.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(2.5e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-001.xht
new file mode 100644
index 00000000000..d6b06bbfc9a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="196" y="1" x="1" fill="red" transform="scale(0.5)" height="196"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-002.xht
new file mode 100644
index 00000000000..2d2885fe58f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 1.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" fill="green" transform="scale(1.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-003.xht
new file mode 100644
index 00000000000..5a5fc1062e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 2 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="75" fill="green" transform="scale(2)" height="75"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-004.xht
new file mode 100644
index 00000000000..e6c4e66e5dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="196" y="1" x="1" fill="red" transform="scale(0.5,0.5)" height="196"></rect>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-005.xht
new file mode 100644
index 00000000000..ef4ce7c5988
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale with percent values - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scale(50%)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-006.xht
new file mode 100644
index 00000000000..a3d4339f15b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 0.5 and vertically 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 500px;
+ height: 500px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="198" fill="red" x="1" height="198"></rect>
+ <rect width="400" fill="green" transform="scale(0.5, 1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-007.xht
new file mode 100644
index 00000000000..22472c703d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-007.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 1.5 and vertically 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 500px;
+ height: 500px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="198" fill="red" x="1" height="198"></rect>
+ <rect width="133.333" fill="green" transform="scale(1.5, 0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-008.xht
new file mode 100644
index 00000000000..defc35c1089
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 on the g element </title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <g transform="scale(0.5)">
+ <rect y="1" width="296" fill="red" x="1" height="296"></rect>
+ </g>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-009.xht
new file mode 100644
index 00000000000..cb2aa82a41c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <g transform="scale(0.5)">
+ <rect width="592" y="1" x="1" fill="red" transform="scale(0.5)" height="592"></rect>
+ </g>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-010.xht
new file mode 100644
index 00000000000..9ef0da51103
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-010.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="-400" x="-400" fill="green" transform="scale(-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-011.xht
new file mode 100644
index 00000000000..daff39c4c61
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-011.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -2 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" y="-100" x="-100" fill="green" transform="scale(-2)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-012.xht
new file mode 100644
index 00000000000..e492a711baf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-012.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="-400" x="-400" fill="green" transform="scale(-0.5,-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-013.xht
new file mode 100644
index 00000000000..4abf400fd8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-013.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -0.5 and vertically -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="-133.333" x="-400" fill="green" transform="scale(-0.5, -1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-014.xht
new file mode 100644
index 00000000000..48c5f6cdb23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-014.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -1.5 and vertically -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="133.333" y="-400" x="-133.333" fill="green" transform="scale(-1.5, -0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-015.xht
new file mode 100644
index 00000000000..5be3398a61d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-015.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -0.5 and vertically 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="0" x="-400" fill="green" transform="scale(-0.5, 1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-016.xht
new file mode 100644
index 00000000000..1d964cafbb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-016.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 1.5 and vertically -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="133.333" y="-400" x="0" fill="green" transform="scale(1.5, -0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-017.xht
new file mode 100644
index 00000000000..d9597a68a43
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scale-017.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 on the g element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <g transform="scale(-0.5)">
+ <rect y="-400" width="400" fill="green" x="-400" height="400"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-001.xht
new file mode 100644
index 00000000000..cdc119d9975
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="298" y="1" x="1" fill="red" transform="scaleX(0.5)" height="148"></rect>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-002.xht
new file mode 100644
index 00000000000..986ee7d9fd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" fill="green" transform="scaleX(1.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-003.xht
new file mode 100644
index 00000000000..307ca11bad6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-003.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX with percent argument - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" fill="green" transform="scaleX(50%)" height="200"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-004.xht
new file mode 100644
index 00000000000..41bf53d7647
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="0" x="-400" fill="green" transform="scaleX(-0.5)" height="200"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-005.xht
new file mode 100644
index 00000000000..4e70f6988b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scalex-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" y="0" x="-100" fill="green" transform="scaleX(-1.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-001.xht
new file mode 100644
index 00000000000..e9ce560a70e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="148" y="1" x="1" fill="red" transform="scaleY(0.5)" height="298"></rect>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-002.xht
new file mode 100644
index 00000000000..d1e5030f6b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be vertically scaled up 1.5 to 150x150" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scaleY(1.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-003.xht
new file mode 100644
index 00000000000..361aab69c3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY with percent argument - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scaleY(50%)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-004.xht
new file mode 100644
index 00000000000..84c1fe82ef4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and and scaleY -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" y="-400" x="0" fill="green" transform="scaleY(-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-005.xht
new file mode 100644
index 00000000000..70c5c135253
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-scaley-005.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" y="-133.333" x="0" fill="green" transform="scaleY(-1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-001.xht
new file mode 100644
index 00000000000..ec9a78a530d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-002.xht
new file mode 100644
index 00000000000..3f692659231
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style></head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-003.xht
new file mode 100644
index 00000000000..94471b455a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-004.xht
new file mode 100644
index 00000000000..c5ea66215ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-005.xht
new file mode 100644
index 00000000000..b93a002c32b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.785398163rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-006.xht
new file mode 100644
index 00000000000..bf57420edd6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-006.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-007.xht
new file mode 100644
index 00000000000..627b5408345
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-008.xht
new file mode 100644
index 00000000000..7f56e3f5117
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-009.xht
new file mode 100644
index 00000000000..1a409f27e42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-5.497787144rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-010.xht
new file mode 100644
index 00000000000..55d7fed0e0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-011.xht
new file mode 100644
index 00000000000..af291d19fb9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-011.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-012.xht
new file mode 100644
index 00000000000..074c50cec8e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-013.xht
new file mode 100644
index 00000000000..3b67772c12a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-014.xht
new file mode 100644
index 00000000000..a9820d73ba8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(7.068583471rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-015.xht
new file mode 100644
index 00000000000..bf12956bea0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-016.xht
new file mode 100644
index 00000000000..c54e6174eee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-017.xht
new file mode 100644
index 00000000000..5922317ed8e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-017.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-018.xht
new file mode 100644
index 00000000000..b51796f4b29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-018.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(5.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-019.xht
new file mode 100644
index 00000000000..849f78609d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-019.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(.0785398163e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-020.xht
new file mode 100644
index 00000000000..5f0a9aece3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-020.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.0125e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-021.xht
new file mode 100644
index 00000000000..f763b44f654
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-021.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-022.xht
new file mode 100644
index 00000000000..1c06a751d28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-022.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-023.xht
new file mode 100644
index 00000000000..bfe25d03a81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-023.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-024.xht
new file mode 100644
index 00000000000..03a7c695138
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-024.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(7.85398163e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-025.xht
new file mode 100644
index 00000000000..3ffc8190510
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewx-025.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-001.xht
new file mode 100644
index 00000000000..e44c16bc98f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with skewX and skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewxy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 4,3 101,99 296,197 200,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45) skewY(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-002.xht
new file mode 100644
index 00000000000..b8176125149
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewxy-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with skewX and skewY with different units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewxy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function" name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 4,3 101,99 296,197 200,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45deg) skewY(50grad) " height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-001.xht
new file mode 100644
index 00000000000..748d61156e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-002.xht
new file mode 100644
index 00000000000..0a84c056776
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-003.xht
new file mode 100644
index 00000000000..49c2b962137
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-004.xht
new file mode 100644
index 00000000000..81482d2e041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-005.xht
new file mode 100644
index 00000000000..84f9f7ba13c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.785398163rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-006.xht
new file mode 100644
index 00000000000..8d04a634e4d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-006.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-007.xht
new file mode 100644
index 00000000000..eb664a2b612
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-008.xht
new file mode 100644
index 00000000000..3ea67a10d80
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-009.xht
new file mode 100644
index 00000000000..b5db704e065
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-5.49778714rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-010.xht
new file mode 100644
index 00000000000..bde35e910a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-011.xht
new file mode 100644
index 00000000000..d5fcd7d1fce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-011.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-012.xht
new file mode 100644
index 00000000000..78a2f3f08e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-013.xht
new file mode 100644
index 00000000000..eef5300f724
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-014.xht
new file mode 100644
index 00000000000..678c020dd72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(7.06858347rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-015.xht
new file mode 100644
index 00000000000..d3fc3be7d96
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-016.xht
new file mode 100644
index 00000000000..c744929ac20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-017.xht
new file mode 100644
index 00000000000..e35127e5784
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-017.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-018.xht
new file mode 100644
index 00000000000..1bee8627225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-018.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(5.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-019.xht
new file mode 100644
index 00000000000..06a64f1c3a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-019.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.0785398163e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-020.xht
new file mode 100644
index 00000000000..5c46be78499
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-020.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.0125e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-021.xht
new file mode 100644
index 00000000000..caf1eaabdeb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-021.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-022.xht
new file mode 100644
index 00000000000..665fcf1c9eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-022.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-023.xht
new file mode 100644
index 00000000000..732e87ab3bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-023.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-024.xht
new file mode 100644
index 00000000000..1973910c82e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-024.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(7.85398163e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-025.xht
new file mode 100644
index 00000000000..6ce7b138ac8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-skewy-025.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-001.xht
new file mode 100644
index 00000000000..6c3ce6bd4b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(40 40)">
+ <rect width="80" fill="green" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-002.xht
new file mode 100644
index 00000000000..df8593b3d35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(40px)">
+ <rect y="40" width="80" fill="green" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-003.xht
new file mode 100644
index 00000000000..39373a07603
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateY(40)">
+ <rect width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-004.xht
new file mode 100644
index 00000000000..18d94b02e65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scale(2)">
+ <rect y="20" width="40" fill="green" x="20" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-005.xht
new file mode 100644
index 00000000000..3ad61f5ce87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect y="40" width="40" fill="green" x="20" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-006.xht
new file mode 100644
index 00000000000..ae4145edb9d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect y="20" width="80" fill="green" x="40" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-007.xht
new file mode 100644
index 00000000000..6d47c086f48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90)">
+ <rect y="-120" width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-008.xht
new file mode 100644
index 00000000000..94d43137b0b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(45)">
+ <rect width="100" fill="green" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-009.xht
new file mode 100644
index 00000000000..127c0e63ed8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 1,100 99,198 99,100 Z" fill="red"></path>
+ <g transform="skewY(45)">
+ <rect width="100" fill="green" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-010.xht
new file mode 100644
index 00000000000..9d1d053c347
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-010.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-2 0 0 -2 120 120)">
+ <rect width="40" fill="green" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-011.xht
new file mode 100644
index 00000000000..8f82e3d58fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-group-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with three arguments on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90deg,20px,20px)">
+ <rect y="-80" width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-001.xht
new file mode 100644
index 00000000000..db2d8d3b9fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-001.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: No separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200)translateY(100)rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-002.xht
new file mode 100644
index 00000000000..ed35f87e21d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-002.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Comma + no whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),translateY(100),rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-003.xht
new file mode 100644
index 00000000000..0450457284a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-003.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Comma + whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200), translateY(100), rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-004.xht
new file mode 100644
index 00000000000..789ca21fb5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-004.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) translateY(100) rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-005.xht
new file mode 100644
index 00000000000..fec3257b410
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-005.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Comma, whitespace, and no separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),translateY(100) rotate(45)rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-006.xht
new file mode 100644
index 00000000000..47c5959bf62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-006.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Multiple spaces between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) translateY(100) rotate(45) rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-007.xht
new file mode 100644
index 00000000000..b101635c96a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-007.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Multiple spaces before and after transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform=" translateX(200),translateY(100) rotate(45)rotate(45) " height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-008.xht
new file mode 100644
index 00000000000..fe4ead8af7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-008.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) ,translateY(100) ,rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-009.xht
new file mode 100644
index 00000000000..1a86a06fd47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-009.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) , translateY(100) , rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-010.xht
new file mode 100644
index 00000000000..f392a358037
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-010.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by newlines on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200)
+ translateY(100)
+ rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-011.xht
new file mode 100644
index 00000000000..4241c76173c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-list-separations-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by commas and newlines on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),
+ translateY(100),
+ rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-001.xht
new file mode 100644
index 00000000000..47842b51f86
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate on group, translate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(20 20)">
+ <rect width="80" fill="green" transform="translate(20 20)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-002.xht
new file mode 100644
index 00000000000..14d083a8fef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, translateX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(20px)">
+ <rect y="40" width="80" fill="green" transform="translateX(20px)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-003.xht
new file mode 100644
index 00000000000..974408c9a7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, translateY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateY(20)">
+ <rect width="80" height="80" fill="green" transform="translateY(20)" x="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-004.xht
new file mode 100644
index 00000000000..6a9f31da214
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, scale on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scale(2)">
+ <rect width="20" y="10" x="10" fill="green" transform="scale(2)" height="20"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-005.xht
new file mode 100644
index 00000000000..bdbdd77fdf0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="20" y="40" x="10" fill="green" transform="scaleX(2)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-006.xht
new file mode 100644
index 00000000000..9ab41fd7dc7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, scaleY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect width="80" y="10" x="40" fill="green" transform="scaleY(2)" height="20"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-007.xht
new file mode 100644
index 00000000000..1370ae82048
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, rotate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(45)">
+ <rect width="80" y="-120" x="40" fill="green" transform="rotate(45)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-008.xht
new file mode 100644
index 00000000000..6b5e052af35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewX on group, skewX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 99,1 196,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(27)">
+ <rect width="100" fill="green" transform="skewX(26)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-009.xht
new file mode 100644
index 00000000000..46ed017a53f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewY on group, skewY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 1,99 99,197 99,100 Z" fill="red"></path>
+ <g transform="skewY(27)">
+ <rect width="100" fill="green" transform="skewY(26)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-010.xht
new file mode 100644
index 00000000000..5bb3599e0a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-010.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, matrix on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-0.25 0 0 -0.25 50 50)">
+ <rect width="160" fill="green" transform="matrix(2 0 0 2 -280 -280)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-011.xht
new file mode 100644
index 00000000000..2b88ee0ed88
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-011.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translate on group, scale on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(40 40)">
+ <rect width="40" fill="green" transform="scale(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-012.xht
new file mode 100644
index 00000000000..3fcb6834666
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-012.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, scaleY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(40px)">
+ <rect y="20" width="80" fill="green" transform="scaleY(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-013.xht
new file mode 100644
index 00000000000..92a65dbc2ae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, skewX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,26 100,26 198,124 100,124 Z" fill="red"></path>
+ <g transform="translateY(25)">
+ <rect width="100" fill="green" transform="skewX(45)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-014.xht
new file mode 100644
index 00000000000..68b51ff4517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, skewY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 1,100 99,198 99,100 Z" fill="red"></path>
+ <g transform="scale(0.5)">
+ <rect width="200" fill="green" transform="skewY(45)" height="200"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-015.xht
new file mode 100644
index 00000000000..d6a02d93695
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-015.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, rotate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="80" y="-60" x="40" fill="green" transform="rotate(90)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-016.xht
new file mode 100644
index 00000000000..f75ffb91176
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-016.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, translateX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect y="20" width="80" fill="green" transform="translateX(40)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-017.xht
new file mode 100644
index 00000000000..10389ef6126
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-017.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, translateY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90)">
+ <rect width="80" y="-160" x="40" fill="green" transform="translateY(40)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-018.xht
new file mode 100644
index 00000000000..a969b57062f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewX on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(45)">
+ <rect width="200" fill="green" transform="scaleX(0.5)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-019.xht
new file mode 100644
index 00000000000..12016e7d18b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewY on group, translate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 21,42 21,140 119,238 119,140 Z" fill="red"></path>
+ <g transform="skewY(45)">
+ <rect width="100" fill="green" transform="translate(20 20)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-020.xht
new file mode 100644
index 00000000000..91361d4414e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-020.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-1 0 0 -2 120 120)">
+ <rect width="40" fill="green" transform="scaleX(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-021.xht
new file mode 100644
index 00000000000..e758828737c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translate on group, scaleY on child1, rotate on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translate(20 20)">
+ <rect width="78" y="42" x="21" fill="red" transform="scaleY(0.5)" height="156"></rect> <!-- false positive if scaleY is negative; need to fix -->
+ <rect width="80" y="-100" x="20" fill="green" transform="rotate(90)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-022.xht
new file mode 100644
index 00000000000..646a196686b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translateX(20)">
+ <rect width="156" y="41" x="42" fill="red" transform="scaleX(0.5)" height="78"></rect> <!-- false positive if scaleX is negative -->
+ <rect width="40" fill="green" transform="matrix(-2 0 0 -2 100 120)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-023.xht
new file mode 100644
index 00000000000..74b4b1f48f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, translate on child1, scale on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translateY(25px)">
+ <rect width="78" y="1" x="1" fill="red" transform="translate(40px 15px)" height="78"></rect>
+ <rect width="160" y="30" x="80" fill="green" transform="scale(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-024.xht
new file mode 100644
index 00000000000..a640328a8b4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-024.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, translateX on child1, scaleX on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scale(0.5)">
+ <rect width="156" y="82" x="62" fill="red" transform="translateX(20)" height="156"></rect>
+ <rect width="320" y="80" x="160" fill="green" transform="scaleX(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-025.xht
new file mode 100644
index 00000000000..c227c4e448d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, translateY on child1, scale on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scaleX(0.5)">
+ <rect width="156" y="21" x="82" fill="red" transform="translateY(20)" height="78"></rect>
+ <rect width="320" y="80" x="160" fill="green" transform="scale(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-026.xht
new file mode 100644
index 00000000000..a9056be5055
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-026.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, translate on child1, rotate on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scaleY(0.5)"> <!-- false positive if scaleY is negative; need to fix -->
+ <rect width="78" y="42" x="21" fill="red" transform="translate(20 40)" height="156"></rect>
+ <rect width="160" y="-120" x="80" fill="green" transform="rotate(90)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-027.xht
new file mode 100644
index 00000000000..af741630286
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-027.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="rotate(90)">
+ <rect width="80" y="-120" x="20" fill="green" transform="translateX(20)" height="80"></rect>
+ <rect width="80" y="-240" x="40" fill="green" transform="scaleY(0.5)" height="160"></rect> <!-- false positive if scaleY is negative; need to fix -->
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-028.xht
new file mode 100644
index 00000000000..2329fe3a9ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-028.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="matrix(-0.5 0 0 -0.5 120 90)">
+ <rect width="156" y="-116" x="2" fill="red" transform="scaleY(0.5)" height="312"></rect> <!-- false positive if scaleY is between 0.4 and -0.3 -->
+ <rect width="160" fill="green" transform="translateY(-60)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-029.xht
new file mode 100644
index 00000000000..5163e639b1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-transform-nested-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, rotate with three arguments on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="80" y="-20" x="40" fill="green" transform="rotate(90deg,20px,20px)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-001.xht
new file mode 100644
index 00000000000..3142e6f324d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value arguments without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50 50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-002.xht
new file mode 100644
index 00000000000..690fc45e359
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-003.xht
new file mode 100644
index 00000000000..8189609fdb6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(37.5pt 37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-004.xht
new file mode 100644
index 00000000000..7c266980125
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(3.125pc 3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-005.xht
new file mode 100644
index 00000000000..33cbce39803
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(13.229166667mm 13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-006.xht
new file mode 100644
index 00000000000..d18774d7be4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1.322916667cm 1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-007.xht
new file mode 100644
index 00000000000..a605ff608c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.520833333in 0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-008.xht
new file mode 100644
index 00000000000..6402efb8c94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(2.5em 2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-009.xht
new file mode 100644
index 00000000000..79774cf8ef2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.0e1 5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-010.xht
new file mode 100644
index 00000000000..0f155e64c01
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.0e1px 5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-011.xht
new file mode 100644
index 00000000000..f1253c86478
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(3.75e1pt 3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-012.xht
new file mode 100644
index 00000000000..4c7744b48a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.3125e1pc 0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-013.xht
new file mode 100644
index 00000000000..28894c9873e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1.3229166667e1mm 1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-014.xht
new file mode 100644
index 00000000000..a44c27f6d2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.1322916667e1cm 0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-015.xht
new file mode 100644
index 00000000000..7d6a0b0f8db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.0520833333e1in 0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-016.xht
new file mode 100644
index 00000000000..482c6c0df60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.25e1em 0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-017.xht
new file mode 100644
index 00000000000..b71b449269a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(500e-1 500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-018.xht
new file mode 100644
index 00000000000..db54752b168
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(500.0e-1px 500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-019.xht
new file mode 100644
index 00000000000..09602b14d22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(375e-1pt 375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-020.xht
new file mode 100644
index 00000000000..3042001b704
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-020.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(31.25e-1pc 31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-021.xht
new file mode 100644
index 00000000000..f6ce678674d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(132.29166667e-1mm 132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-022.xht
new file mode 100644
index 00000000000..b33a2b17b37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(13.22916667e-1cm 13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-023.xht
new file mode 100644
index 00000000000..c659ab83c0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.20833333e-1in 5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-024.xht
new file mode 100644
index 00000000000..ed36c50591b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(25e-1em 25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-025.xht
new file mode 100644
index 00000000000..6766027ab95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with negative translation-value arguments without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-50 -50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-026.xht
new file mode 100644
index 00000000000..d1692290b14
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-026.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative pixel units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-50px -50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-027.xht
new file mode 100644
index 00000000000..6342904ab50
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-027.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative point units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-37.5pt -37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-028.xht
new file mode 100644
index 00000000000..2d4f796e72b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-028.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative pica units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-3.125pc -3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-029.xht
new file mode 100644
index 00000000000..1ab80920fd5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative millimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-13.229166667mm -13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-030.xht
new file mode 100644
index 00000000000..1495e2906dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-030.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative centimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-1.322916667cm -1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-031.xht
new file mode 100644
index 00000000000..0a96a595bf5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-031.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative inch units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.520833333in -0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-032.xht
new file mode 100644
index 00000000000..e4bcfe9ce48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-032.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative em units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-2.5em -2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-033.xht
new file mode 100644
index 00000000000..fc136920771
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-033.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.0e1 -5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-034.xht
new file mode 100644
index 00000000000..21c7b823ee4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-034.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.0e1px -5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-035.xht
new file mode 100644
index 00000000000..424e0835c23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-035.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-3.75e1pt -3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-036.xht
new file mode 100644
index 00000000000..d1a7709fe3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-036.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.3125e1pc -0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-037.xht
new file mode 100644
index 00000000000..5764f07a40d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-037.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-1.3229166667e1mm -1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-038.xht
new file mode 100644
index 00000000000..8de5be0e1a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-038.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.1322916667e1cm -0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-039.xht
new file mode 100644
index 00000000000..c0eab0eb346
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-039.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.0520833333e1in -0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-040.xht
new file mode 100644
index 00000000000..f1142e4f634
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-040.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.25e1em -0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-041.xht
new file mode 100644
index 00000000000..0e1ad2d0f92
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-041.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-500e-1 -500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-042.xht
new file mode 100644
index 00000000000..a3b7aaf0d4f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-042.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-500.0e-1px -500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-043.xht
new file mode 100644
index 00000000000..c406f3a81a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-043.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-375e-1pt -375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-044.xht
new file mode 100644
index 00000000000..3a01603c532
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-044.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-31.25e-1pc -31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-045.xht
new file mode 100644
index 00000000000..014b861764d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-045.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-132.29166667e-1mm -132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-046.xht
new file mode 100644
index 00000000000..50579b75696
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-046.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-13.22916667e-1cm -13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-047.xht
new file mode 100644
index 00000000000..6c2e59f7ff9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-047.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.20833333e-1in -5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-048.xht
new file mode 100644
index 00000000000..df797533b38
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-048.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-25e-1em -25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-049.xht
new file mode 100644
index 00000000000..d7c26e8f1b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-049.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with one translation-value argument</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect y="50" width="100" fill="green" transform="translate(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-050.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-050.xht
new file mode 100644
index 00000000000..eb7b1cd2a07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-050.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with one negative translation-value argument</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="50" x="100" fill="green" transform="translate(-50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-051.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-051.xht
new file mode 100644
index 00000000000..39c4150aea7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-051.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with no spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px,50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-052.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-052.xht
new file mode 100644
index 00000000000..4528db088d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-052.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with a space in between</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px, 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-053.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-053.xht
new file mode 100644
index 00000000000..46a50c7b32b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-053.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with arguments separated by multiple spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-054.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-054.xht
new file mode 100644
index 00000000000..d2c5d809a02
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-054.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px ,50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-055.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-055.xht
new file mode 100644
index 00000000000..09168c771cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-055.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px , 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-001.xht
new file mode 100644
index 00000000000..128238dbf42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(100px 50)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-002.xht
new file mode 100644
index 00000000000..c49aa9151b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(100 50px)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-003.xht
new file mode 100644
index 00000000000..89aba6db737
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(2.645833333cm 13.229166667mm)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-004.xht
new file mode 100644
index 00000000000..c756cba18aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(6.25pc 37.5pt)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-005.xht
new file mode 100644
index 00000000000..2ce8584bd28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" height="75" fill="green" transform="translate(-1.041666667in 50px)" x="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-006.xht
new file mode 100644
index 00000000000..a506a7884aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-abs-unit-combinations-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect y="100" width="75" fill="green" transform="translate(100px -1.322916667cm)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-001.xht
new file mode 100644
index 00000000000..988beea6154
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41px" width="98" fill="red" x="41px" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1ex 1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-002.xht
new file mode 100644
index 00000000000..7568ee0816d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.1e1ex 0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-003.xht
new file mode 100644
index 00000000000..af24169386b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-003.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(10e-1ex 10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-004.xht
new file mode 100644
index 00000000000..4de70f7c113
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative ex units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-1ex -1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-005.xht
new file mode 100644
index 00000000000..edf537aaf6f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-0.1e1ex -0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-006.xht
new file mode 100644
index 00000000000..dd96da2bc52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-ex-unit-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-10e-1ex -10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-001.xht
new file mode 100644
index 00000000000..c92916ca9b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="76" width="148" fill="red" x="51" height="148"></rect>
+ <rect width="150" fill="green" transform="translate(25px 25px) translate(25px 50px)" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-002.xht
new file mode 100644
index 00000000000..264d056974c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="76" width="148" fill="red" x="51" height="148"></rect>
+ <rect width="150" fill="green" transform="translate(150 150) translate(-100 -75)" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-001.xht
new file mode 100644
index 00000000000..03df43ae1a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="198" fill="red" x="51" height="98"></rect>
+ <rect width="200" fill="green" transform="translate(25px 25px) translate(12.5% 75%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-002.xht
new file mode 100644
index 00000000000..66a82d50ebe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-multiple-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="198" fill="red" x="51" height="98"></rect>
+ <rect width="200" fill="green" transform="translate(10% 25%) translate(15% 75%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-001.xht
new file mode 100644
index 00000000000..10484edb718
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with percentage units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-002.xht
new file mode 100644
index 00000000000..040f4f26d97
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative percentage units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" y="200" x="100" fill="green" transform="translate(-50% -50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-003.xht
new file mode 100644
index 00000000000..e29386abf41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-004.xht
new file mode 100644
index 00000000000..4b088e5d2ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 100px)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-005.xht
new file mode 100644
index 00000000000..39878776cca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-006.xht
new file mode 100644
index 00000000000..52f81bce28d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-006.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-007.xht
new file mode 100644
index 00000000000..f1f959a47c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="50%" fill="green" transform="translate(50% 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-008.xht
new file mode 100644
index 00000000000..cb2c1ed5ec3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translate-relative-008.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50%)" height="50%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-001.xht
new file mode 100644
index 00000000000..7e27836012a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" transform="translateX(50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-002.xht
new file mode 100644
index 00000000000..c5198c78a2a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-003.xht
new file mode 100644
index 00000000000..185cfcdb4fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-004.xht
new file mode 100644
index 00000000000..bf380391c44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-005.xht
new file mode 100644
index 00000000000..b33f0271c29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-006.xht
new file mode 100644
index 00000000000..96d771b4eba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-007.xht
new file mode 100644
index 00000000000..c62e661a386
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-008.xht
new file mode 100644
index 00000000000..925e7e2996e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-009.xht
new file mode 100644
index 00000000000..46352873efa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-010.xht
new file mode 100644
index 00000000000..e4e41b2b584
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-011.xht
new file mode 100644
index 00000000000..33581c18c79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-012.xht
new file mode 100644
index 00000000000..ca110b37bb5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-013.xht
new file mode 100644
index 00000000000..171a9e2545e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-014.xht
new file mode 100644
index 00000000000..1d013f596bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-015.xht
new file mode 100644
index 00000000000..0bb48ee388c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-016.xht
new file mode 100644
index 00000000000..c9313d8316c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-017.xht
new file mode 100644
index 00000000000..0b6fb3368d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-018.xht
new file mode 100644
index 00000000000..a77ee84a257
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-019.xht
new file mode 100644
index 00000000000..cb53060ad87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-020.xht
new file mode 100644
index 00000000000..b2daa0729bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-020.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-021.xht
new file mode 100644
index 00000000000..0fa91bf7d95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-022.xht
new file mode 100644
index 00000000000..7269351cfd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-023.xht
new file mode 100644
index 00000000000..5b8d2ef9133
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-024.xht
new file mode 100644
index 00000000000..b0867f4623c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-025.xht
new file mode 100644
index 00000000000..b93782e34be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-026.xht
new file mode 100644
index 00000000000..f352947bd3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-026.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-027.xht
new file mode 100644
index 00000000000..3af9df52f59
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-027.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-37.5pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-028.xht
new file mode 100644
index 00000000000..649f77c25e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-028.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-3.125pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-029.xht
new file mode 100644
index 00000000000..5a8b2987db5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-13.229166667mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-030.xht
new file mode 100644
index 00000000000..79b3611611f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-030.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1.322916667cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-031.xht
new file mode 100644
index 00000000000..28a17f39eb7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-031.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.520833333in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-032.xht
new file mode 100644
index 00000000000..60e747c3499
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-032.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-2.5em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-033.xht
new file mode 100644
index 00000000000..f73edddb9d0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-033.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.0e1)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-034.xht
new file mode 100644
index 00000000000..159fe3dbb2c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-034.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.0e1px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-035.xht
new file mode 100644
index 00000000000..e6ec8858c62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-035.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-3.75e1pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-036.xht
new file mode 100644
index 00000000000..d05a2acc509
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-036.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.3125e1pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-037.xht
new file mode 100644
index 00000000000..1ab2adb5677
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-037.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1.3229166667e1mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-038.xht
new file mode 100644
index 00000000000..b73d86b4e49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-038.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.1322916667e1cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-039.xht
new file mode 100644
index 00000000000..eec6f1177c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-039.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.0520833333e1in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-040.xht
new file mode 100644
index 00000000000..c84c59836ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-040.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.25e1em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-041.xht
new file mode 100644
index 00000000000..5035f19907a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-041.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-500e-1)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-042.xht
new file mode 100644
index 00000000000..9f9c8823cfe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-042.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-500.0e-1px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-043.xht
new file mode 100644
index 00000000000..cd49adffd5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-043.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-375e-1pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-044.xht
new file mode 100644
index 00000000000..3298ef0ddb3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-044.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-31.25e-1pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-045.xht
new file mode 100644
index 00000000000..8ec6d3769e8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-045.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-132.29166667e-1mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-046.xht
new file mode 100644
index 00000000000..d460e5850aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-046.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-13.22916667e-1cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-047.xht
new file mode 100644
index 00000000000..1e3169f1252
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-047.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.20833333e-1in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-048.xht
new file mode 100644
index 00000000000..cbfe803d3e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-048.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-25e-1em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-001.xht
new file mode 100644
index 00000000000..3ce13964b74
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25px) translateX(25px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-002.xht
new file mode 100644
index 00000000000..82014ae8ac9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25px) translateX(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-003.xht
new file mode 100644
index 00000000000..a9b302c4a48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25%) translateX(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-004.xht
new file mode 100644
index 00000000000..313b07f6060
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-combination-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(150) translateX(-100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-001.xht
new file mode 100644
index 00000000000..95ba187bc84
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-002.xht
new file mode 100644
index 00000000000..52e49876ecf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-003.xht
new file mode 100644
index 00000000000..bba5900bba0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-003.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-004.xht
new file mode 100644
index 00000000000..71a64482075
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-005.xht
new file mode 100644
index 00000000000..b43acaceca2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.1e1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-006.xht
new file mode 100644
index 00000000000..b1757def063
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-ex-unit-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-10e-1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-001.xht
new file mode 100644
index 00000000000..66d96ce9ef7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with percentage unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-002.xht
new file mode 100644
index 00000000000..02f3598f402
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatex-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative percentage unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50%)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-001.xht
new file mode 100644
index 00000000000..5e88df9b988
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-002.xht
new file mode 100644
index 00000000000..c59ed2a32d5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-003.xht
new file mode 100644
index 00000000000..203caa19b1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-004.xht
new file mode 100644
index 00000000000..c1dca634cd1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-005.xht
new file mode 100644
index 00000000000..2384899444f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-006.xht
new file mode 100644
index 00000000000..fcd36ed32be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-007.xht
new file mode 100644
index 00000000000..64b37a7adc4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-008.xht
new file mode 100644
index 00000000000..1ae71e1d112
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-009.xht
new file mode 100644
index 00000000000..62dfb3a73a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-010.xht
new file mode 100644
index 00000000000..83d2a491a7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-011.xht
new file mode 100644
index 00000000000..b317012b25d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-012.xht
new file mode 100644
index 00000000000..ab4f990985f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-013.xht
new file mode 100644
index 00000000000..104e6239f44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-014.xht
new file mode 100644
index 00000000000..9357fb71ea0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-015.xht
new file mode 100644
index 00000000000..bb7e0f6703f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-016.xht
new file mode 100644
index 00000000000..9281786b78f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-017.xht
new file mode 100644
index 00000000000..15681ae004c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-018.xht
new file mode 100644
index 00000000000..e3a76545bf6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-019.xht
new file mode 100644
index 00000000000..05a4bd6c432
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-020.xht
new file mode 100644
index 00000000000..58d4e23bbe5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-020.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-021.xht
new file mode 100644
index 00000000000..d408caec477
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-022.xht
new file mode 100644
index 00000000000..972919cfe1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-023.xht
new file mode 100644
index 00000000000..79c992b5593
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-024.xht
new file mode 100644
index 00000000000..1578f192744
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-025.xht
new file mode 100644
index 00000000000..b56f0730c81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-026.xht
new file mode 100644
index 00000000000..55fc0bd2c85
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-026.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pixel unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-027.xht
new file mode 100644
index 00000000000..b3abd192b22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-027.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative point unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-028.xht
new file mode 100644
index 00000000000..72782fffd06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-028.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pica unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-029.xht
new file mode 100644
index 00000000000..e5f10c4a8c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative millimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-030.xht
new file mode 100644
index 00000000000..d35a3fef5ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-030.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative centimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-031.xht
new file mode 100644
index 00000000000..c53886b1d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-031.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative inch unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-032.xht
new file mode 100644
index 00000000000..a8e0567ada0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-032.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative em unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-033.xht
new file mode 100644
index 00000000000..c2d916633df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-033.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-034.xht
new file mode 100644
index 00000000000..f2cd1a801f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-034.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-035.xht
new file mode 100644
index 00000000000..a64d3641a91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-035.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-036.xht
new file mode 100644
index 00000000000..3a44c23e728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-036.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-037.xht
new file mode 100644
index 00000000000..48fad4869fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-037.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-038.xht
new file mode 100644
index 00000000000..36598267d23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-038.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-039.xht
new file mode 100644
index 00000000000..1729cfb308b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-039.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-040.xht
new file mode 100644
index 00000000000..ccf0ee4c01f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-040.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-041.xht
new file mode 100644
index 00000000000..1af9a7ba2db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-041.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-042.xht
new file mode 100644
index 00000000000..27ee83a8e3d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-042.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-043.xht
new file mode 100644
index 00000000000..c3e87a21c04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-043.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-044.xht
new file mode 100644
index 00000000000..e401fb41a0b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-044.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-045.xht
new file mode 100644
index 00000000000..ba18152f7de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-045.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-046.xht
new file mode 100644
index 00000000000..21c54fd2bbd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-046.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-047.xht
new file mode 100644
index 00000000000..2d65647c979
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-047.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-048.xht
new file mode 100644
index 00000000000..d8313d56cb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-048.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-001.xht
new file mode 100644
index 00000000000..7979da3e757
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25px) translateY(25px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-002.xht
new file mode 100644
index 00000000000..6a388bed605
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25px) translateY(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-003.xht
new file mode 100644
index 00000000000..c6dc592e3eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25%) translateY(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-004.xht
new file mode 100644
index 00000000000..7a146b47e0b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-combination-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(150) translateY(-100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-001.xht
new file mode 100644
index 00000000000..25d89c84bd2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-002.xht
new file mode 100644
index 00000000000..b100e5f6e83
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-003.xht
new file mode 100644
index 00000000000..3106587b785
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-003.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-004.xht
new file mode 100644
index 00000000000..38152406d83
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative ex unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-005.xht
new file mode 100644
index 00000000000..cf9faf5bc43
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-006.xht
new file mode 100644
index 00000000000..6fd64a07995
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-ex-unit-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-001.xht
new file mode 100644
index 00000000000..3fcaaf7abab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with percentage unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-002.xht
new file mode 100644
index 00000000000..8e000c50ab1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/svg-translatey-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative percentage unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/toc.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/toc.xht
new file mode 100644
index 00000000000..1c48e768141
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/toc.xht
@@ -0,0 +1,129 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+<body>
+ <h1>CSS Transforms Module Level 1 CR Test Suite By Chapter</h1>
+
+ <p>This index contains both
+ <a href="http://wiki.csswg.org/test/selftest">self-describing tests</a>
+ and reftests.
+ A separate <a href="reftest-toc.xht">alphabetical reftest index</a>
+ is provided for tests in <a href="http://wiki.csswg.org/test/reftest">reftest
+ format</a> along with the <a href="reftest.list">reftest manifest</a>.</p>
+
+ <table>
+ <tbody id="s1">
+ <tr><th><a href="chapter-1.xht">Chapter 1 -
+ Introduction</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s2">
+ <tr><th><a href="chapter-2.xht">Chapter 2 -
+ Module Interactions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s3">
+ <tr><th><a href="chapter-3.xht">Chapter 3 -
+ CSS Values</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s4">
+ <tr><th><a href="chapter-4.xht">Chapter 4 -
+ Terminology</a></th>
+ <td>(5 Tests)</td></tr>
+ </tbody>
+ <tbody id="s5">
+ <tr><th><a href="chapter-5.xht">Chapter 5 -
+ Two Dimensional Subset</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s6">
+ <tr><th><a href="chapter-6.xht">Chapter 6 -
+ The Transform Rendering Model</a></th>
+ <td>(48 Tests)</td></tr>
+ </tbody>
+ <tbody id="s7">
+ <tr><th><a href="chapter-7.xht">Chapter 7 -
+ The transform Property</a></th>
+ <td>(102 Tests)</td></tr>
+ </tbody>
+ <tbody id="s8">
+ <tr><th><a href="chapter-8.xht">Chapter 8 -
+ The transform-origin Property</a></th>
+ <td>(117 Tests)</td></tr>
+ </tbody>
+ <tbody id="s9">
+ <tr><th><a href="chapter-9.xht">Chapter 9 -
+ The transform-style Property</a></th>
+ <td>(26 Tests)</td></tr>
+ </tbody>
+ <tbody id="s10">
+ <tr><th><a href="chapter-10.xht">Chapter 10 -
+ The perspective Property</a></th>
+ <td>(17 Tests)</td></tr>
+ </tbody>
+ <tbody id="s11">
+ <tr><th><a href="chapter-11.xht">Chapter 11 -
+ The perspective-origin Property</a></th>
+ <td>(11 Tests)</td></tr>
+ </tbody>
+ <tbody id="s12">
+ <tr><th><a href="chapter-12.xht">Chapter 12 -
+ The backface-visibility Property</a></th>
+ <td>(8 Tests)</td></tr>
+ </tbody>
+ <tbody id="s13">
+ <tr><th><a href="chapter-13.xht">Chapter 13 -
+ The SVG transform Attribute</a></th>
+ <td>(703 Tests)</td></tr>
+ </tbody>
+ <tbody id="s14">
+ <tr><th><a href="chapter-14.xht">Chapter 14 -
+ SVG Animation</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s15">
+ <tr><th><a href="chapter-15.xht">Chapter 15 -
+ The Transform Functions</a></th>
+ <td>(691 Tests)</td></tr>
+ </tbody>
+ <tbody id="s16">
+ <tr><th><a href="chapter-16.xht">Chapter 16 -
+ The Transform Function Lists</a></th>
+ <td>(13 Tests)</td></tr>
+ </tbody>
+ <tbody id="s17">
+ <tr><th><a href="chapter-17.xht">Chapter 17 -
+ Interpolation of Transforms</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s18">
+ <tr><th><a href="chapter-18.xht">Chapter 18 -
+ Transform function primitives and derivatives</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s19">
+ <tr><th><a href="chapter-19.xht">Chapter 19 -
+ Interpolation of primitives and derived transform functions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s20">
+ <tr><th><a href="chapter-20.xht">Chapter 20 -
+ Interpolation of Matrices</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s21">
+ <tr><th><a href="chapter-21.xht">Chapter 21 -
+ Mathematical Description of Transform Functions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ </table>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-2d-getComputedStyle-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-2d-getComputedStyle-001.xht
new file mode 100644
index 00000000000..bf0a27a03c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-2d-getComputedStyle-001.xht
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="mailto:youremail@address.com" rel="author" title="Your Name" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="CSS 2D transforms correctly report their matrix via getComputedStyle()" name="assert" />
+ <style type="text/css">
+ .block {
+ display: block;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ #translate {
+ transform: translate(10px, 20px);
+ }
+ #translateX {
+ transform: translateX(10px);
+ }
+ #translateY {
+ transform: translateY(20px);
+ }
+ #rotate {
+ transform: rotate(90deg);
+ }
+ #scale {
+ transform: scale(2.0);
+ }
+ #scaleX {
+ transform: scaleX(0.5);
+ }
+ #scaleY {
+ transform: scaleY(1.5);
+ }
+ #skewX {
+ transform: skewX(45deg);
+ }
+ #skewY {
+ transform: skewY(45deg);
+ }
+ #matrix {
+ transform: matrix(1, 2, 3, 4, 5, 6);
+ }
+ </style>
+ <script id="metadata_cache">/*
+ {
+ "Matrix for translation transforms": {},
+ "Matrix for rotate": {},
+ "Matrix for scaling": {},
+ "Matrix for skew": {},
+ "Matrix for general transform": {}
+ }
+ */</script>
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="log"></div>
+
+ <div class="block" id="translate"></div>
+ <div class="block" id="translateX"></div>
+ <div class="block" id="translateY"></div>
+ <div class="block" id="rotate"></div>
+ <div class="block" id="scale"></div>
+ <div class="block" id="scaleX"></div>
+ <div class="block" id="scaleY"></div>
+ <div class="block" id="skewX"></div>
+ <div class="block" id="skewY"></div>
+ <div class="block" id="matrix"></div>
+ <script type="text/javascript">
+ function getTransformFor(id) {
+ return window.getComputedStyle(document.getElementById(id)).getPropertyValue("transform");
+ }
+ function clear(id) {
+ document.getElementById(id).style.display = 'none';
+ }
+
+ test(function() {
+ assert_equals(getTransformFor("translate"), "matrix(1, 0, 0, 1, 10, 20)", "Incorrect matrix for translate()");
+ clear("translate");
+ assert_equals(getTransformFor("translateX"), "matrix(1, 0, 0, 1, 10, 0)", "Incorrect matrix for translateX()");
+ clear("translateX");
+ assert_equals(getTransformFor("translateY"), "matrix(1, 0, 0, 1, 0, 20)", "Incorrect matrix for translateY()");
+ clear("translateY");
+ }, "Matrix for translation transforms");
+
+ test(function() {
+ assert_equals(getTransformFor("rotate"), "matrix(0, 1, -1, 0, 0, 0)", "Incorrect matrix for rotate()");
+ clear("rotate");
+ }, "Matrix for rotate");
+
+ test(function() {
+ assert_equals(getTransformFor("scale"), "matrix(2, 0, 0, 2, 0, 0)", "Incorrect matrix for scale()");
+ clear("scale");
+ assert_equals(getTransformFor("scaleX"), "matrix(0.5, 0, 0, 1, 0, 0)", "Incorrect matrix for scaleX()");
+ clear("scaleX");
+ assert_equals(getTransformFor("scaleY"), "matrix(1, 0, 0, 1.5, 0, 0)", "Incorrect matrix for scaleY()");
+ clear("scaleY");
+ }, "Matrix for scaling");
+
+ test(function() {
+ assert_equals(getTransformFor("skewX"), "matrix(1, 0, 1, 1, 0, 0)", "Incorrect matrix for skewX()");
+ clear("skewX");
+ assert_equals(getTransformFor("skewY"), "matrix(1, 1, 0, 1, 0, 0)", "Incorrect matrix for skewY()");
+ clear("skewY");
+ }, "Matrix for skew");
+
+ test(function() {
+ assert_equals(getTransformFor("matrix"), "matrix(1, 2, 3, 4, 5, 6)", "Incorrect matrix for matrix()");
+ clear("matrix");
+ }, "Matrix for general transform");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-above-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-above-001.xht
new file mode 100644
index 00000000000..cb2bf81ee28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-above-001.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" />
+ <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.xht" />
+ <meta name="flags" content="" />
+ <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid." />
+ <style type="text/css"><![CDATA[
+div {
+ height: 150px;
+ width: 150px;
+}
+.background {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+.container {
+ position: absolute;
+ top: 20px;
+ left: 0;
+ perspective: 500px;
+}
+.transformed {
+ background-color: red;
+ transform: rotateY(50deg);
+}
+.stair {
+ background-color: green;
+ position: absolute;
+}
+#one {
+ width: 33px;
+ height: 170px;
+ top: 10px;
+ left: 20px;
+}
+#two {
+ width: 33px;
+ height: 158px;
+ top: 16px;
+ left: 53px;
+}
+#three {
+ width: 33px;
+ height: 147px;
+ top: 21px;
+ left: 86px;
+}
+.stairs {
+ height: 180px;
+}
+ ]]></style>
+ </head>
+ <body>
+<div class="background">
+<div class="container">
+ <div class="transformed"></div>
+</div>
+<div class="stairs">
+ <div id="one" class="stair"></div>
+ <div id="two" class="stair"></div>
+ <div id="three" class="stair"></div>
+</div>
+</div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-below-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-below-001.xht
new file mode 100644
index 00000000000..d7b3780f215
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-3d-rotateY-stair-below-001.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" />
+ <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.xht" />
+ <meta name="flags" content="" />
+ <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid." />
+ <style type="text/css"><![CDATA[
+div {
+ height: 150px;
+ width: 150px;
+}
+.background {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+.container {
+ position: absolute;
+ top: 20px;
+ left: 0;
+ perspective: 500px;
+}
+.transformed {
+ background-color: green;
+ transform: rotateY(50deg);
+}
+.stair {
+ background-color: red;
+ position: absolute;
+}
+#one {
+ width: 32px;
+ height: 158px;
+ top: 16px;
+ left: 21px;
+}
+#two {
+ width: 33px;
+ height: 146px;
+ top: 22px;
+ left: 53px;
+}
+#three {
+ width: 33px;
+ height: 134px;
+ top: 28px;
+ left: 85px;
+}
+.stairs {
+ height: 180px;
+}
+ ]]></style>
+ </head>
+ <body>
+<div class="background">
+<div class="stairs">
+ <div id="one" class="stair"></div>
+ <div id="two" class="stair"></div>
+ <div id="three" class="stair"></div>
+</div>
+<div class="container">
+ <div class="transformed"></div>
+</div>
+</div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-001.xht
new file mode 100644
index 00000000000..a236ff45008
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-001.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (left/top)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-002.xht
new file mode 100644
index 00000000000..84cf5159e28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-002.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (left/top offsets)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-003.xht
new file mode 100644
index 00000000000..dc1eceee8d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-003.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (right/bottom offsets)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport. (This test
+ differs from the previous in that it uses right/bottom properties for
+ positioning instead of left/top.)" name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ right: -150px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-004.xht
new file mode 100644
index 00000000000..1558a16b926
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-004.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (bottom/right)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer author" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. This test differs from transform-abspos-001.html in that it uses the
+ right/bottom properties for positioning instead of top/left." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ right: -150px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-005.xht
new file mode 100644
index 00000000000..ae19df20c98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-005.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (bottom/right)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. Therefore, this test should be offset by one pixel from the
+ reference." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="mismatch" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ right: -160px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-006.xht
new file mode 100644
index 00000000000..ef8a730dffa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-006.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (table)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. This test differs from transform-abspos-001.html in that the outer div is a
+ table, which might cause buggy rendering engines to treat it differently." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ display: table;
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-007.xht
new file mode 100644
index 00000000000..2e137ae71e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-abspos-007.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (inline-table)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport. This test
+ differs from transform-abspos-002.html in that the outer div has display:
+ inline-table, which might cause it to render differently in buggy UAs." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ display: inline-table;
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-001.xht
new file mode 100644
index 00000000000..027a671f298
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-001.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: transform applied to elements with 'display' set to 'block'</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property" />
+ <link rel="match" href="reference/transform-applies-to-001-ref.xht" />
+ <meta name="flags" content="" />
+ <meta name="assert" content="The 'transform' property applies to elements with 'display' set to 'block'." />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ }
+ div p {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ }
+ #red {
+ width: 50px;
+ height: 100px;
+ background-color: green;
+ border-right: red solid 50px;
+ }
+ #test {
+ width: 100px;
+ height: 50px;
+ background-color: transparent;
+ border-top: green solid 50px;
+ transform: rotate(90deg);
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>You should see a green box. There should be no red.</p>
+ <div>
+ <p id="red"></p>
+ <p id="test"></p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-002.xht
new file mode 100644
index 00000000000..54bba197d37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-applies-to-002.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: Transform does not apply to non-replaced inline elements</title>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property" />
+ <link rel="match" href="reference/transform-applies-to-002-ref.xht" />
+ <meta name="flags" content="ahem" />
+ <meta name="assert" content="The 'transform' property does not apply to non-replaced inline elements." />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ color: green;
+ }
+ div p {
+ width: 10em;
+ font-family: Ahem;
+ position: absolute;
+ top: 0;
+ left: 0;
+ line-height: 2;
+ }
+ #red span {
+ color: red;
+ }
+ #test span {
+ transform: rotate(90deg);
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>
+ You should see two lines of 5 green boxes each. You should see no
+ red.
+ </p>
+ <div>
+ <p id="red">X X <span>X X X X X X</span> X X</p>
+ <p id="test">X X <span>X X X X X X</span> X X</p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-001.xht
new file mode 100644
index 00000000000..ef323b16db4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (rotate right)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ background: url(support/transform-triangle-left.svg);
+ transform: translate(50px, -50px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-002.xht
new file mode 100644
index 00000000000..18c27753e4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (rotate left)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ background: url(support/transform-triangle-right.svg);
+ transform: translate(50px, -50px) rotate(270deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-003.xht
new file mode 100644
index 00000000000..e1489394b1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (flip)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ background: url(support/transform-triangle-down.svg);
+ transform: scale(-1);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-004.xht
new file mode 100644
index 00000000000..c09d4268c1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (nested flip)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. This file tests
+ that a transform on the parent works correctly, not just on the element
+ itself." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ }
+ body &gt; div {
+ transform: scale(-1);
+ }
+ body &gt; div &gt; div {
+ background: url(support/transform-triangle-down.svg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-005.xht
new file mode 100644
index 00000000000..1d71470bae3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-005.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (non-propagated body)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. In this case the
+ scale is applied to the root element, and the background is on the body.
+ The white background on the root element prevents the body's background
+ from propagating to the canvas, so it's just a regular background." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <style>
+ html, body {
+ width: 100%;
+ height: 100%;
+ }
+ html {
+ background: white;
+ transform: scale(-1);
+ }
+ body {
+ background: url(support/transform-triangle-down.svg) bottom right;
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-006.xht
new file mode 100644
index 00000000000..11b3ee7024b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (propagated body)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. In this case the
+ transform is applied to the body element, but the root element's background
+ is transparent, so the background is actually on the root element instead
+ of the body. Therefore, the transform must not affect the background." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <link href="reference/transform-background-006-notref.xht" rel="mismatch" />
+ <style>
+ body {
+ background: url(support/transform-triangle-up.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-007.xht
new file mode 100644
index 00000000000..6cf96963fab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-007.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (propagated body with root element transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="&quot;If the root element is transformed, the
+ transformation applies to the entire canvas, including any background
+ specified for the root element. Since the background painting area for the
+ root element is the entire canvas, which is infinite, the transformation
+ might cause parts of the background that were originally off-screen to
+ appear. For example, if the root element's background were repeating
+ dots, and a transformation of 'scale(0.5)' were specified on the
+ root element, the dots would shrink to half their size, but there will be
+ twice as many, so they still cover the whole viewport.&quot; In this case, the
+ background is specified on the body but propagates to the root element.
+ The transform is on the root element, so it needs to affect the background.
+ The rotation 90 degrees clockwise means that most of the screen will be
+ filled with triangles that were originally above the top of the viewport;
+ the original top row of triangles will now be on the left." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <style>
+ html {
+ overflow: hidden;
+ transform: rotate(90deg);
+ transform-origin: 50px 50px;
+ }
+ body {
+ background: url(support/transform-triangle-left.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-008.xht
new file mode 100644
index 00000000000..99c8e7ad4e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-background-008.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (root element background and transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="This is exactly the same as
+ transform-background-007.html, except that the background is specified directly on the
+ root element instead of being specified on the body and propagating to the
+ root." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ transform-origin: 50px 50px;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-compound-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-compound-001.xht
new file mode 100644
index 00000000000..386a8d78adb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-compound-001.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Compound Transforms</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:robert@ocallahan.org" rel="author" title="Robert O'Callahan" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Tests that applying multiple transforms to an
+ element is the same as applying the transforms in the same order to nested
+ elements." name="assert" />
+ <link href="reference/transform-compound-ref.xht" rel="match" />
+ <link href="reference/transform-compound-notref-1.xht" rel="mismatch" />
+ <link href="reference/transform-compound-notref-2.xht" rel="mismatch" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ body &gt; div &gt; div {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: translate(100px) scale(2) rotate(90deg) skewX(15deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-descendant-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-descendant-001.xht
new file mode 100644
index 00000000000..6bb66b57e9c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-descendant-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform Affects Descendant</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This just tests that a transform on a
+ container div moves its contents, not just the div itself." name="assert" />
+ <link href="reference/transform-descendant-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+ span {
+ background: yellow;
+ }
+ body &gt; div &gt; div {
+ transform: translate(20px, 150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div><span>span 1</span></div>
+ </div>
+ <span>span 2</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-001.xht
new file mode 100644
index 00000000000..cc789b07676
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inline-Block</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="Inline-blocks are atomic inline-level
+ elements, so should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: inline-block;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-002.xht
new file mode 100644
index 00000000000..aa249f9d9e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="Inline-blocks are block-level elements, so
+ should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-003.xht
new file mode 100644
index 00000000000..7aaff706d3f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-003.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="Inline-tables are atomic inline-level
+ elements, so should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-004.xht
new file mode 100644
index 00000000000..f3c8226602d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-display-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): List-Item</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="List-items are block-level elements, so
+ should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: list-item;
+ list-style-type: none;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-001.xht
new file mode 100644
index 00000000000..e8b0594c181
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;Fixed backgrounds are affected by any
+ transform specified for the root element, and not by any other transforms.&quot;
+ Thus if we have a div that's 100px square aligned at the top left of
+ the page, giving it a fixed background and translating it 50px down and
+ right should be the same as giving it a non-fixed background that's
+ translated 50px down and right." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-002.xht
new file mode 100644
index 00000000000..581a0733eeb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (with scrolling)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='"Fixed backgrounds are affected by any
+ transform specified for the root element, and not by any other transforms."
+ Here we translate the div 150px down instead of 50px, and also scroll down
+ 100px. This should be the same as the previous test because the background
+ image is 100px square.' name="assert" />
+ <meta content="svg dom" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ height: 5000px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+ <script>scroll(0, 100)</script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-003.xht
new file mode 100644
index 00000000000..c47afb30d30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (with rotation)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is the same as transform-fixed-bg-001,
+ except that we also test that a rotation on a non-root element doesn't
+ affect fixed backgrounds." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 50px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-004.xht
new file mode 100644
index 00000000000..99f1cf0fd1f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (with rotation and scrolling)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is the same as transform-fixed-bg-002,
+ except that we also test that a rotation on a non-root element doesn't
+ affect fixed backgrounds." name="assert" />
+ <meta content="svg dom" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ height: 5000px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 150px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+ <script>scroll(0, 100)</script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-005.xht
new file mode 100644
index 00000000000..8390b2217a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (no-op transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This affects that adding a no-op transform to
+ an element with a fixed background doesn't affect rendering." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ transform: translate(0);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-006.xht
new file mode 100644
index 00000000000..4c3175f51f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (transform of intermediate)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This tests that adding a rotation to a
+ non-root element doesn't affect rendering of fixed backgrounds on its
+ descendants." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ transform: rotate(90deg);
+ transform-origin: 100px 100px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-007.xht
new file mode 100644
index 00000000000..e3e3926d028
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-fixed-bg-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (transform on root)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This tests that a transform on the root
+ element *does* affect the rendering of fixed backgrounds on its
+ descendants." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ html {
+ transform: rotate(-90deg);
+ transform-origin: 100px 100px;
+ overflow: hidden;
+ }
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-up.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-001.xht
new file mode 100644
index 00000000000..e4422c63706
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Generated Content (block)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Transforms need to work on boxes of generated
+ content just as on any other boxes. This file tests a generated block
+ box." name="assert" />
+ <link href="reference/transform-generated-001-ref.xht" rel="match" />
+ <link href="reference/transform-generated-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ float: left;
+ }
+ div::before {
+ transform: rotate(180deg);
+ float: left;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-002.xht
new file mode 100644
index 00000000000..dca301801cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-generated-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Generated Content (inline)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Transforms need to work on boxes of generated
+ content just as on any other boxes. This file tests a generated inline
+ box." name="assert" />
+ <link href="reference/transform-generated-002-ref.xht" rel="match" />
+ <link href="reference/transform-generated-002-notref.xht" rel="mismatch" />
+ <style>
+ span::before {
+ transform: rotate(180deg);
+ transform-origin: left;
+ display: block;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-iframe-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-iframe-001.xht
new file mode 100644
index 00000000000..06b510dd791
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-iframe-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Iframe</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This test ensures that transforms cannot move
+ the contents of an iframe onto the parent page. The iframe here contains a
+ red box shifted 500px down and to the right, outside the iframe's
+ visible area. overflow: hidden ensures that scrollbars are not tested." name="assert" />
+ <link href="reference/transform-iframe-ref.xht" rel="match" />
+ <style>
+ iframe {
+ overflow: hidden;
+ height: 200px;
+ width: 300px;
+ }
+ </style>
+ </head><body><iframe src="support/transform-iframe-001-contents.html"></iframe>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-image-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-image-001.xht
new file mode 100644
index 00000000000..7472378bb19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-image-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformed &lt;img&gt;</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="An &lt;img> is a transformable element, so
+ transforms should work on it the same as any image. This test compares an
+ img element with a 90deg rotation transform applied to a different image
+ that was pre-rotated by 90 degrees." name="assert" />
+ <link href="reference/transform-image-ref.xht" rel="match" />
+ <style>
+ img {
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <img src="support/transform-triangle-up.svg" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-001.xht
new file mode 100644
index 00000000000..28db4152730
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-001.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'inherit' and em</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The 'transform' property's
+ computed value (which is what's inherited if 'inherit' is
+ specified) is defined as &quot;As specified, but with relative lengths converted
+ into absolute lengths.&quot; In this test, a parent element has a transform of
+ 1em with a font-size of 25px, and the child has &quot;transform: inherit&quot;.
+ Since the relative length of 1em is converted to an absolute length of 25px
+ before inheritance, the child should be translated by a further 25px, for a
+ total of 50px, even though its font-size is 100px. An implementation that
+ incorrectly inherited 1em without converting it to an absolute length first
+ would translate by 125px." name="assert" />
+ <link href="reference/transform-inherit-ref.xht" rel="match" />
+ <style>
+ body {
+ font-size: 25px;
+ transform: translate(1em, 1em);
+ overflow: hidden;
+ }
+ div {
+ font-size: 100px;
+ transform: inherit;
+ height: 100px;
+ width: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-002.xht
new file mode 100644
index 00000000000..b084cc8632b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-002.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'inherit' and percentages</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The 'transform' property's
+ computed value (which is what's inherited if 'inherit' is
+ specified) is defined as &quot;As specified, but with relative lengths converted
+ into absolute lengths.&quot; In this test, a parent element has a transform of
+ 10% with a height/width of 400px, and the child has &quot;transform: inherit&quot;
+ and a height/width of 100px. Since percentages are not relative lengths
+ and are inherited as specified, the parent should be translated by 40px and
+ then the child by only 10px, for a total of 50px. An implementation that
+ incorrectly converted the parent's 10% transform into 40px before
+ inheritance would translate the child by a further 40px, for a total of
+ 80px." name="assert" />
+ <link href="reference/transform-inherit-ref.xht" rel="match" />
+ <style>
+ body {
+ height: 400px;
+ width: 400px;
+ transform: translate(10%, 10%);
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ transform: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-001.xht
new file mode 100644
index 00000000000..34325d31217
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-001.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): "transform-origin: inherit" and em</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="The 'transform-origin'
+ property's computed value (which is what's inherited if
+ 'inherit' is specified) is defined as &quot;For &lt;length> the
+ absolute value, otherwise a percentage.&quot; In this test, a parent element
+ has a transform-origin of '5em 10em' with a font-size of 10px, and
+ the child has &quot;transform-origin: inherit&quot;. Since the relative length of
+ 5em is converted to an absolute length before inheritance, the
+ transform-origin should be at the bottom of the child, 50px 100px. The
+ 180deg rotation should thus effectively move the child down 100px. An
+ implementation that incorrectly inherited the transform-origin value before
+ converting to an absolute length would treat it as 100px 200px, since the
+ child has a font-size of 20px, so it would effectively translate the child
+ 100px right and 300px down." name="assert" />
+ <link href="reference/transform-inherit-origin-ref.xht" rel="match" />
+ <style>
+ body {
+ font-size: 10px;
+ transform-origin: 5em 10em;
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ font-size: 20px;
+ transform: rotate(180deg);
+ transform-origin: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-002.xht
new file mode 100644
index 00000000000..a710cdcb130
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inherit-origin-002.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): "transform-origin: inherit" and percentages</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="The 'transform-origin'
+ property's computed value (which is what's inherited if
+ 'inherit' is specified) is defined as &quot;For &lt;length> the
+ absolute value, otherwise a percentage.&quot; In this test, a parent element
+ has a transform-origin of '50% 100%' with a height/width of 50px,
+ and the child has &quot;transform-origin: inherit&quot; with a height/width of 100px.
+ Since the transform-origin is a percentage, it's inherited before it
+ gets resolved to a length. This means it works out to 50px 100px on the
+ child, at its center, so the 180deg rotation should translate the child
+ down by 100px. An implementation that incorrectly resolved the
+ transform-origin to 25px 50px before inheritance would instead display the
+ child box translated left 75px." name="assert" />
+ <link href="reference/transform-inherit-origin-ref.xht" rel="match" />
+ <style>
+ body {
+ height: 50px;
+ width: 50px;
+ transform-origin: 50% 100%;
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ transform: rotate(180deg);
+ transform-origin: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inline-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inline-001.xht
new file mode 100644
index 00000000000..26f57804109
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-inline-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformed Inline</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The definition of &quot;transformable element&quot;
+ includes atomic inline-level elements, such as images, but not regular
+ inline-level elements, such as spans. The 'transform' property
+ only applies to transformable elements, so it should have no effect on a
+ span." name="assert" />
+ <link href="reference/transform-inline-ref.xht" rel="match" />
+ <link href="reference/transform-inline-notref.xht" rel="mismatch" />
+ <style>
+ span, p + p {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>This is some <span>text<br />that is</span> not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-001.xht
new file mode 100644
index 00000000000..5a48af762fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-001.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=text)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-001-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=text</p>
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-002.xht
new file mode 100644
index 00000000000..c43fdeb4574
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-002.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=file)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-002-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=file</p>
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-003.xht
new file mode 100644
index 00000000000..59d5ff4c0c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-003.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=search)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-003-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=search</p>
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-004.xht
new file mode 100644
index 00000000000..8f4e6d987b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-004.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=tel)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-004-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=tel</p>
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-005.xht
new file mode 100644
index 00000000000..e878d37f7be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-005.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=url)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-005-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=url</p>
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-006.xht
new file mode 100644
index 00000000000..433f37c678a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-006.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=email)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-006-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=email</p>
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-007.xht
new file mode 100644
index 00000000000..987dc571db2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-007.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=password)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-007-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=password</p>
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-008.xht
new file mode 100644
index 00000000000..27d3c5277e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-008.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=datetime)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-008-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime</p>
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-009.xht
new file mode 100644
index 00000000000..5e375e0716d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-009.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=date)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-009-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=date</p>
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-010.xht
new file mode 100644
index 00000000000..1d7cf8c0ed0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-010.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=month)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-010-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=month</p>
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-011.xht
new file mode 100644
index 00000000000..a944d79c382
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-011.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=week)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-011-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=week</p>
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-012.xht
new file mode 100644
index 00000000000..cccb89ccca9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-012.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=time)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-012-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=time</p>
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-013.xht
new file mode 100644
index 00000000000..158f1507e02
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-013.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=datetime-local)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-013-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime-local</p>
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-014.xht
new file mode 100644
index 00000000000..d271266b748
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-014.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=number)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-014-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=number</p>
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-015.xht
new file mode 100644
index 00000000000..b23dac719ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-015.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=range)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-015-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=range</p>
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-016.xht
new file mode 100644
index 00000000000..95e459b113c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-016.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=color)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-016-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=color</p>
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-017.xht
new file mode 100644
index 00000000000..b3f02415a5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-017.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=checkbox)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-017-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=checkbox</p>
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-018.xht
new file mode 100644
index 00000000000..2d012a85581
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-018.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=radio)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-018-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=radio</p>
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-019.xht
new file mode 100644
index 00000000000..1056d565728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-input-019.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=submit)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-019-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=submit</p>
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-001.xht
new file mode 100644
index 00000000000..4c523de2646
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateX()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateX() has the same
+ effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-001-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 100, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-002.xht
new file mode 100644
index 00000000000..49228b0364a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateY()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateY() has the same
+ effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-002-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 0, 100);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-003.xht
new file mode 100644
index 00000000000..5a618bcd6cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateX(%)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateX() with a percentage
+ argument has the same effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-003-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 47, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-004.xht
new file mode 100644
index 00000000000..7baef400e66
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateY(%)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateY() with a percentage
+ argument has the same effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-004-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 0, 23);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-005.xht
new file mode 100644
index 00000000000..aff58049ab9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-005.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/skewX()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that skewX() has the same effect as
+ an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-005-ref.xht" rel="match" />
+ <link href="reference/transform-matrix-005-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: matrix(1, 0, 1, 1, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-006.xht
new file mode 100644
index 00000000000..a38c3915dc2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/skewY()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that skewY() has the same effect as
+ an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-006-ref.xht" rel="match" />
+ <link href="reference/transform-matrix-005-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: matrix(1, 1, 0, 1, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-007.xht
new file mode 100644
index 00000000000..dc4e02f7a3a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-007.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/scale()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that scale() has the same
+ effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-007-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(2, 0, 0, 4, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-008.xht
new file mode 100644
index 00000000000..1ccbec99e58
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-matrix-008.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix() with non-numeric args</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that providing length or percentage
+ values as arguments to matrix() is a syntax error." name="assert" />
+ <link href="reference/transform-matrix-008-ref.xht" rel="match" />
+ <link href="reference/transform-matrix-008-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ }
+ body &gt; div {
+ transform: matrix(1, 0, 0, 1, 50px, 0);
+ }
+ body &gt; div &gt; div {
+ transform: matrix(1, 0, 0, 1, 50%, 0);
+ }
+ body &gt; div &gt; div &gt; div {
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-001.xht
new file mode 100644
index 00000000000..9fcbfca075d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Default transform-origin not top left</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 0% 0% must not result in
+ the same rendering as the default of 50% 50%, if a 45-degree rotation is
+ applied." name="assert" />
+ <link href="reference/transform-origin-ref-1.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 0% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-002.xht
new file mode 100644
index 00000000000..02af1da477c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Default transform-origin not center right</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 100% 50% must not result
+ in the same rendering as the default of 50% 50%, if a 45-degree rotation is
+ applied." name="assert" />
+ <link href="reference/transform-origin-ref-1.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 100% 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-003.xht
new file mode 100644
index 00000000000..6c6e99585e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-003.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 1</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 101px 51px must result
+ in the same rendering as the default of 50% 50% in this case. The content
+ box is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 101px 51px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-004.xht
new file mode 100644
index 00000000000..6703871faa1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 2</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 101px 50% must result
+ in the same rendering as the default of 50% 50% in this case. The content
+ box is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 101px 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-005.xht
new file mode 100644
index 00000000000..61c98d9370d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 3</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 50% 51px must result in
+ the same rendering as the default of 50% 50% in this case. The content box
+ is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 50% 51px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-006.xht
new file mode 100644
index 00000000000..66f101fdce8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-006.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 4</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="Percentages in transform-origin refer to the
+ size of the element's border box. This tests that they don't
+ refer to the content, padding, or margin box by applying nonzero margin,
+ border, and padding. (Note: an implementation that resolves percentages
+ relative to the incorrect box might fail this test by only a few pixels, so
+ it's important to check that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 190px;
+ height: 90px;
+ padding: 5px;
+ border: 1px solid black;
+ margin: 5px;
+ transform: rotate(45deg);
+ transform-origin: 50% 50%;
+ position: relative;
+ right: 5px;
+ }
+ body &gt; div &gt; div {
+ margin: -5px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text!</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-007.xht
new file mode 100644
index 00000000000..12eef2521cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-007.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'bottom' computes to 100% for the vertical position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 0px 50px 100px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% bottom;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 0px 50px 100px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% 100%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-008.xht
new file mode 100644
index 00000000000..c614e443ffc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-008.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - center 0%('center' computes to '50%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 50px 0px 50px;
+ transform: rotate(180deg);
+ transform-origin: center 0%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 50px 0px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-009.xht
new file mode 100644
index 00000000000..967233339e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-009.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - 0% center('center' computes to '50%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 50px 0px 50px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% center;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 50px 0px 50px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 50%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-01.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-01.xht
new file mode 100644
index 00000000000..31ef459a700
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-01.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: SVG Transform using transform-origin</title>
+ <link href="mailto:gammon@adobe.com" rel="author" title="CJ Gammon" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/transform-origin-01-ref.xht" rel="match" />
+ <meta content="If only one value is specified, the second value is assumed to be ‘center’" name="assert" />
+ <style type="text/css">
+ #container{
+ position: relative;
+ }
+
+ .square{
+ position: absolute;
+ }
+
+ #blue{
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: blue;
+ }
+
+ #red{
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform-origin: left center;
+ transform: rotate(90deg);
+ }
+
+ #green{
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform-origin: left;
+ transform: rotate(90deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red or blue square.</p>
+ <div id="container">
+ <div class="square" id="blue"></div>
+ <div class="square" id="red"></div>
+ <div class="square" id="green"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-010.xht
new file mode 100644
index 00000000000..c68b20f0e21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-010.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - left 0%('left' computes to '0%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'left' computes to 0% for the horizontal position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: left 0%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-011.xht
new file mode 100644
index 00000000000..b4ada170220
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-011.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - right 100%('right' computes to '100%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'right' computes to 100% for the horizontal position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 0px 100px 100px 0px;
+ transform: rotate(180deg);
+ transform-origin: right 100%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 0px 100px 100px 0px;
+ transform: rotate(180deg);
+ transform-origin: 100% 100%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-012.xht
new file mode 100644
index 00000000000..b6bed2ed37e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-012.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - 0% top('top' computes to '0%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'top' computes to 0% for the vertical position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% top;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-001.xht
new file mode 100644
index 00000000000..3cae4310bdd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top left</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin: top
+ left' is the same as 'transform-origin: 0% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-1.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top left;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-002.xht
new file mode 100644
index 00000000000..f823c966946
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: left top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin: left
+ top' is the same as 'transform-origin: 0% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-1.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: left top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-003.xht
new file mode 100644
index 00000000000..cb43daf3427
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ top' is the same as 'transform-origin: 50% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-2.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-004.xht
new file mode 100644
index 00000000000..4ea303c3426
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top center</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ top center' is the same as 'transform-origin: 50% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-2.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top center;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-005.xht
new file mode 100644
index 00000000000..81003103911
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: center top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ center top' is the same as 'transform-origin: 50% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-2.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: center top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-006.xht
new file mode 100644
index 00000000000..ebdf1989d38
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top right</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ top right' is the same as 'transform-origin: 100% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-3.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top right;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-007.xht
new file mode 100644
index 00000000000..778b776e1aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin-name-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: right top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ right top' is the same as 'transform-origin: 100% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-3.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: right top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin.xht
new file mode 100644
index 00000000000..e98f244557d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-origin.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform-origin</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-transform-origin" rel="help" />
+ <link href="reference/transform-origin-ref.xht" rel="match" />
+ <meta content="The transform should change the transform-origin to the bottom right and rotate 180 degrees" name="assert" />
+ <style type="text/css">
+ body {margin:0}
+ #greenSquare {
+ position: absolute;
+ top: 0px;
+ left: -100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform-origin: right bottom;
+ transform:rotate(90deg);
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ #redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ }
+ </style>
+
+</head>
+<body>
+
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div id="redSquare"></div>
+ <div id="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-001.xht
new file mode 100644
index 00000000000..910d148922d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): overflow: auto</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;. . . if the value of the 'overflow' property
+ is 'scroll' or 'auto', scrollbars will appear as needed to see content that
+ is transformed outside the visible area.&quot; This tests that the effect
+ of overflow: auto for a translation is the same as for an equivalent
+ relative positioning." name="assert" />
+ <link href="reference/transform-overflow-001-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: auto;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: translate(150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-002.xht
new file mode 100644
index 00000000000..3e9ab979c1b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-overflow-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): overflow: scroll</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;. . . if the value of the 'overflow' property
+ is 'scroll' or 'auto', scrollbars will appear as needed to see content that
+ is transformed outside the visible area.&quot; This tests that the effect
+ of overflow: scroll for a translation is the same as for an equivalent
+ relative positioning." name="assert" />
+ <link href="reference/transform-overflow-002-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: scroll;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: translate(150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-001.xht
new file mode 100644
index 00000000000..e4384fd3c90
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-002.xht
new file mode 100644
index 00000000000..3ca8fcdbfd9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateY)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-003.xht
new file mode 100644
index 00000000000..44ac72c8ef2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-003.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-004.xht
new file mode 100644
index 00000000000..7659aed31fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-004.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translateY)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-005.xht
new file mode 100644
index 00000000000..889fd5d1641
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translateY and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-006.xht
new file mode 100644
index 00000000000..3f7b5878079
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-007.xht
new file mode 100644
index 00000000000..fadd86b3b0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-007.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateY and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-008.xht
new file mode 100644
index 00000000000..eea7b432968
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-percent-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (border box)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box. This test adds a thicker border plus
+ margin and padding to make any discrepancies more evident." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 60px;
+ height: 10px;
+ padding: 10px;
+ border: 10px solid gold;
+ margin: 10px;
+ background: gold;
+ position: absolute;
+ left: 90px;
+ top: 90px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg) translatey(100%)
+ skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-propagate-inherit-boolean-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-propagate-inherit-boolean-001.xht
new file mode 100644
index 00000000000..ffcaa3dc54d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-propagate-inherit-boolean-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): em on Multiple Elements</title>
+ <link href="http://dbaron.org/" rel="author" title="L. David Baron" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that when a 'transform' rule using
+ em affects two elements with different font-sizes, it affects each
+ according to its respective font-size, rather than using the same length
+ for both. See: https://bugzilla.mozilla.org/show_bug.cgi?id=460440" name="assert" />
+ <link href="reference/transform-propagate-inherit-boolean-ref.xht" rel="match" />
+ <style>
+ p {
+ font-size: 20px;
+ margin: 0;
+ height: 0;
+ width: 100px;
+ transform: translateX(4em);
+ }
+ p + p {
+ font-size: 40px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>One</p>
+ <p>Two</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-001.xht
new file mode 100644
index 00000000000..42ce8ec3a99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(-1) on Root Element With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="The background here extends to the whole
+ canvas, and a transform on the root element must transform the whole
+ canvas, background included. Thus the entire tiled background of
+ left-pointing triangles needs to be rotated 180 degrees (same as scale(-1))
+ around the top center of the viewport, which is the default
+ transform-origin of 50% 50% in this case. An implementation that doesn't
+ draw the background on parts of the canvas outside the viewport might
+ incorrectly display nothing, because the part of the background that's
+ supposed to be rotated into view was initially above the visible part of
+ the canvas." name="assert" />
+ <link href="reference/transform-root-bg-001-ref.xht" rel="match" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(-1);
+ }
+ body {
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-002.xht
new file mode 100644
index 00000000000..6768c290166
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-002.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(-1) on Root Element With Background On Body</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Identical to transform-root-bg-001.html,
+ except that the background property is put on the body rather than the root
+ element. This should make no difference, because the body's background
+ propagates up to the canvas if there's no root element background." name="assert" />
+ <link href="reference/transform-root-bg-001-ref.xht" rel="match" />
+ <style>
+ html {
+ transform: scale(-1);
+ }
+ body {
+ background: url(support/transform-triangle-left.svg);
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-003.xht
new file mode 100644
index 00000000000..7533c32335d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-003.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(0.5) on Root Element With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is the same as
+ transform-root-bg-001.html, except that it uses scale(0.5) instead of
+ scale(-1). It also specifies a transform-origin, because the default of
+ 50% 50% wouldn't work well with the way the reference image is constructed." name="assert" />
+ <link href="reference/transform-root-bg-003-ref.xht" rel="match" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(0.5);
+ /**
+ * The transform-origin here has to fall between two triangles, i.e.,
+ * at a multiple of 100px. Otherwise after the transform, the shrunken
+ * images won't line up with the left edge of the body, and it won't
+ * match the ref (since the background here is positioned at the left).
+ * We deliberately make it an odd multiple of the number of images so
+ * it catches an IE bug; it shouldn't matter per spec
+ */
+ transform-origin: 300px 0;
+ }
+ body {
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-004.xht
new file mode 100644
index 00000000000..5ef6c2b8b83
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-root-bg-004.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(-1) On Body With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is like transform-root-bg-002.html,
+ except that the transform is specified on the body element, not just the
+ background. The background gets lifted to the root element, but the
+ transform does not, so the transform has no effect." name="assert" />
+ <link href="reference/transform-root-bg-004-ref.xht" rel="match" />
+ <style>
+ body {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(-1);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-001.xht
new file mode 100644
index 00000000000..4cde350dc41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(360deg);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-002.xht
new file mode 100644
index 00000000000..20aa9acf725
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-002.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(400grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(400grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-003.xht
new file mode 100644
index 00000000000..99b0699c5f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(100deg) rotate(80deg)
+ rotate(200grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-004.xht
new file mode 100644
index 00000000000..c5d36e6d1c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(-45deg) rotate(100grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(-45deg) rotate(100grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-005.xht
new file mode 100644
index 00000000000..9fe145363c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(-135deg)
+ rotate(3.1415926535897932384626433rad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(-135deg) rotate(3.1415926535897932384626433rad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-006.xht
new file mode 100644
index 00000000000..63dca3866a4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(1turn)</title>
+ <link href="mailto:bzbarsky@mit.edu" rel="author" title="Boris Zbarsky" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(0.125turn);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-007.xht
new file mode 100644
index 00000000000..da654e17c04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rotate-007.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Rotated Simple Box</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This tests that rotating a simple rectangle by
+ 90 degrees produces another rectangle of the appropriate dimensions." name="assert" />
+ <link href="reference/transform-rotate-007-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-007-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ border: 1px solid black;
+ transform: translate(50px, -50px) rotate(-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rounding-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rounding-001.xht
new file mode 100644
index 00000000000..2361a85cb37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-rounding-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Rounding</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that the implementation does not
+ round intermediate matrices to the extent that it significantly distorts
+ the final result. (No requirement in the specification places any specific
+ constraints on rounding, but simple cases like this should not deviate
+ dramatically from the mathematically precise result.)" name="assert" />
+ <link href="reference/transform-rounding-ref.xht" rel="match" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: scale(100000) translate(0.001px) scale(0.00001);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-001.xht
new file mode 100644
index 00000000000..ac397d0b624
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(0.5, 0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <meta content="This tests that scale(0.5, 0.5) scales down a
+ box by a factor of one-half." name="assert" />
+ <link href="reference/transform-scale-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(0.5, 0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-002.xht
new file mode 100644
index 00000000000..751f82a25e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <meta content="This tests that scale(0.5) scales down a box
+ by a factor of one-half." name="assert" />
+ <link href="reference/transform-scale-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-percent-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-percent-001.xht
new file mode 100644
index 00000000000..3c3b568738f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-percent-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(50%, 50%)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <meta content="This tests that scale(50%, 50%) does nothing,
+ because scale() is defined to take numbers and not percentages." name="assert" />
+ <link href="reference/transform-scale-percent-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(50%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-test.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-test.xht
new file mode 100644
index 00000000000..60ac09756f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scale-test.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function.</title>
+ <link href="mailto:oleg@the-incredible.me" rel="author" title="Oleg Janeiko" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transform-scale-test-ref.xht" rel="match" />
+ <meta content="This transform shrinks a container by calling scale(.33). It also sets transform-origin to top left in order to visually align with the second green square." name="assert" />
+ <style type="text/css">
+ div {
+ background-color: green;
+ float: left;
+ margin: 50px;
+ }
+ .greenSquare {
+ width: 100px;
+ height: 100px;
+ -webkit-transform: scale(.33);
+ -webkit-transform-origin: top left;
+ }
+ .greenSquareTwo {
+ width: 33px;
+ height: 33px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green squares of the same size.</p>
+ <div class="greenSquareTwo"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scalex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scalex-001.xht
new file mode 100644
index 00000000000..e79ef3327cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scalex-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scaleX(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <meta content="This tests that scaleX(0.5) scales down a
+ box's width by a factor of one-half." name="assert" />
+ <link href="reference/transform-scalex-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scaleX(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scaley-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scaley-001.xht
new file mode 100644
index 00000000000..d66f2c2a22b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-scaley-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scaleY(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <meta content="This tests that scaleY(0.5) scales down a
+ box's width by a factor of one-half." name="assert" />
+ <link href="reference/transform-scaley-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scaleY(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-singular-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-singular-001.xht
new file mode 100644
index 00000000000..d810cf1150c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-singular-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix(1, 1, 1, 1, 0, 0)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <meta content='"If a transform function causes the current
+ transformation matrix (CTM) of an object to be non-invertible, the object
+ and its content do not get displayed." The matrix (1, 1, 1, 1) has
+ determinant 1*1 - 1*1 = 0 and therefore is not invertible, so nothing
+ should display.' name="assert" />
+ <link href="reference/transform-singular-ref.xht" rel="match" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: matrix(1, 1, 1, 1, 0, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ This shouldn't be visible.
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-001.xht
new file mode 100644
index 00000000000..45bee14758e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-001.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, transform: scale(1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This tests that specifying the identity
+ transform on an element still causes it to create a new stacking context
+ (unlike transform: none)." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: scale(1);
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: red;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-002.xht
new file mode 100644
index 00000000000..92e85fa79e8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-002.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, transform: none</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='This tests that "transform: none" does not
+ create a new stacking context -- it should have no effect at all.' name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: none;
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-003.xht
new file mode 100644
index 00000000000..221c59005b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-003.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, invalid transform value</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='This tests that specifying the transform
+ property with an invalid value does not create a new stacking context -- it
+ should have no effect at all, same as "transform: none".' name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: quasit;
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-004.xht
new file mode 100644
index 00000000000..aa77d1b8fc7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stacking-004.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, inherited transform: none</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='This tests that specifying "transform:
+ inherit" (when the parent has no transform) does not create a new stacking
+ context -- it should have no effect at all, same as "transform: none".' name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: inherit;
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stresstest-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stresstest-001.xht
new file mode 100644
index 00000000000..b4e9a3c8d0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-stresstest-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inversion Stress Test</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="This simply applies and then inverts a large
+ number of 2D transform functions, and expects the result to be no transform
+ at all. One extra translateX(100px) is added at the end to ensure that the
+ lack of transform isn't just because the UA parsed it incorrectly, or
+ doesn't support transforms at all." name="assert" />
+ <link href="reference/transform-stresstest-ref.xht" rel="match" />
+ <style>
+ div {
+ height: 200px;
+ width: 200px;
+ background: gold;
+ transform: skewx(45deg)
+ translate(50px, 50px)
+ rotate(45deg)
+ translatex(50px)
+ scale(2.0, 4.0)
+ scale(0.5, 0.25)
+ translatex(-50px)
+ rotate(-45deg)
+ translate(-50px, -50px)
+ skewx(135deg)
+ translateX(100px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-001.xht
new file mode 100644
index 00000000000..2e4b095e186
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that an appropriately-crafted
+ transform applied to a table works the same as if was applied to a wrapper
+ div." name="assert" />
+ <link href="reference/transform-table-001-ref.xht" rel="match" />
+ <link href="reference/transform-table-001-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-002.xht
new file mode 100644
index 00000000000..38288e56a05
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that an appropriately-crafted
+ transform applied to an inline-table works the same as if was applied to a
+ wrapper div." name="assert" />
+ <link href="reference/transform-table-001-ref.xht" rel="match" />
+ <link href="reference/transform-table-002-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ display: inline-table;
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-003.xht
new file mode 100644
index 00000000000..88e7f277669
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that another appropriately-crafted
+ transform applied to a table works the same as if was applied to a wrapper
+ div." name="assert" />
+ <link href="reference/transform-table-001-ref.xht" rel="match" />
+ <link href="reference/transform-table-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: translateX(200px) rotate(180deg) translateY(-100%);
+ transform-origin: left;
+ }
+ table {
+ transform: translateY(100%);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-004.xht
new file mode 100644
index 00000000000..e6b09e71f03
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table with caption-side: bottom</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is the same as transform-table-001.html,
+ except the caption has caption-side: bottom." name="assert" />
+ <link href="reference/transform-table-004-ref.xht" rel="match" />
+ <link href="reference/transform-table-004-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-005.xht
new file mode 100644
index 00000000000..671bd227e19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-005.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table with caption-side: bottom</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is the same as transform-table-002.html,
+ except the caption has caption-side: bottom." name="assert" />
+ <link href="reference/transform-table-004-ref.xht" rel="match" />
+ <link href="reference/transform-table-005-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ display: inline-table;
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-006.xht
new file mode 100644
index 00000000000..11f04cca087
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-006.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 1</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This has preserve-3d applied to the outer
+ wrapper of a table, but not the inner wrapper containing its contents.
+ Therefore, the contents should be rotated 90 degrees and vanish, and the
+ 90-degree rotation on the outer wrapper shouldn't restore them. An
+ implementation that incorrectly propagated preserve-3d to table descendants
+ might cause the text to appear, but mirrored." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ td &gt; div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div>
+ <table>
+ <tbody><tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody></table>
+
+
+</div></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-007.xht
new file mode 100644
index 00000000000..374ab4d6054
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-007.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="In this case, preserve-3d is applied to every
+ element that's explicitly specified in the source code. However, the HTML
+ parser will insert an extra &lt;tbody> element around the &lt;tr>,
+ which will not have preserve-3d specified, so the contents should again
+ vainsh. An implementation that incorrectly propagated preserve-3d to table
+ descendants might cause the text to appear, but mirrored." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ }
+ td &gt; div {
+ transform: rotateX(90deg);
+ }
+ body &gt; div, table, tr, td {
+ transform-style: preserve-3d;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div>
+ <table>
+ <tbody><tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-008.xht
new file mode 100644
index 00000000000..d924c9c0e1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-008.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 3</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is essentially the same as
+ transform-table-006.html, except using divs with 'display' specified
+ instead of actual table elements." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div {
+ display: table;
+ }
+ body &gt; div &gt; div &gt; div {
+ display: table-row;
+ }
+ body &gt; div &gt; div &gt; div &gt; div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div &gt; div &gt; div {
+ transform: rotateX(90deg);
+ }
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;p&gt;Nothing should appear except this sentence.&lt;/p&gt;
+ &lt;div&gt;
+ &lt;div&gt;
+ &lt;div&gt;
+ &lt;div&gt;
+ &lt;div&gt;Some text&lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/body&gt;
+&lt;/html&gt;
+</style></head><body></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-009.xht
new file mode 100644
index 00000000000..14bd7b51947
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-009.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 1</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the same as transform-table-007.html,
+ except that transform-style is also explicitly applied to the intervening
+ &lt;tbody>, so nothing should vanish." name="assert" />
+ <link href="reference/transform-table-009-ref.xht" rel="match" />
+ <link href="reference/transform-table-009-notref.xht" rel="mismatch" />
+ <style>
+ table, tbody, tr, td {
+ margin: 0;
+ padding: 0;
+ border-spacing: 0;
+ }
+ div {
+ transform: rotateX(90deg);
+ }
+ body &gt; div, table, tbody, tr, td {
+ transform-style: preserve-3d;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-010.xht
new file mode 100644
index 00000000000..c9a4ce87063
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-010.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the same as transform-table-007.html,
+ except that now divs are used instead of actual table elements. This means
+ that the parser doesn't create an implicit intervening &lt;tbody>, so
+ preserve-3d is applied to all intervening elements, and the text should
+ display (mirrored)." name="assert" />
+ <link href="reference/transform-table-009-ref.xht" rel="match" />
+ <link href="reference/transform-table-010-notref.xht" rel="mismatch" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div {
+ display: table;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div {
+ display: table-row;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div &gt; div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div &gt; div &gt; div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-011.xht
new file mode 100644
index 00000000000..82cdfa68246
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-table-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 3</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is an even more extreme example of
+ transform-table-010.html. CSS will create several anonymous table boxes
+ wrapping the div with display: table-cell, but none of these have
+ corresponding elements. Every actual element in the DOM still has
+ preserve-3d specified, so the text should not vanish." name="assert" />
+ <link href="reference/transform-table-009-ref.xht" rel="match" />
+ <link href="reference/transform-table-011-notref.xht" rel="mismatch" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-block.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-block.xht
new file mode 100644
index 00000000000..8e5bf2ebe94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-block.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Inline-Block</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on an
+ inline-block work as expected." name="assert" />
+ <link href="reference/transform-transformable-inline-block-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: inline-block;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-table.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-table.xht
new file mode 100644
index 00000000000..7d1111ac40e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-inline-table.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on an
+ inline-table work as expected." name="assert" />
+ <link href="reference/transform-transformable-inline-table-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: inline-table;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-list-item.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-list-item.xht
new file mode 100644
index 00000000000..f04c9256b46
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-list-item.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of List-Item</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ list-item work as expected." name="assert" />
+ <link href="reference/transform-transformable-list-item-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: list-item;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-caption.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-caption.xht
new file mode 100644
index 00000000000..cf3f1a35496
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-caption.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Caption</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-caption work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-caption-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-caption;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-cell.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-cell.xht
new file mode 100644
index 00000000000..65f48a66048
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-cell.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Cell</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-cell work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-cell-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-cell;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-footer-group.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-footer-group.xht
new file mode 100644
index 00000000000..cea6f6a2daa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-footer-group.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Footer-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-footer-group work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-footer-group-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-footer-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-header-group.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-header-group.xht
new file mode 100644
index 00000000000..e6d2680bf68
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-header-group.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Header-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-header-group work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-header-group-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-header-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row-group.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row-group.xht
new file mode 100644
index 00000000000..60bb0023060
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row-group.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Row-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-row-group work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-row-group-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-row-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row.xht
new file mode 100644
index 00000000000..6546d93b794
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table-row.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Row</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-row work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-row-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-row;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table.xht
new file mode 100644
index 00000000000..d92c3517b71
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-transformable-table.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-001.xht
new file mode 100644
index 00000000000..73ba8e67f07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate(50px, 50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(50px, 50px) is the same as
+ relative positioning by 50px toward the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-002.xht
new file mode 100644
index 00000000000..aef1af5429f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate(50px, 50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(50px, 50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(50px, 50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-003.xht
new file mode 100644
index 00000000000..2a37e33f9af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate(25px, 25px) translate(25px, 25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(25px, 25px)
+ translate(25px, 25px) is the same as relative positioning by 50px toward
+ the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(25px, 25px) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-004.xht
new file mode 100644
index 00000000000..50bd07550be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(25px, 25px)
+ plus relative positioning 25px to the bottom right is the same as relative
+ positioning by 50px toward the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(25px, 25px);
+ position: relative;
+ top: 25px;
+ left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-005.xht
new file mode 100644
index 00000000000..454abbfad20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translate-005.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Several Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(50px) translate(-100px) translate(150px)
+ translate(-50px) translate(0px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-001.xht
new file mode 100644
index 00000000000..106e66e0a76
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex(50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(50px) is the same
+ as relative positioning by 50px toward the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-002.xht
new file mode 100644
index 00000000000..35a208ec918
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex(50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-003.xht
new file mode 100644
index 00000000000..c78c9ea4b4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex(25px) translatex(25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(25px)
+ translatex(25px) is the same as relative positioning by 50px toward
+ the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(25px) translatex(25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-004.xht
new file mode 100644
index 00000000000..e908e3cb9e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(25px)
+ plus relative positioning 25px to the right is the same as relative
+ positioning by 50px toward the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(25px);
+ position: relative;
+ left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-005.xht
new file mode 100644
index 00000000000..940bbdfaaf1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-005.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Several X-Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(50px) translatex(-100px) translatex(150px)
+ translatex(-50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-006.xht
new file mode 100644
index 00000000000..6e38c74492a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatex-006.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with translateX function</title>
+ <link href="mailto:serena@codeforamerica.org" rel="author" title="Serena Wales" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <meta content="This tests that translateX(50px) translates a box by 50 pixels in the X direction." name="assert" />
+ <style type="text/css">
+ /* Positioned container allows for the self-describing statement to still
+ be visible in the case of failure */
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform: translateX(50px);
+ /* Add CSS transform here */
+ }
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ top: 0px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-001.xht
new file mode 100644
index 00000000000..bb9308fbf5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey(50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(50px) is the same
+ as relative positioning by 50px toward the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-002.xht
new file mode 100644
index 00000000000..f2c06c750b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey(50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-003.xht
new file mode 100644
index 00000000000..e4999ec0cbe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey(25px) translatey(25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(25px)
+ translatey(25px) is the same as relative positioning by 50px toward
+ the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(25px) translatey(25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-004.xht
new file mode 100644
index 00000000000..da63bbbf913
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(25px)
+ plus relative positioning 25px to the bottom is the same as relative
+ positioning by 50px toward the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(25px);
+ position: relative;
+ top: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-005.xht
new file mode 100644
index 00000000000..c0cb740c872
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform-translatey-005.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Several Y-Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(50px) translatey(-100px) translatey(150px)
+ translatey(-50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-001.xht
new file mode 100644
index 00000000000..08aa032ae9a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, rotatex(180deg)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that a very simple case of
+ backface-visibility causes the element to disappear: rotateX(180deg) is
+ specified on the same element that has backface-visibility: hidden." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { height: 100px; width: 100px }</style>
+ </head>
+ <body>
+ <div style="background:lime">
+ <div style="background:red;transform:rotatex(180deg);
+ backface-visibility:hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-002.xht
new file mode 100644
index 00000000000..a7f9bfa5c27
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ and Child in Different Rendering Contexts</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that if an element has
+ 'backface-visibility: hidden' and is rotated 180deg, so it would normally
+ disappear, it doesn't reappear just because its parent also has a 180deg
+ rotation. The rotations don't cancel, since the parent doesn't have
+ 'transform-style: preserve-3d' and is in a different rendering context." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime;
+ transform:rotatex(180deg)">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(180deg);backface-visibility:hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-003.xht
new file mode 100644
index 00000000000..4bcee0287b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-003.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, rotatex(180deg) on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This is identical to
+ transform3d-backface-visibility-001.html, except that display: table is
+ specified too. This is motivated by a real-world UA bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=724750>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(180deg);backface-visibility:hidden;display:table">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-004.xht
new file mode 100644
index 00000000000..3ff9b214217
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Same Rendering Context, Split Transform</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that if a parent and child are in
+ the same 3D rendering context, and a 60deg rotation on the parent combines
+ with a 60deg rotation on the child to make a 120deg rotation, the child
+ will disappear if 'backface-visibility: hidden' is specified, just like if
+ the 120deg rotation were specified on the child to start with." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime">
+ <div style="transform:rotatex(60deg);transform-style:preserve-3d">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(60deg);backface-visibility:hidden">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-005.xht
new file mode 100644
index 00000000000..0ccbb47800f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-005.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Different Rendering Context</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that if an element is not
+ transformed, but its parent is rotated 180deg in a different rendering
+ context, the child's 'backface-visibility: hidden' does not make it
+ disappear. Only transforms that affect the child itself are relevant to
+ 'backface-visibility'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { width: 100px; height: 100px }</style>
+ </head>
+ <body>
+ <div style="transform: rotateX(180deg); background: red">
+ <div style="backface-visibility: hidden; background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-006.xht
new file mode 100644
index 00000000000..788e213523f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-006.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Same Rendering Context</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This is the same as
+ transform3d-backface-visibility-005.html, except that the parent has
+ 'transform-style: preserve-3d'. Thus the child is affected by the parent's
+ transform and should not be visible." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { width: 100px; height: 100px }</style>
+ </head>
+ <body>
+ <div style="transform: rotateX(180deg); transform-style: preserve-3d;
+ background: lime">
+ <div style="backface-visibility: hidden; background: red">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-007.xht
new file mode 100644
index 00000000000..a0290769f42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-backface-visibility-007.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, scalez(-1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This is the same as
+ transform3d-backface-visibility-001.html, except it uses scalez(-1) instead
+ of rotatex(180deg). scalez(-1) has no visible effect when applied by
+ itself to a box, since the box's Z-coordinates are all 0, but it still
+ causes it to be affected by 'backface-visibility'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { height: 100px; width: 100px }</style>
+ </head>
+ <body>
+ <div style="background: lime">
+ <div style="background: red; backface-visibility: hidden;
+ transform: scalez(-1)">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-001.xht
new file mode 100644
index 00000000000..974242d3846
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-001.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d() on a Bitmap</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that applying a simple 3D transform
+ to a bitmap image works properly. This is motivated by a real-world
+ implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <img width="50" style="transform: scale3d(2, 2, 2); transform-origin: 0 0" height="50" src="support/transform-lime-square.png" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-002.xht
new file mode 100644
index 00000000000..d85b8d03bb7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-image-scale-002.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d() on an SVG</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This is the same as
+ transform3d-image-scale-001.html, but using an SVG image instead of a
+ bitmap." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <img width="50" style="transform: scale3d(2, 2, 2); transform-origin: 0 0" height="50" src="support/transform-lime-square.svg" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-001.xht
new file mode 100644
index 00000000000..903e06de623
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1);
+ width: 100px; height: 100px; background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-002.xht
new file mode 100644
index 00000000000..ea8a9ce4fad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-002.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-002-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1);
+ width: 100px; height: 100px; background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-003.xht
new file mode 100644
index 00000000000..70f84a84fd7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-003.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-003-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-004.xht
new file mode 100644
index 00000000000..7242f45d50e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-004.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-004-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1);
+ transform-origin: bottom"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-005.xht
new file mode 100644
index 00000000000..9f2deda86b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-matrix3d-005.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-005-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: gold;
+ transform: matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-001.xht
new file mode 100644
index 00000000000..b412e8775c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-001.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): perspective()</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that the perspective() transform
+ works the same as an equivalent 'perspective' property." name="assert" />
+ <link href="reference/transform3d-perspective-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: translatey(50%) perspective(1000px) translatey(-50%)
+ rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-002.xht
new file mode 100644
index 00000000000..3ad86878795
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-002.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inherited Perspective</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective: inherit' works
+ the same as specifying that perspective to start with." name="assert" />
+ <link href="reference/transform3d-perspective-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: inherit; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-003.xht
new file mode 100644
index 00000000000..9af4b15329c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-003.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Perspective on Grandparent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective' affects only the
+ element's children, not its grandchildren." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-004.xht
new file mode 100644
index 00000000000..ad20f48ca1b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-004.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective: 1000px' on Grandparent and
+ 'perspective: none' on Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective: none' actually
+ results in no perspective being applied to children, even if the
+ grandparent has perspective." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: none">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-005.xht
new file mode 100644
index 00000000000..5c3e08bb3a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-005.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective: 1000px' on Grandparent and
+ 'perspective: 0px' on Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective: 0px' behaves the
+ same as no perspective being specified at all (it's a parse error)." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: 0px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-006.xht
new file mode 100644
index 00000000000..0cd27536c30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-006.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Perspective</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests the 'perspective' property in a
+ very simple case, such that the reference can be constructed without using
+ CSS transforms." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="padding: 25px">
+ <div style="height: 50px; width: 50px; background: lime;
+ transform: perspective(100px) translatez(50px)">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-007.xht
new file mode 100644
index 00000000000..1c5bb80ae87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-007.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Perspective on Table Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that tables are correctly affected
+ by perspective on their parent. It's motivated by a real-world
+ implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601>." name="assert" />
+ <link href="reference/transform3d-perspective-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top;
+ display: table">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-008.xht
new file mode 100644
index 00000000000..5628e9705ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-008.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Perspective on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that perspective on a table only
+ affects its children, not the table itself. It's motivated by a real-world
+ implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top;
+ display: table; perspective: 1000px">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-009.xht
new file mode 100644
index 00000000000..8d1be1fda3e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-009.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective-origin' and translate()</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <meta content="This tests that 'perspective' and
+ 'perspective-origin' have the same effect as an appropriately calculated
+ sequence of translate() and perspective(). The reference file's body has
+ a width of 400px and a height of 100px, so the perspective-origin should be
+ (200, 50). The transform-origin is 'top', which works out to (50, 0).
+ Thus we translate by (150, 50) to get the right origin." name="assert" />
+ <link href="reference/transform3d-perspective-009-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: translate(150px, 50px) perspective(1000px) translate(-150px, -50px)
+ rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-origin-001.xht
new file mode 100644
index 00000000000..14a0a08a631
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-perspective-origin-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): perspective-origin</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <meta content="This tests that 'perspective-origin: 0 0' is
+ the same as 'perspective-origin: top left', different from no
+ 'perspective-origin', and different from no perspective or no transform." name="assert" />
+ <link href="reference/transform3d-perspective-origin-ref.xht" rel="match" />
+ <link href="transform3d-rotatex-perspective-001.xht" rel="mismatch" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="mismatch" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 0 0;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-001.xht
new file mode 100644
index 00000000000..b3fbc093fa7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Preserve-3D</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that if preserve-3d is specified,
+ four 45deg rotations equal one 180deg rotation." name="assert" />
+ <link href="reference/transform3d-preserve3d-001-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-002.xht
new file mode 100644
index 00000000000..28c43c14dad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 1</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the first in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; margin-left: 200px">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-003.xht
new file mode 100644
index 00000000000..21f889f52ea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 2</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the second in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="transform-style: preserve-3d; margin-left: 200px">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-004.xht
new file mode 100644
index 00000000000..9ab7554f162
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-004.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 3</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the third in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px); margin-left: 200px">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-005.xht
new file mode 100644
index 00000000000..01c6c6ff427
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-005.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Transformed Grandparent and
+ Grandchild</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the fourth in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px; transform-style: preserve-3d;
+ transform: translatex(200%)">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime; transform:
+ translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-006.xht
new file mode 100644
index 00000000000..4c655472d2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-006.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Two rotatex(), No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="rotatex(45deg) or rotatex(-45deg), by itself,
+ should both just scale down the element by a factor of sqrt(2) (and perhaps
+ shift it, depending on 'transform-origin'). Without 'transform-style:
+ preserve-3d', the rotations on parent and child shouldn't cancel, so its
+ height should be halved with no other effect." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-007.xht
new file mode 100644
index 00000000000..5e962a7f79a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-007.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Two rotatey(), No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-006.html, except with rotatey() instead of
+ rotatex()." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg); transform-origin: left">
+ <div style="transform: rotatey(-45deg); transform-origin: left;
+ height: 100px; width: 200px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-008.xht
new file mode 100644
index 00000000000..c21305c662c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-008.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: hidden'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-006.html, except that it has 'transform-style:
+ preserve-3d; overflow: hidden' specified on the parent element.
+ 'transform-style: preserve-3d' would normally make the result different,
+ but 'overflow: hidden' overrides its effect and causes it to work the same
+ as 'transform-style: flat'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: hidden">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-009.xht
new file mode 100644
index 00000000000..334cbd58264
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-009.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: auto'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-008.html, except with 'overflow: auto' instead of
+ 'hidden'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: auto">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-010.xht
new file mode 100644
index 00000000000..a9a957ce1ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-010.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex() With Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that two rotations of 22.5deg
+ properly add when preserve-3d is used. The result, a 45deg rotation around
+ the X-axis, should be equivalent to shrinking the height by a factor of
+ sqrt(2), i.e., 1.41421356...." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: rotatex(22.5deg);
+ transform-origin: top;
+ }
+ </style>
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="height: 141.421356px; width: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-011.xht
new file mode 100644
index 00000000000..8332b817c72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-011.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With 90-Degree Rotation</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that when preserve-3d is specified,
+ a 90-degree rotation on the parent plus a 90-degree rotation on the child
+ cancel out, adding to a 180-degree rotation (which has no visible effect on
+ a lime square). scale(2) is added to ensure that the test doesn't pass if
+ the transforms are just ignored." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body style="padding:25px">
+ <div style="transform: rotatex(90deg); transform-style: preserve-3d">
+ <div style="transform: rotatex(90deg) scale(2); width: 50px; height: 50px;
+ background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-012.xht
new file mode 100644
index 00000000000..b9ff2810763
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-012.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 90-Degree Rotations Without Preserve-3D</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that two 90-degree rotations with
+ the default 'transform-style: flat' do not add together to form a
+ 180-degree rotation. Instead, the first causes the contents to vanish and
+ the second does not restore them." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div style="transform: rotatex(90deg);">
+ <div style="transform: rotatex(90deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-013.xht
new file mode 100644
index 00000000000..1577784dbd7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-preserve3d-013.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: scroll'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-008.html, except with 'overflow: scroll' instead of
+ 'hidden'. (Note that the ref is nontrivial, because the scrollbar has to
+ be scaled appropriately.)" name="assert" />
+ <link href="reference/transform3d-preserve3d-013-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: scroll">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-001.xht
new file mode 100644
index 00000000000..056a414a077
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-001.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate3d(1, 0, 0, 45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d" rel="help" />
+ <meta content="This tests that rotate3d(1, 0, 0, 45deg) is
+ the same as rotatex(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotate3d(1, 0, 0, 45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-002.xht
new file mode 100644
index 00000000000..8691f13987d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotate3d-002.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate3d(0, 1, 0, 45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d" rel="help" />
+ <meta content="This tests that rotate3d(0, 1, 0, 45deg) is
+ the same as rotatey(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatey-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotate3d(0, 1, 0, 45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-001.xht
new file mode 100644
index 00000000000..7c17b108a6b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex(45deg) rotatey(360deg)
+ rotatex(360deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <meta content="This tests that rotatex(45deg) rotatey(360deg)
+ rotatex(360deg) is the same as rotatex(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg) rotatey(360deg) rotatex(360deg);
+ width: 100px; height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-001.xht
new file mode 100644
index 00000000000..fe5724bdc3a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): perspective(1000px) rotatex(45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-perspective" rel="help" />
+ <meta content="This tests that perspective() has some effect
+ when combined with rotatex() (i.e., is not equivalent to simply omitting
+ the perspective)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="mismatch" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: perspective(1000px) rotatex(45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-002.xht
new file mode 100644
index 00000000000..3ab3412f999
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex() and 'perspective'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective' has some effect
+ when combined with rotatex() (i.e., is not equivalent to simply omitting
+ the perspective)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="mismatch" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-003.xht
new file mode 100644
index 00000000000..f6ad9a82945
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-perspective-003.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective' and 'opacity'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests for a real-world implementation
+ bug: see &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=707563>. The only
+ difference between the test and reference is 'opacity: 0.9999', which should
+ not affect anything in the test." name="assert" />
+ <link href="reference/transform3d-rotatex-perspective-ref.xht" rel="match" />
+ <link href="reference/transform3d-rotatex-perspective-notref.xht" rel="mismatch" />
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+
+ perspective: 500px;
+ opacity: 0.9999;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+
+ transform: rotateY(40deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-transformorigin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-transformorigin-001.xht
new file mode 100644
index 00000000000..57b7070e8da
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatex-transformorigin-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX() with 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <meta content="This tests that rotateX(45deg) has the same
+ effect (with perspective) with a top left origin and a top right origin.
+ It should make no difference, because it doesn't change the axis of
+ rotation: it's still the top. (This doesn't actually test the perspective
+ property, since a UA that doesn't support perspective at all could still
+ pass.)" name="assert" />
+ <link href="reference/transform3d-rotatex-transformorigin-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); transform-origin: top left;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatey-001.xht
new file mode 100644
index 00000000000..49ee5661c08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-rotatey-001.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateY(45deg) rotateY(360deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey" rel="help" />
+ <meta content="This tests that rotateY(45deg) rotateY(360deg)
+ has the same effect as just rotateY(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatey-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg) rotatey(360deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-001.xht
new file mode 100644
index 00000000000..6d72edb7ef2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d(2, 2, 2)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that scale3d(2, 2, 2) on some text
+ has the same effect as scaleX(2) scaleY(2). The Z part should be
+ irrelevant, because the text is flat." name="assert" />
+ <link href="reference/transform3d-scale-001-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: scale3D(2,2,2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-002.xht
new file mode 100644
index 00000000000..93c9c6c4100
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-002.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex(90deg) scale3d(2, 1, 2)
+ rotatex(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that rotatex(90deg)
+ scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2).
+ Conjugating by the rotation swaps the Y and Z coordinates for the scale." name="assert" />
+ <link href="reference/transform3d-scale-001-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scale3D(2,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-003.xht
new file mode 100644
index 00000000000..780069308f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-003.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scaleX(2) scaleY(2) scaleZ(2)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This is the same as
+ transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2)
+ scaleZ(2) instead of scale3D(2, 2, 2)." name="assert" />
+ <link href="reference/transform3d-scale-001-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: scaleX(2) scaleY(2) scaleZ(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-004.xht
new file mode 100644
index 00000000000..b66ed7cfbc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-004.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d(2, 2, 0)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <meta content="This tests that scale3d(2, 2, 0), being
+ singular, causes the contents not to display." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div style="transform: scale3d(2, 2, 0); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-005.xht
new file mode 100644
index 00000000000..f789eab5b80
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-005.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX(90deg) scale3d(1, 1, 2)
+ rotateX(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that rotateX(90deg)
+ scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by
+ the rotation swaps the Y and Z coordinates for the scale." name="assert" />
+ <link href="reference/transform3d-scale-005-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scale3D(1,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-006.xht
new file mode 100644
index 00000000000..21b084f2aa2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-006.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX(90deg) scaleZ(2)
+ rotateX(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This is identical to
+ transform3d-scale-005-ref.html, except with scaleZ(2) instead of
+ scale3d(1, 1, 2)." name="assert" />
+ <link href="reference/transform3d-scale-005-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scaleZ(2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-007.xht
new file mode 100644
index 00000000000..09b5cdbe33b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-scale-007.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX(180deg) scaleZ(-1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="This tests that rotateX(180deg) scaleZ(-1) is
+ the same as scaleY(-1). (The scaleZ(-1) should have no effect here.)" name="assert" />
+ <link href="reference/transform3d-scale-007-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatex(180deg) scaleZ(-1); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-001.xht
new file mode 100644
index 00000000000..e9f9d5120b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="The red box here is translated in the negative
+ Z-direction, so it should render beneath the lime box even though it comes
+ later in DOM order." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style:preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(-10px) translatey(-100px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-002.xht
new file mode 100644
index 00000000000..08cb7f5f296
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting With Rotation</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="The red box here is translated to the same
+ extent as the lime box, so they should render in stacking context order:
+ the lime box is on top, because it's later in the DOM. But then we apply
+ rotatex(180deg) to the whole thing, so the lime box should wind up on top
+ in the end." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; transform: rotatex(180deg)">
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px) translatey(100px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(10px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-003.xht
new file mode 100644
index 00000000000..3cb18009b91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-003.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting With No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="The red box here is translated to above the
+ lime box, but they aren't in the same 3D rendering context, so they should
+ be drawn in DOM order regardless: lime box on top." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(-10px) translatey(-100px)"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-004.xht
new file mode 100644
index 00000000000..f4985cd4510
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting With Preserve-3D on
+ Grandparent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="This is the same as
+ transform3d-sorting-003.html, except with two wrapper divs.
+ 'transform-style: preserve-3d' only affects children, not grandchildren, so
+ the two divs with backgrounds are still in different rendering contexts and
+ the Z-position should still not affect stacking." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(-10px) translatey(-100px)"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-005.xht
new file mode 100644
index 00000000000..6523931ce2d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-005.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Sorting With Background on Parent</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="This tests that if a parent has
+ 'transform-style: preserve-3d', it's in the same rendering context as its
+ children. Thus the translateZ(10px) puts the child above it, and the
+ rotateX(180deg) puts it below, so the lime parent is rendered on top." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; transform: rotateX(180deg);
+ width: 100px; height: 100px; background: lime">
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-006.xht
new file mode 100644
index 00000000000..e84d7f44c52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-sorting-006.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Sorting With Intersection</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="This tests that when two boxes intersect in a
+ simple fashion, they're rendered according to Newell's algorithm." name="assert" />
+ <link href="reference/transform3d-sorting-006-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="height: 100px; width: 100px; background: red;
+ transform: rotateX(45deg) rotateY(45deg)"></div>
+ <div style="height: 100px; width: 100px; background: green;
+ transform: translateY(-100px) rotateX(45deg) rotateY(-45deg)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translate3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translate3d-001.xht
new file mode 100644
index 00000000000..fc5bc89aca0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translate3d-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate3d() vs. 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate3d" rel="help" />
+ <meta content="This tests that translate3d() before and after
+ rotatex() is the same as an equivalent 'transform-origin'." name="assert" />
+ <link href="reference/transform3d-translate3d-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="transform: translate3d(10px, 30px, -10px) rotatex(45deg)
+ translate3d(-10px, -30px, 10px); transform-origin: 0 0 0; width: 100px;
+ height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translatez-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translatez-001.xht
new file mode 100644
index 00000000000..adc74c59813
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform3d-translatez-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatez() vs. 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatez" rel="help" />
+ <meta content="This tests that translatez(+-10px) before and
+ after rotatex() is the same as an equivalent 'transform-origin', and
+ different from translatez(+-20px)." name="assert" />
+ <link href="reference/transform3d-translatez-ref.xht" rel="match" />
+ <link href="reference/transform3d-translatez-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: translatez(-10px) rotatex(45deg) translatez(10px); transform-origin: 0 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_invalid_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_invalid_prefixed.xht
new file mode 100644
index 00000000000..e5a83b00ede
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_invalid_prefixed.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with invalid translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform sets translate(null, null) that an expection is to be thrown" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(null, null)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(null, null)";
+ document.getElementById("test").style.msTransform = "translate(null, null)";
+ document.getElementById("test").style.oTransform = "translate(null, null)";
+ document.getElementById("test").style.transform = "translate(null, null)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(null, null)")},
+ "transform_translate_null_null");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_max_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_max_prefixed.xht
new file mode 100644
index 00000000000..e4216df282b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_max_prefixed.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with maximum translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(INFINITE, INFINITE)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.msTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.oTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.transform = "translate(INFINITE, INFINITE)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(INFINITE, INFINITE)")},
+ "transform_translate_max");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_min_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_min_prefixed.xht
new file mode 100644
index 00000000000..2107dc14345
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_min_prefixed.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with minimum translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(-INFINITE, -INFINITE)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.msTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.oTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.transform = "translate(-INFINITE, -INFINITE)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(-INFINITE, -INFINITE)")},
+ "transform_translate_min_prefixed");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_neg_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_neg_prefixed.xht
new file mode 100644
index 00000000000..bcb98c69b76
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_neg_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with negative translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(-1px, -1px)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(-1px, -1px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.msTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.oTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.transform = "translate(-1px, -1px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(-1px, -1px)",
+ "transform should be translate(-1px, - 1px)")},
+ "transform_translate_-1px_-1px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_prefixed.xht
new file mode 100644
index 00000000000..0568a123331
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(100px, 100px)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(100px, 100px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.msTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.oTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.transform = "translate(100px, 100px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(100px, 100px)",
+ "transform should be translate(100px, 100px)")},
+ "transform_translate_100px_100px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_second_omited_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_second_omited_prefixed.xht
new file mode 100644
index 00000000000..c9cc404a977
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_second_omited_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with second translation value omited</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(100px)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(100px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(100px)";
+ document.getElementById("test").style.msTransform = "translate(100px)";
+ document.getElementById("test").style.oTransform = "translate(100px)";
+ document.getElementById("test").style.transform = "translate(100px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(100px)",
+ "transform should be translate(100px)")},
+ "transform_translate_100px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_zero_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_zero_prefixed.xht
new file mode 100644
index 00000000000..829ac07a06b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transform_translate_zero_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(0, 0)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(0, 0)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(0, 0)";
+ document.getElementById("test").style.msTransform = "translate(0, 0)";
+ document.getElementById("test").style.oTransform = "translate(0, 0)";
+ document.getElementById("test").style.transform = "translate(0, 0)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(0px, 0px)",
+ "transform should be translate(0px, 0px)")},
+ "transform_translate_0_0");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-degree-90.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-degree-90.xht
new file mode 100644
index 00000000000..9f03f70c13a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-degree-90.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-rotate-degree-90-ref.xht" rel="match" />
+ <meta content="If the rotate with parameter not provided, greenRectangle will not cover redRectangle." name="assert" />
+ <style type="text/css">
+ .greenRectangle {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 100px;
+ background: green;
+ transform: rotate(90deg);
+ }
+
+ .redRectangl {
+ position: absolute;
+ top: 75px;
+ left: 125px;
+ width: 100px;
+ height: 150px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="redRectangl"></div>
+ <div class="greenRectangle"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-translate-scale.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-translate-scale.xht
new file mode 100644
index 00000000000..7668a90f9e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotate-translate-scale.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and rotate function with one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-rotate-translate-scale-ref.xht" rel="match" />
+ <meta content="If the rotate and scale with parameter not provided, greenSquare will not cover redSquare." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translate(75px, 75px) scale(1.5, 1.5) rotate(90deg) ;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotateY-degree-60.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotateY-degree-60.xht
new file mode 100644
index 00000000000..129bf922ecc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-rotateY-degree-60.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-rotateY-degree-60-ref.xht" rel="match" />
+ <style>
+ div {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ height: 100px;
+ width: 100px;
+ }
+
+ .transformed {
+ background-color: white;
+ transform: rotateY(60deg);
+ }
+
+ .back {
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green rectangles.</p>
+ <div class="back"></div>
+ <div class="transformed"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewX.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewX.xht
new file mode 100644
index 00000000000..0f14449b7cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewX.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for X axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-skewX-ref.xht" rel="match" />
+ <meta content="If the skew for X axis not provided, greenSquare will not cover redSquare." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: skew(45deg,0deg);
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 125px;
+ left: 200px;
+ width: 25px;
+ height: 25px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a parallelogram and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewY.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewY.xht
new file mode 100644
index 00000000000..db969bde41f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transforms-skewY.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for Y axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-skewY-ref.xht" rel="match" />
+ <meta content="If the skew for Y axis not provided, greenSquare will not cover redSquare." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: skew(0deg,45deg);
+ }
+ .redSquare {
+ position: absolute;
+ top: 200px;
+ left: 175px;
+ width: 25px;
+ height: 25px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green parallelogram and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate-optional-second-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate-optional-second-001.xht
new file mode 100644
index 00000000000..e58e5ede905
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate-optional-second-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with translate function and one parameter</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/translate-optional-second-ref.xht" rel="match" />
+ <meta content=" If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translate(100px);
+ }
+ .redSquare {
+ position: absolute;
+ top: 51px;
+ left: 101px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate.xht
new file mode 100644
index 00000000000..07335204f7e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/translate.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test translate</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/translate-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="translate x, y " name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid gray;
+ width: 300px;
+ height: 300px;
+ }
+
+ .inner {
+ z-index: 98;
+ position: relative;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+
+ //-webkit-transform: translate(100px, 100px);
+
+ //-o-transform:translate(100px, 100px) ;
+
+
+ transform: translate(100px, 100px);
+ }
+
+ .hidden {
+ z-index: 67;
+ position: relative;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only one green area, no red area</p>
+
+ <div class="container">
+
+ <div class="inner">
+ </div>
+ <div class="hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-preserve-3d-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-preserve-3d-1.xht
new file mode 100644
index 00000000000..975e983bb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-preserve-3d-1.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform preserve-3d</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transofrmed-preserve-3d-1-ref.xht" rel="match" />
+ <meta content="The transformed div should establishe a 3D rendering context" name="assert" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: red;
+ }
+ .transformed {
+ height: 300px;
+ position: relative;
+ top: -150px;
+ transform-origin: bottom left;
+ transform-style: preserve-3d;
+ transform: rotateX(60deg);
+ background-color: green;
+ }
+ .child {
+ transform-origin: top left;
+ transform: rotateX(30deg);
+ background-color: red;
+ }
+ </style>
+</head>
+
+<body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed">
+ <div class="child">
+ </div>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateX-3.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateX-3.xht
new file mode 100644
index 00000000000..939d3d4fb86
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateX-3.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateX</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transofrmed-rotateX-3-ref.xht" rel="match" />
+ <meta content="The transformed div should rotateX by 180 degrees" name="assert" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: red;
+ }
+ .transformed {
+ transform-origin: top left;
+ transform: rotateX(180deg);
+ background-color: green;
+ position: relative;
+ top: 150px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed">
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateY-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateY-1.xht
new file mode 100644
index 00000000000..084a08eb7d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/transofrmed-rotateY-1.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateY</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transofrmed-rotateY-1-ref.xht" rel="match" />
+ <meta content="The transformed div should rotate 90 degrees" name="assert" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ border: 1px solid black;
+ background-color: green;
+ }
+ .transformed {
+ transform: rotateY(90deg);
+ background-color: red;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle-mismatch.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle-mismatch.xht
new file mode 100644
index 00000000000..7122b29f79f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle-mismatch.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <!-- See also: http://http://en.wikipedia.org/wiki/Newell's_algorithm -->
+ <link href="reference/ttwf-css-3d-polygon-cycle-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's." name="assert" />
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red0 {
+ background-color: red;
+ left: 6px;
+ width: 100px;
+ height: 50px;
+ }
+ #green0 {
+ background-color: green;
+ top: 6px;
+ width: 50px;
+ height: 100px;
+ }
+ #blue0 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ }
+ #red1 {
+ background-color: red;
+ width: 100px;
+ height: 50px;
+ }
+ #green1 {
+ background-color: green;
+ width: 50px;
+ height: 100px;
+ }
+ #blue1 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="blue0" class="rect"></div>
+ <div id="green0" class="rect"></div>
+ <div id="red0" class="rect"></div>
+ <div id="red1" class="rect"></div>
+ <div id="green1" class="rect"></div>
+ <div id="blue1" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle.xht
new file mode 100644
index 00000000000..39621bf2c71
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-css-3d-polygon-cycle.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <!-- See also: http://http://en.wikipedia.org/wiki/Newell's_algorithm -->
+ <link href="reference/ttwf-css-3d-polygon-cycle-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's." name="assert" />
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red {
+ background-color: red;
+ width: 200px;
+ height: 50px;
+ transform: rotateY(20deg);
+ }
+ #green {
+ background-color: green;
+ width: 50px;
+ height: 200px;
+ transform: rotateX(20deg);
+ }
+ #blue {
+ background-color: blue;
+ width: 50px;
+ height: 200px;
+ transform: rotate(45deg) translate(50px, -50px) rotateX(-20deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="red" class="rect"></div>
+ <div id="green" class="rect"></div>
+ <div id="blue" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-reftest-rotate.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-reftest-rotate.xht
new file mode 100644
index 00000000000..f5f8961b5b8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-reftest-rotate.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotate</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/ttwf-reftest-rotate-ref.xht" rel="match" />
+ <meta content="The transform should rotate 180 degrees" name="assert" />
+ <style type="text/css">
+ body {margin:0}
+ #greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ #redSquare {
+ position: absolute;
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ }
+ #rotateSquare {
+ position:absolute;
+ top: 0px;
+ left: -100px;
+ width: 200px;
+ height: 100px;
+ transform:rotate(180deg)
+ }
+ </style>
+
+</head>
+<body>
+
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div id="rotateSquare">
+ <div id="redSquare"></div>
+ <div id="greenSquare"></div>
+ </div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewx-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewx-001.xht
new file mode 100644
index 00000000000..e6432548e1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewx-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using skewX() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-skewx-001.xht" rel="match" />
+ <meta content="Test that the green shape is skew on X axis by 45 degrees" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: skewX(45deg);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div>
+ <div class="redSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="100px" width="200px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="200,100 100,100 0,0 100,0 " fill="red"></polygon>
+ </svg>
+ </div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewy-001.xht
new file mode 100644
index 00000000000..24850563847
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-skewy-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using skewY() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-skewy-001.xht" rel="match" />
+ <meta content="Test that the green shape is skew on Y axis by 45 degrees" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: skewY(45deg);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div>
+ <div class="redSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="200px" width="100px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 100 200" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="100,200 0,99.999 0,0 100,100 " fill="red"></polygon>
+ </svg>
+ </div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatex-001.xht
new file mode 100644
index 00000000000..0d43feaf675
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatex-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using translateX() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-translatex-001.xht" rel="match" />
+ <meta content="CSS Transform" name="flags" />
+ <meta content="Test that the green square is moved on X axis 100px" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: translateX(100px);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatey-001.xht
new file mode 100644
index 00000000000..f86c9cb8c5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/ttwf-transform-translatey-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using translateY() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-translatey-001.xht" rel="match" />
+ <meta content="CSS Transform" name="flags" />
+ <meta content="Test that the green square is moved on Y axis 100px" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: translateY(100px);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 200px;
+ left: 100px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/video-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/video-001.xht
new file mode 100644
index 00000000000..2e299279c22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1/video-001.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: flowing a video in a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks videos flowed in regions render smoothly and without artifacts." name="assert" />
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see two identical videos playing smoothly.<br />
+ Test fails if you see a red rectangle or if videos are out of sync.</p>
+
+ <video width="432" muted="" autoplay="" class="flow" controls="" height="240">
+ <source src="support/big-buck-bunny-240p.mp4" type="video/mp4" />
+ <source src="support/big-buck-bunny-240p.webm" type="video/webm" />
+ <source src="support/big-buck-bunny-240p.ogv" type="video/ogg" />
+ </video>
+ <video width="432" height="240" controls="" autoplay="">
+ <source src="support/big-buck-bunny-240p.mp4" type="video/mp4" />
+ <source src="support/big-buck-bunny-240p.webm" type="video/webm" />
+ <source src="support/big-buck-bunny-240p.ogv" type="video/ogg" />
+ </video>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-001.xht
new file mode 100644
index 00000000000..616caad4ccd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-001.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/2d-rotate-ref.xht" rel="match" />
+ <meta content="css3, rotate, svg" name="flags" />
+ <meta content="asserting that you can rotate an element with CSS" name="assert" />
+ <style type="text/css">
+ article, svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ article{
+ border: 10px solid green;
+ display: block;
+ height: 100px;
+ width: 100px;
+ z-index: 2;
+ }
+ section article{
+ transform: rotate(30deg);
+ transform-origin: 19% 197%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <article></article>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200" xmlns="http://www.w3.org/2000/svg">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: red;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="rotate(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-js.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-js.xht
new file mode 100644
index 00000000000..05c3fd19b50
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/2d-rotate-js.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>JS test: Rotate via javascript must show the correct computed rotation</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="css3, rotate, svg" name="flags" />
+ <meta content="Asserting that you can rotate an element with JS and it show up in CSS computed values not as a matrix but as the rotation" name="assert" />
+ <style>
+ #box{
+ margin-top:30px;
+ display: block;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <h1>Rotate via JS</h1>
+ <div id="log"></div>
+ <div id="box"></div>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script>
+ (function(){
+ var box = document.getElementById("box"),
+ assertion = "",
+ expectation = "rotate(30deg)",
+ should_string = "this should make a small green square rotated 30 degrees, and the browser should return the rotation as 30 degrees as the computed value NOT a matrix",
+ extra_properties = null,
+ computed_angle = 0,
+ a_1 = "";
+ a_2 = "",
+ my_value = "",
+ test_function = {};
+ box.style.Transform = "rotate(30deg)";
+ assertion = window.getComputedStyle(box).getPropertyValue("transform");
+ test_function = function(){
+ assert_equals(assertion, expectation);
+ }
+ test(test_function, should_string);
+ })();
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/animations-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/animations-001.xht
new file mode 100644
index 00000000000..953bad52afe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/animations-001.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: animating content flowed into a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-animations/#animations" rel="help" />
+ <meta content="Test checks that content that has an animated 3D transform renders and animates when flowed in a region." name="assert" />
+ <meta content="ahem animated" name="flags" />
+ <!-- TODO Determine if it's OK for this test to be a ref-test or it should only be a manual one. -->
+ <link href="reference/animations-001-ref.xht" rel="match" />
+ <link href="support/animations.css" rel="stylesheet" />
+ <style>
+ .transformed {
+ transform: rotateZ(45deg);
+ }
+ .flow {
+ flow-into: f;
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+
+ .region {
+ flow-from: f;
+ width: 100px;
+ height: 100px;
+ background-color: lightblue;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green square rotating once on top of a static blue square and no red.</p>
+
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+ <div class="transformed flow rotate once">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/backface-visibility-hidden-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/backface-visibility-hidden-001.xht
new file mode 100644
index 00000000000..8a9b6e8d894
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/backface-visibility-hidden-001.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with backface visibility = hidden</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <link href="reference/backface-visibility-hidden-ref.xht" rel="match" />
+ <meta content="When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ z-index: 2;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ z-index: 1;
+ transform: rotateY(180deg);
+ }
+
+ .face {
+ backface-visibility: hidden;
+ }
+
+ .card {
+ transform-style: preserve-3d;
+ }
+
+ .container {
+ width: 200px;
+ height: 200px;
+ perspective: 1000;
+ transform: rotateY(45deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green retangle and no red.</p>
+ <div class="container">
+ <div class="card">
+ <div class="redSquare face"></div>
+ <div class="greenSquare face"></div>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-001.xht
new file mode 100644
index 00000000000..ff0a0230b08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-001.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: rendering 3D canvas elements inside regions</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region." name="assert" />
+ <meta content="dom" name="flags" />
+ <link href="reference/canvas3d-001-ref.xht" rel="match" />
+ <script src="support/Three.js" type="text/javascript"></script>
+ <script src="support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow {
+ flow-into: f;
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ border: 2px solid black;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
+
+ <div class="flow" id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-002.xht
new file mode 100644
index 00000000000..53411fc35c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/canvas3d-002.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: rendering text flowed in a region on top of 3D content</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly." name="assert" />
+ <meta content="dom" name="flags" />
+ <link href="reference/canvas3d-002-ref.xht" rel="match" />
+ <script src="support/Three.js" type="text/javascript"></script>
+ <script src="support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ #container {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ flow-from: f;
+ width: 200px;
+ height: 300px;
+ margin: -250px 100px 0px 100px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
+
+ <div class="flow">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.</div>
+ <div id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-1.xht
new file mode 100644
index 00000000000..34d2616196f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-1.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Introduction - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Introduction (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#intro">1 Introduction</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-10.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-10.xht
new file mode 100644
index 00000000000..6224df072e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-10.xht
@@ -0,0 +1,235 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The perspective Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The perspective Property (17 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s10">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s10">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#perspective-property">10 The perspective Property</a></th></tr>
+ <!-- 16 tests -->
+ <tr id="perspective-origin-x-10" class="">
+ <td>
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-0-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-0.xht">perspective-translatez-0</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that points on the z=0 plane are unchanged</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-negative-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-negative.xht">perspective-translatez-negative</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a negative Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-positive-10" class="primary">
+ <td><strong>
+ <a href="perspective-translateZ-positive.xht">perspective-translatez-positive</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a positive Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-005-10" class="ahem">
+ <td>
+ <a href="regions-transforms-005.xht">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region
+ <ul class="assert">
+ <li>Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-019-10" class="ahem">
+ <td>
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-001-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-001.xht">transform3d-perspective-001</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective()
+ <ul class="assert">
+ <li>This tests that the perspective() transform works the same as an equivalent 'perspective' property.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-002-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-002.xht">transform3d-perspective-002</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Inherited Perspective
+ <ul class="assert">
+ <li>This tests that 'perspective: inherit' works the same as specifying that perspective to start with.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-003-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-003.xht">transform3d-perspective-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Perspective on Grandparent
+ <ul class="assert">
+ <li>This tests that 'perspective' affects only the element's children, not its grandchildren.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-004-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-004.xht">transform3d-perspective-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>'perspective: 1000px' on Grandparent and 'perspective: none' on Parent
+ <ul class="assert">
+ <li>This tests that 'perspective: none' actually results in no perspective being applied to children, even if the grandparent has perspective.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-005-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-005.xht">transform3d-perspective-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent
+ <ul class="assert">
+ <li>This tests that 'perspective: 0px' behaves the same as no perspective being specified at all (it's a parse error).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-006-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-006.xht">transform3d-perspective-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Perspective
+ <ul class="assert">
+ <li>This tests the 'perspective' property in a very simple case, such that the reference can be constructed without using CSS transforms.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-007-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-007.xht">transform3d-perspective-007</a></strong></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Perspective on Table Parent
+ <ul class="assert">
+ <li>This tests that tables are correctly affected by perspective on their parent. It's motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-008-10" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-008.xht">transform3d-perspective-008</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Perspective on Table
+ <ul class="assert">
+ <li>This tests that perspective on a table only affects its children, not the table itself. It's motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-10" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-003-10" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-003.xht">transform3d-rotatex-perspective-003</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-perspective-ref.xht">=</a> <a href="reference/transform3d-rotatex-perspective-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>'perspective' and 'opacity'
+ <ul class="assert">
+ <li>This tests for a real-world implementation bug: see &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=707563&gt;. The only difference between the test and reference is 'opacity: 0.9999', which should not affect anything in the test.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s10.#issue-8678c096">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s10.#none">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s10.#propdef-perspective">
+ <!-- 1 tests -->
+ <tr id="css3-transform-perspective-10.#propdef-perspective" class="primary">
+ <td><strong>
+ <a href="css3-transform-perspective.xht">css3-transform-perspective</a></strong></td>
+ <td><a href="reference/css3-transform-perspective-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX 90 degrees with perspective make it invisible
+ <ul class="assert">
+ <li>Test passes if rotateX 90 degrees with perspective make it invisible</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-11.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-11.xht
new file mode 100644
index 00000000000..d85ebdf835c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-11.xht
@@ -0,0 +1,178 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The perspective-origin Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The perspective-origin Property (11 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s11">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s11">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#perspective-origin-property">11 The perspective-origin Property</a></th></tr>
+ <!-- 1 tests -->
+ <tr id="regions-transforms-019-11" class="ahem">
+ <td>
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s11.#propdef-perspective-origin">
+ <!-- 10 tests -->
+ <tr id="perspective-origin-001-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-001.xht">perspective-origin-001</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 0px center('center' computes to '50%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'center' computes to 50% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-002-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-002.xht">perspective-origin-002</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - center 0px('center' computes to '50%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'center' computes to 50% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-003-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-003.xht">perspective-origin-003</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-004-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-004.xht">perspective-origin-004</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - 50% top('top' computes to '0%' in vertical position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'top' computes to 0% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-005-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-005.xht">perspective-origin-005</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - left 50%('left' computes to '0%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'left' computes to 0% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-006-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-006.xht">perspective-origin-006</a></strong></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td></td>
+ <td>perspective-origin - right 50%('right' computes to '100%' in horizontal position)
+ <ul class="assert">
+ <li>The 'perspective-origin' property set 'right' computes to 100% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-x-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></strong></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-xy-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="perspective-origin-xy.xht">perspective-origin-xy</a></strong></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin '&lt;x,y&gt;' visually moves the objects '&lt;-x,-y&gt;*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-009-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-009.xht">transform3d-perspective-009</a></strong></td>
+ <td><a href="reference/transform3d-perspective-009-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>'perspective-origin' and translate()
+ <ul class="assert">
+ <li>This tests that 'perspective' and 'perspective-origin' have the same effect as an appropriately calculated sequence of translate() and perspective(). The reference file's body has a width of 400px and a height of 100px, so the perspective-origin should be (200, 50). The transform-origin is 'top', which works out to (50, 0). Thus we translate by (150, 50) to get the right origin.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-perspective-origin-001-11.#propdef-perspective-origin" class="primary">
+ <td><strong>
+ <a href="transform3d-perspective-origin-001.xht">transform3d-perspective-origin-001</a></strong></td>
+ <td><a href="reference/transform3d-perspective-origin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="transform3d-rotatex-perspective-001.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective-origin
+ <ul class="assert">
+ <li>This tests that 'perspective-origin: 0 0' is the same as 'perspective-origin: top left', different from no 'perspective-origin', and different from no perspective or no transform.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s11.#valuedef-bottom">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-center">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-left">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-right">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s11.#valuedef-top">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-12.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-12.xht
new file mode 100644
index 00000000000..78d4191c867
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-12.xht
@@ -0,0 +1,133 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The backface-visibility Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The backface-visibility Property (8 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s12">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s12">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#backface-visibility-property">12 The backface-visibility Property</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s12.#issue-5f192247">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s12.#propdef-backface-visibility">
+ <!-- 8 tests -->
+ <tr id="backface-visibility-hidden-001-12.#propdef-backface-visibility" class="">
+ <td>
+ <a href="backface-visibility-hidden-001.xht">backface-visibility-hidden-001</a></td>
+ <td><a href="reference/backface-visibility-hidden-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with backface visibility = hidden
+ <ul class="assert">
+ <li>When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-001-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-001.xht">transform3d-backface-visibility-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, rotatex(180deg)
+ <ul class="assert">
+ <li>This tests that a very simple case of backface-visibility causes the element to disappear: rotateX(180deg) is specified on the same element that has backface-visibility: hidden.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-002-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-002.xht">transform3d-backface-visibility-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent and Child in Different Rendering Contexts
+ <ul class="assert">
+ <li>This tests that if an element has 'backface-visibility: hidden' and is rotated 180deg, so it would normally disappear, it doesn't reappear just because its parent also has a 180deg rotation. The rotations don't cancel, since the parent doesn't have 'transform-style: preserve-3d' and is in a different rendering context.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-003-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-003.xht">transform3d-backface-visibility-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, rotatex(180deg) on Table
+ <ul class="assert">
+ <li>This is identical to transform3d-backface-visibility-001.html, except that display: table is specified too. This is motivated by a real-world UA bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=724750&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-004-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-004.xht">transform3d-backface-visibility-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Same Rendering Context, Split Transform
+ <ul class="assert">
+ <li>This tests that if a parent and child are in the same 3D rendering context, and a 60deg rotation on the parent combines with a 60deg rotation on the child to make a 120deg rotation, the child will disappear if 'backface-visibility: hidden' is specified, just like if the 120deg rotation were specified on the child to start with.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-005-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-005.xht">transform3d-backface-visibility-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Different Rendering Context
+ <ul class="assert">
+ <li>This tests that if an element is not transformed, but its parent is rotated 180deg in a different rendering context, the child's 'backface-visibility: hidden' does not make it disappear. Only transforms that affect the child itself are relevant to 'backface-visibility'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-006-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-006.xht">transform3d-backface-visibility-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Backface-Visibility With Transformed Parent in Same Rendering Context
+ <ul class="assert">
+ <li>This is the same as transform3d-backface-visibility-005.html, except that the parent has 'transform-style: preserve-3d'. Thus the child is affected by the parent's transform and should not be visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-backface-visibility-007-12.#propdef-backface-visibility" class="primary">
+ <td><strong>
+ <a href="transform3d-backface-visibility-007.xht">transform3d-backface-visibility-007</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Backface-Visibility, scalez(-1)
+ <ul class="assert">
+ <li>This is the same as transform3d-backface-visibility-001.html, except it uses scalez(-1) instead of rotatex(180deg). scalez(-1) has no visible effect when applied by itself to a box, since the box's Z-coordinates are all 0, but it still causes it to be affected by 'backface-visibility'.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-13.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-13.xht
new file mode 100644
index 00000000000..0df4d12a43d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-13.xht
@@ -0,0 +1,14654 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The SVG transform Attribute - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The SVG transform Attribute (703 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s13">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform">13 The SVG transform Attribute</a></th></tr>
+ <!-- 699 tests -->
+ <tr id="skew-test1-13" class="primary svg">
+ <td><strong>
+ <a href="skew-test1.xht">skew-test1</a></strong></td>
+ <td><a href="reference/skew-test1-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Testing 1 - skew()
+ <ul class="assert">
+ <li>The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-001.xht">svg-document-styles-001</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-002.xht">svg-document-styles-002</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-003.xht">svg-document-styles-003</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-004.xht">svg-document-styles-004</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-005.xht">svg-document-styles-005</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid document transform style
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-006.xht">svg-document-styles-006</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-007.xht">svg-document-styles-007</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-008.xht">svg-document-styles-008</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-009.xht">svg-document-styles-009</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-010.xht">svg-document-styles-010</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-011.xht">svg-document-styles-011</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></strong></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-001.xht">svg-external-styles-001</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-002.xht">svg-external-styles-002</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-003.xht">svg-external-styles-003</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-004.xht">svg-external-styles-004</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-005.xht">svg-external-styles-005</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid external transform style
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-006.xht">svg-external-styles-006</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-007.xht">svg-external-styles-007</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-008.xht">svg-external-styles-008</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-009.xht">svg-external-styles-009</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-010.xht">svg-external-styles-010</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-011.xht">svg-external-styles-011</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></strong></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></strong></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-001.xht">svg-inline-styles-001</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-002.xht">svg-inline-styles-002</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-003.xht">svg-inline-styles-003</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-004.xht">svg-inline-styles-004</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-005.xht">svg-inline-styles-005</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid inline transform style
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-006.xht">svg-inline-styles-006</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-007.xht">svg-inline-styles-007</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-008.xht">svg-inline-styles-008</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-009.xht">svg-inline-styles-009</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-010.xht">svg-inline-styles-010</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-011.xht">svg-inline-styles-011</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></strong></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></strong></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-13" class="primary svg">
+ <td><strong>
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></strong></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-001-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-13" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></strong></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-001.xht">svg-rotate-3args-001</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and pixel on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-002.xht">svg-rotate-3args-002</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments without units on rotate or translate values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-003.xht">svg-rotate-3args-003</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with grad on rotate and pt on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-004.xht">svg-rotate-3args-004</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with turn on rotate and pc on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-005.xht">svg-rotate-3args-005</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with rad on rotate and mm on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-006.xht">svg-rotate-3args-006</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative rotate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-007.xht">svg-rotate-3args-007</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateX
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-008.xht">svg-rotate-3args-008</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateY
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-009.xht">svg-rotate-3args-009</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-010.xht">svg-rotate-3args-010</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-011.xht">svg-rotate-3args-011</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-012.xht">svg-rotate-3args-012</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and negative percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-001.xht">svg-rotate-3args-invalid-001</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-002.xht">svg-rotate-3args-invalid-002</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with no translation-value arguments and a comma
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-003.xht">svg-rotate-3args-invalid-003</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-004.xht">svg-rotate-3args-invalid-004</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-3args-invalid-005.xht">svg-rotate-3args-invalid-005</a></strong></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></strong></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-001.xht">svg-scale-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-002.xht">svg-scale-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-003.xht">svg-scale-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-004.xht">svg-scale-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-005.xht">svg-scale-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-006.xht">svg-scale-006</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-007.xht">svg-scale-007</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-008.xht">svg-scale-008</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-009.xht">svg-scale-009</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-010.xht">svg-scale-010</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-011.xht">svg-scale-011</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-012.xht">svg-scale-012</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-013.xht">svg-scale-013</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-014.xht">svg-scale-014</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-015.xht">svg-scale-015</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-016.xht">svg-scale-016</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scale-017.xht">svg-scale-017</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></strong></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></strong></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></strong></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></strong></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></strong></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-001.xht">svg-transform-group-001</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-002.xht">svg-transform-group-002</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-003.xht">svg-transform-group-003</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-004.xht">svg-transform-group-004</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-005.xht">svg-transform-group-005</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-006.xht">svg-transform-group-006</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-007.xht">svg-transform-group-007</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-008.xht">svg-transform-group-008</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-009.xht">svg-transform-group-009</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-010.xht">svg-transform-group-010</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></strong></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-001.xht">svg-transform-nested-001</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-002.xht">svg-transform-nested-002</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-003.xht">svg-transform-nested-003</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-004.xht">svg-transform-nested-004</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-005.xht">svg-transform-nested-005</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-006.xht">svg-transform-nested-006</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-007.xht">svg-transform-nested-007</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-008.xht">svg-transform-nested-008</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-009.xht">svg-transform-nested-009</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-010.xht">svg-transform-nested-010</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, matrix on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-011.xht">svg-transform-nested-011</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-012.xht">svg-transform-nested-012</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-013.xht">svg-transform-nested-013</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-014.xht">svg-transform-nested-014</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-015.xht">svg-transform-nested-015</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-016-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-016.xht">svg-transform-nested-016</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-017.xht">svg-transform-nested-017</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-018.xht">svg-transform-nested-018</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-019.xht">svg-transform-nested-019</a></strong></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-020.xht">svg-transform-nested-020</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-021.xht">svg-transform-nested-021</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scaleY on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-022.xht">svg-transform-nested-022</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-023.xht">svg-transform-nested-023</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translate on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-024-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-024.xht">svg-transform-nested-024</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, translateX on child1, scaleX on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-025.xht">svg-transform-nested-025</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, translateY on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-026.xht">svg-transform-nested-026</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translate on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-027.xht">svg-transform-nested-027</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-028.xht">svg-transform-nested-028</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-transform-nested-029.xht">svg-transform-nested-029</a></strong></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate with three arguments on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-001.xht">svg-translate-001</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-002.xht">svg-translate-002</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-003.xht">svg-translate-003</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-004.xht">svg-translate-004</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-005.xht">svg-translate-005</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-006.xht">svg-translate-006</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-007.xht">svg-translate-007</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-008.xht">svg-translate-008</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-009.xht">svg-translate-009</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-010.xht">svg-translate-010</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-011.xht">svg-translate-011</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-012.xht">svg-translate-012</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-013.xht">svg-translate-013</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-014.xht">svg-translate-014</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-015.xht">svg-translate-015</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-016.xht">svg-translate-016</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-017.xht">svg-translate-017</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-018.xht">svg-translate-018</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-019.xht">svg-translate-019</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-020.xht">svg-translate-020</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-021.xht">svg-translate-021</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-022.xht">svg-translate-022</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-023.xht">svg-translate-023</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-024.xht">svg-translate-024</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-025.xht">svg-translate-025</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-026.xht">svg-translate-026</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-027.xht">svg-translate-027</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-028.xht">svg-translate-028</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-029.xht">svg-translate-029</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-030.xht">svg-translate-030</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-031.xht">svg-translate-031</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-032.xht">svg-translate-032</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-033.xht">svg-translate-033</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-034.xht">svg-translate-034</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-035.xht">svg-translate-035</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-036.xht">svg-translate-036</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-037.xht">svg-translate-037</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-038.xht">svg-translate-038</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-039.xht">svg-translate-039</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-040.xht">svg-translate-040</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-041.xht">svg-translate-041</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-042.xht">svg-translate-042</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-043.xht">svg-translate-043</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-044.xht">svg-translate-044</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-045.xht">svg-translate-045</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-046.xht">svg-translate-046</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-047.xht">svg-translate-047</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-048.xht">svg-translate-048</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-049.xht">svg-translate-049</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-050.xht">svg-translate-050</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-051.xht">svg-translate-051</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-052.xht">svg-translate-052</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-053.xht">svg-translate-053</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-054.xht">svg-translate-054</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-055.xht">svg-translate-055</a></strong></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></strong></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></strong></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></strong></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></strong></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-13" class="primary ahem svg">
+ <td><strong>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></strong></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-13" class="primary svg">
+ <td><strong>
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></strong></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity">13.1 SVG transform attribute specificity</a></th></tr>
+ <!-- 42 tests -->
+ <tr id="svg-document-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-001.xht">svg-document-styles-001</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-002.xht">svg-document-styles-002</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-003.xht">svg-document-styles-003</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-004.xht">svg-document-styles-004</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-005.xht">svg-document-styles-005</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid document transform style
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-006.xht">svg-document-styles-006</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-007.xht">svg-document-styles-007</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-008.xht">svg-document-styles-008</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-009.xht">svg-document-styles-009</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-010.xht">svg-document-styles-010</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-011.xht">svg-document-styles-011</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-001.xht">svg-external-styles-001</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-002.xht">svg-external-styles-002</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-003.xht">svg-external-styles-003</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-004.xht">svg-external-styles-004</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-005.xht">svg-external-styles-005</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid external transform style
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-006.xht">svg-external-styles-006</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-007.xht">svg-external-styles-007</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-008.xht">svg-external-styles-008</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-009.xht">svg-external-styles-009</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-010.xht">svg-external-styles-010</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-011.xht">svg-external-styles-011</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-001-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-001.xht">svg-inline-styles-001</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-002-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-002.xht">svg-inline-styles-002</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG child element with presentation attribute styles on the parent and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-003-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-003.xht">svg-inline-styles-003</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on child element
+ <ul class="assert">
+ <li>Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-004-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-004.xht">svg-inline-styles-004</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline transform style on SVG group element and presentation attribute style on group and child elements
+ <ul class="assert">
+ <li>Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-005-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-005.xht">svg-inline-styles-005</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of SVG element with invalid inline transform style
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-006-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-006.xht">svg-inline-styles-006</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group
+ <ul class="assert">
+ <li>Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-007-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-007.xht">svg-inline-styles-007</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-008-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-008.xht">svg-inline-styles-008</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-009-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-009.xht">svg-inline-styles-009</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute style on child element
+ <ul class="assert">
+ <li>Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-010-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-010.xht">svg-inline-styles-010</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements
+ <ul class="assert">
+ <li>Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-011-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-011.xht">svg-inline-styles-011</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13.1" class="svg">
+ <td>
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-syntax">13.2 Syntax of the SVG transform attribute</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list">13.2.1 Transform List</a></th></tr>
+ <!-- 11 tests -->
+ <tr id="svg-transform-list-separations-001-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13.2.1" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation">13.2.2 Functional Notation</a></th></tr>
+ <!-- 15 tests -->
+ <tr id="svg-rotate-3args-013-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13.2.2" class="svg">
+ <td>
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-001-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-13.2.2" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-data-types">13.2.3 SVG Data Types</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.3.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value">13.2.3.1 The <translation-value> and <length> type</a></th></tr>
+ <!-- 61 tests -->
+ <tr id="svg-gradienttransform-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-006.xht">svg-origin-length-006</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-007-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-007.xht">svg-origin-length-007</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-008-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-origin-length-008.xht">svg-origin-length-008</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50 50
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13.2.3.1" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3.1.#typedef-translation-value">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.2.3.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-angle">13.2.3.2 The <angle> type</a></th></tr>
+ <!-- 50 tests -->
+ <tr id="svg-rotate-angle-45-001-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13.2.3.2" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.2.3.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.2.3.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-number">13.2.3.3 The <number> type</a></th></tr>
+ <!-- 220 tests -->
+ <tr id="svg-gradienttransform-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-13.2.3.3" class="svg">
+ <td>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-13.2.3.3" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform">13.3 The SVG gradientTransform and patternTransform attributes</a></th></tr>
+ <!-- 122 tests -->
+ <tr id="svg-gradienttransform-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-13.3" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-13.3" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-13.3" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13.3" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.4">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.4">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions">13.4 SVG transform functions</a></th></tr>
+ <!-- 39 tests -->
+ <tr id="svg-document-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Document style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style
+ <ul class="assert">
+ <li>Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-document-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid document and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>External style of rotate with three arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style
+ <ul class="assert">
+ <li>Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-external-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid external and presentation attribute styles on an SVG element
+ <ul class="assert">
+ <li>When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-012-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element
+ <ul class="assert">
+ <li>Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-013-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style
+ <ul class="assert">
+ <li>Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-inline-styles-014-13.4" class="svg">
+ <td>
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments
+ <ul class="assert">
+ <li>When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-001-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-001.xht">svg-rotate-3args-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and pixel on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-002-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-002.xht">svg-rotate-3args-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments without units on rotate or translate values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-003-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-003.xht">svg-rotate-3args-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with grad on rotate and pt on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-004-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-004.xht">svg-rotate-3args-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with turn on rotate and pc on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-005-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-005.xht">svg-rotate-3args-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with rad on rotate and mm on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-006-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-006.xht">svg-rotate-3args-006</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative rotate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-007-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-007.xht">svg-rotate-3args-007</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateX
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-008-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-008.xht">svg-rotate-3args-008</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with negative translateY
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-009-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-009.xht">svg-rotate-3args-009</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-010-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-010.xht">svg-rotate-3args-010</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-011-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-011.xht">svg-rotate-3args-011</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-012-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-012.xht">svg-rotate-3args-012</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with deg on rotate and negative percentage units on translate
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-013-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with space delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-014-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-015-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with a space after the comma
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-016-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas
+ <ul class="assert">
+ <li>The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-001-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-001.xht">svg-rotate-3args-invalid-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-002-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-002.xht">svg-rotate-3args-invalid-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with no translation-value arguments and a comma
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-003-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-003.xht">svg-rotate-3args-invalid-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third absolute translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-004-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-004.xht">svg-rotate-3args-invalid-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with one relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-invalid-005-13.4" class="svg">
+ <td>
+ <a href="svg-rotate-3args-invalid-005.xht">svg-rotate-3args-invalid-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments, with a third relative translation-value argument
+ <ul class="assert">
+ <li>The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-13.4" class="svg">
+ <td>
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-029-13.4" class="svg">
+ <td>
+ <a href="svg-transform-nested-029.xht">svg-transform-nested-029</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate with three arguments on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.4.#rotate-three-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.5">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.5">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-three-dimensional-functions">13.5 SVG and 3D transform functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s13.6">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.6">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space">13.6 User coordinate space</a></th></tr>
+ <!-- 61 tests -->
+ <tr id="svg-origin-relative-length-001-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-13.6" class="svg">
+ <td>
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-13.6" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s13.7">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s13.7">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-dom">13.7 SVG DOM interface for the transform attribute</a></th></tr>
+ <!-- 1 tests -->
+ <tr id="css-transforms-transformlist-13.7" class="primary">
+ <td><strong>
+ <a href="css-transforms-transformlist.xht">css-transforms-transformlist</a></strong></td>
+ <td><a href="reference/css-transforms-transformlist-ref.xht">=</a> </td>
+ <td></td>
+ <td>SVG transform in baseVal list
+ <ul class="assert">
+ <li>This test verifies that the CSS transform ends up in the list of SVG transforms</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-14.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-14.xht
new file mode 100644
index 00000000000..0462b9acb22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-14.xht
@@ -0,0 +1,57 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>SVG Animation - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>SVG Animation (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s14">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-animation">14 SVG Animation</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-animate-element">14.1 The <animate> and <set> element</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#neutral-element">14.2 Neutral element for addition</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s14.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s14.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#svg-attribute-name">14.3 The SVG attributeName attribute</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-15.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-15.xht
new file mode 100644
index 00000000000..4288d4def1c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-15.xht
@@ -0,0 +1,12716 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The Transform Functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Functions (691 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s15">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-functions">15 The Transform Functions</a></th></tr>
+ <!-- 7 tests -->
+ <tr id="animations-001-15" class="ahem animated">
+ <td>
+ <a href="animations-001.xht">animations-001</a></td>
+ <td><a href="reference/animations-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="animated" title="Animated test">Animated</abbr></td>
+ <td>CSS Regions: animating content flowed into a region
+ <ul class="assert">
+ <li>Test checks that content that has an animated 3D transform renders and animates when flowed in a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="canvas3d-001-15" class="dom">
+ <td>
+ <a href="canvas3d-001.xht">canvas3d-001</a></td>
+ <td><a href="reference/canvas3d-001-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ <td>CSS Regions: rendering 3D canvas elements inside regions
+ <ul class="assert">
+ <li>Test checks that when a 3D (webGL) canvas element is flowed in a region it renders as it would render if it wouldn't be flowed in the region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="canvas3d-002-15" class="dom">
+ <td>
+ <a href="canvas3d-002.xht">canvas3d-002</a></td>
+ <td><a href="reference/canvas3d-002-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ <td>CSS Regions: rendering text flowed in a region on top of 3D content
+ <ul class="assert">
+ <li>Test checks that text flowed in a region renders without artifacts when the region overlaps a 3D (webGL) canvas element. This can be problematic in browsers that don't handle layers and/or 3D acceleration correctly.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-001-15" class="">
+ <td>
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-15" class="">
+ <td>
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="iframe-001-15" class="ahem">
+ <td>
+ <a href="iframe-001.xht">iframe-001</a></td>
+ <td><a href="reference/iframe-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: flowing an iframe that loads content with 3D transform
+ <ul class="assert">
+ <li>Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="video-001-15" class="">
+ <td>
+ <a href="video-001.xht">video-001</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS Regions: flowing a video in a region
+ <ul class="assert">
+ <li>Test checks videos flowed in regions render smoothly and without artifacts.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.#typedef-transform-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">15.1 2D Transform Functions</a></th></tr>
+ <!-- 638 tests -->
+ <tr id="css-rotate-2d-3d-001-15.1" class="primary">
+ <td><strong>
+ <a href="css-rotate-2d-3d-001.xht">css-rotate-2d-3d-001</a></strong></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>2D rotation with 3D rotation
+ <ul class="assert">
+ <li>This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-scale-nested-001-15.1" class="">
+ <td>
+ <a href="css-scale-nested-001.xht">css-scale-nested-001</a></td>
+ <td><a href="reference/css-scale-nested-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale 0 on a parent with a child
+ <ul class="assert">
+ <li>Child square element is transformed (scaled to zero) along with the parent element</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-skew-001-15.1" class="primary">
+ <td><strong>
+ <a href="css-skew-001.xht">css-skew-001</a></strong></td>
+ <td><a href="reference/css-skew-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>skew function part 1
+ </td>
+ </tr>
+ <tr id="css-skew-002-15.1" class="primary">
+ <td><strong>
+ <a href="css-skew-002.xht">css-skew-002</a></strong></td>
+ <td><a href="reference/css-skew-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>skew function part 2
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-rotate-15.1" class="">
+ <td>
+ <a href="css-transform-inherit-rotate.xht">css-transform-inherit-rotate</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms rotate inheritance on div element
+ <ul class="assert">
+ <li>Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-scale-15.1" class="">
+ <td>
+ <a href="css-transform-inherit-scale.xht">css-transform-inherit-scale</a></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms scale 2 inheritance on div elements
+ <ul class="assert">
+ <li>While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-001-15.1" class="">
+ <td>
+ <a href="regions-transforms-001.xht">regions-transforms-001</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (non-text) content
+ <ul class="assert">
+ <li>This test checks that the transform is applied to the named flow non-text content.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-002-15.1" class="">
+ <td>
+ <a href="regions-transforms-002.xht">regions-transforms-002</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow content element that has a child
+ <ul class="assert">
+ <li>This test checks that the child is transformed along with the parent when the transform is applied to a named flow content node</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-003-15.1" class="">
+ <td>
+ <a href="regions-transforms-003.xht">regions-transforms-003</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Named flow content that has a transformed parent outside of the named flow
+ <ul class="assert">
+ <li>This tests checks that when a transform is applied to a parent outside of the named flow but has child in the named flow, the child is not transformed along with the parent.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-007-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-007.xht">regions-transforms-007</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transforms on both the named flow content and the region
+ <ul class="assert">
+ <li>Test checks that if both the content flowed in a region and the region have a transform applied, they are properly composed. More specifically, in this test the content should appear as rotated 180 degrees.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-008-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-008.xht">regions-transforms-008</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows
+ <ul class="assert">
+ <li>This test checks that named flow text content is transformed when it breaks across multiple regions and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-009-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-009.xht">regions-transforms-009</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows
+ <ul class="assert">
+ <li>This test checks that the regions are transformed when named flow text content breaks across multiple regions and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-010-15.1" class="">
+ <td>
+ <a href="regions-transforms-010.xht">regions-transforms-010</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region with position: relative
+ <ul class="assert">
+ <li>This test checks that the transform can be applied on relative positioned region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-011-15.1" class="">
+ <td>
+ <a href="regions-transforms-011.xht">regions-transforms-011</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region where parent and child are separate named flow content nodes
+ <ul class="assert">
+ <li>This test checks that the region is transformed when a parent and its child are separate named flow content nodes flowing into it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-012-15.1" class="">
+ <td>
+ <a href="regions-transforms-012.xht">regions-transforms-012</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow content flowing into transformed region
+ <ul class="assert">
+ <li>This test checks that named flow text content is transformed when it flows into a region that is also transformed.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-013-15.1" class="">
+ <td>
+ <a href="regions-transforms-013.xht">regions-transforms-013</a></td>
+ <td><a href="reference/regions-transforms-013-alt-ref.xht">=</a> <a href="reference/regions-transforms-013-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions
+ <ul class="assert">
+ <li>This test checks that the named flow content that is monolithic is transformed when it breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-014-15.1" class="">
+ <td>
+ <a href="regions-transforms-014.xht">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transform region with position:absolute and transform-origin
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-015-15.1" class="">
+ <td>
+ <a href="regions-transforms-015.xht">regions-transforms-015</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to named flow content that flows into a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-017-15.1" class="">
+ <td>
+ <a href="regions-transforms-017.xht">regions-transforms-017</a></td>
+ <td><a href="reference/regions-transforms-017-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Multiple transformed named flow content nodes that overflow a region
+ <ul class="assert">
+ <li>This test checks that multiple named flow content nodes are transformed into a region and that the overflow remains visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-020-15.1" class="">
+ <td>
+ <a href="regions-transforms-020.xht">regions-transforms-020</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions
+ <ul class="assert">
+ <li>This test checks that the named flow content that is fragmentable (has a break point) is transformed when it breaks across multiple regions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-021-15.1" class="">
+ <td>
+ <a href="regions-transforms-021.xht">regions-transforms-021</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions
+ <ul class="assert">
+ <li>This test checks that separate transforms can be applied to each named flow content node that breaks across multiple regions and that each fragment has its own transform origin.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-022-15.1" class="ahem">
+ <td>
+ <a href="regions-transforms-022.xht">regions-transforms-022</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions
+ <ul class="assert">
+ <li>This test checks that separate transforms can be applied to each named flow content text node that breaks across multiple regions</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate-180-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-180-degrees-001.xht">rotate-180-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 180 deg
+ </td>
+ </tr>
+ <tr id="rotate-270-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-270-degrees-001.xht">rotate-270-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 270 deg
+ </td>
+ </tr>
+ <tr id="rotate-90-degrees-001-15.1" class="">
+ <td>
+ <a href="rotate-90-degrees-001.xht">rotate-90-degrees-001</a></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 90 deg
+ </td>
+ </tr>
+ <tr id="scale-optional-second-001-15.1" class="">
+ <td>
+ <a href="scale-optional-second-001.xht">scale-optional-second-001</a></td>
+ <td><a href="reference/scale-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and one parameter
+ <ul class="assert">
+ <li>If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scale-zero-001-15.1" class="">
+ <td>
+ <a href="scale-zero-001.xht">scale-zero-001</a></td>
+ <td><a href="reference/scale-zero-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and zero values
+ <ul class="assert">
+ <li>If zero value is passed to scale function, it causes the element to disappear.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="skew-test1-15.1" class="svg">
+ <td>
+ <a href="skew-test1.xht">skew-test1</a></td>
+ <td><a href="reference/skew-test1-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Testing 1 - skew()
+ <ul class="assert">
+ <li>The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-004-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-005-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-006-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-007-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-009-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-010-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-011-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-012-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-013-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-014-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-015-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-017-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-018-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-019-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-020-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-021-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-022-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-023-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-025-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-026-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-027-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-028-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-029-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-030-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-031-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-033-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-034-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-035-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-036-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-037-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-038-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-039-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-041-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-042-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-043-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-044-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-045-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-046-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-047-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-049-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the gradient element - has no effect
+ <ul class="assert">
+ <li>The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with translateX applied twice
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-gradienttransform-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-001-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-15.1" class="svg">
+ <td>
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-004-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-005-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-006-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-007-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-009-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-010-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-011-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-012-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-013-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-014-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-015-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-017-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-018-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-019-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-020-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-021-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-022-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-023-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-025-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-026-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-027-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-028-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-029-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-030-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-031-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-033-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-034-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-035-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-036-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-037-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-038-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-039-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-041-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-042-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-043-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-044-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-045-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-046-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-047-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-049-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG transform presentation attribute on the pattern element - not supported
+ <ul class="assert">
+ <li>The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-patterntransform-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect
+ <ul class="assert">
+ <li>Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-15.1" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-15.1" class="svg">
+ <td>
+ <a href="svg-scale-001.xht">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-15.1" class="svg">
+ <td>
+ <a href="svg-scale-002.xht">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-15.1" class="svg">
+ <td>
+ <a href="svg-scale-003.xht">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-15.1" class="svg">
+ <td>
+ <a href="svg-scale-004.xht">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-15.1" class="svg">
+ <td>
+ <a href="svg-scale-005.xht">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-15.1" class="svg">
+ <td>
+ <a href="svg-scale-006.xht">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-15.1" class="svg">
+ <td>
+ <a href="svg-scale-007.xht">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-15.1" class="svg">
+ <td>
+ <a href="svg-scale-008.xht">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-15.1" class="svg">
+ <td>
+ <a href="svg-scale-009.xht">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-15.1" class="svg">
+ <td>
+ <a href="svg-scale-010.xht">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-15.1" class="svg">
+ <td>
+ <a href="svg-scale-011.xht">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-15.1" class="svg">
+ <td>
+ <a href="svg-scale-012.xht">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-15.1" class="svg">
+ <td>
+ <a href="svg-scale-013.xht">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-15.1" class="svg">
+ <td>
+ <a href="svg-scale-014.xht">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-15.1" class="svg">
+ <td>
+ <a href="svg-scale-015.xht">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-15.1" class="svg">
+ <td>
+ <a href="svg-scale-016.xht">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-15.1" class="svg">
+ <td>
+ <a href="svg-scale-017.xht">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-001-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-15.1" class="svg">
+ <td>
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-001-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-15.1" class="svg">
+ <td>
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-15.1" class="svg">
+ <td>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-001-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-15.1" class="svg">
+ <td>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-001-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-001.xht">svg-transform-group-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-002-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-002.xht">svg-transform-group-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-003-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-003.xht">svg-transform-group-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-004-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-004.xht">svg-transform-group-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-005-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-005.xht">svg-transform-group-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-006-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-006.xht">svg-transform-group-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-007-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-007.xht">svg-transform-group-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-008-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-008.xht">svg-transform-group-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-009-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-009.xht">svg-transform-group-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-010-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-010.xht">svg-transform-group-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-group-011-15.1" class="svg">
+ <td>
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with three arguments on group
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-001-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-001.xht">svg-transform-nested-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-002-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-002.xht">svg-transform-nested-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-003-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-003.xht">svg-transform-nested-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-004-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-004.xht">svg-transform-nested-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-005-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-005.xht">svg-transform-nested-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-006-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-006.xht">svg-transform-nested-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-007-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-007.xht">svg-transform-nested-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-008-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-008.xht">svg-transform-nested-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-009-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-009.xht">svg-transform-nested-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-010-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-010.xht">svg-transform-nested-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, matrix on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-011-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-011.xht">svg-transform-nested-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scale on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-012-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-012.xht">svg-transform-nested-012</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-013-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-013.xht">svg-transform-nested-013</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, skewX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-014-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-014.xht">svg-transform-nested-014</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, skewY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-015-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-015.xht">svg-transform-nested-015</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, rotate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-016-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-016.xht">svg-transform-nested-016</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translateX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-017-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-017.xht">svg-transform-nested-017</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateY on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-018-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-018.xht">svg-transform-nested-018</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewX on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-019-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-019.xht">svg-transform-nested-019</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, skewY on group, translate on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-020-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-020.xht">svg-transform-nested-020</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleX on child
+ <ul class="assert">
+ <li>Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-021-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-021.xht">svg-transform-nested-021</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translate on group, scaleY on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-022-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-022.xht">svg-transform-nested-022</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-023-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-023.xht">svg-transform-nested-023</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, translateY on group, translate on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-024-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-024.xht">svg-transform-nested-024</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scale on group, translateX on child1, scaleX on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-025-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-025.xht">svg-transform-nested-025</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleX on group, translateY on child1, scale on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-026-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-026.xht">svg-transform-nested-026</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, scaleY on group, translate on child1, rotate on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-027-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-027.xht">svg-transform-nested-027</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-nested-028-15.1" class="svg">
+ <td>
+ <a href="svg-transform-nested-028.xht">svg-transform-nested-028</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2
+ <ul class="assert">
+ <li>Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-002.xht">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-003.xht">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-004.xht">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-005.xht">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-006.xht">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-15.1" class="svg">
+ <td>
+ <a href="svg-translate-007.xht">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-008.xht">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-15.1" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-15.1" class="svg">
+ <td>
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-15.1" class="svg">
+ <td>
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-15.1" class="svg">
+ <td>
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-15.1" class="svg">
+ <td>
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-15.1" class="svg">
+ <td>
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-15.1" class="svg">
+ <td>
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-15.1" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-15.1" class="svg">
+ <td>
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-15.1" class="svg">
+ <td>
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-15.1" class="svg">
+ <td>
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-15.1" class="svg">
+ <td>
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-15.1" class="svg">
+ <td>
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-15.1" class="svg">
+ <td>
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-15.1" class="svg">
+ <td>
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-15.1" class="svg">
+ <td>
+ <a href="svg-translate-026.xht">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-15.1" class="svg">
+ <td>
+ <a href="svg-translate-027.xht">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-15.1" class="svg">
+ <td>
+ <a href="svg-translate-028.xht">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-15.1" class="svg">
+ <td>
+ <a href="svg-translate-029.xht">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-15.1" class="svg">
+ <td>
+ <a href="svg-translate-030.xht">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-15.1" class="svg">
+ <td>
+ <a href="svg-translate-031.xht">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-032.xht">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-15.1" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-15.1" class="svg">
+ <td>
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-15.1" class="svg">
+ <td>
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-15.1" class="svg">
+ <td>
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-15.1" class="svg">
+ <td>
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-15.1" class="svg">
+ <td>
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-15.1" class="svg">
+ <td>
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-15.1" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-15.1" class="svg">
+ <td>
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-15.1" class="svg">
+ <td>
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-15.1" class="svg">
+ <td>
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-15.1" class="svg">
+ <td>
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-15.1" class="svg">
+ <td>
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-15.1" class="svg">
+ <td>
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-15.1" class="svg">
+ <td>
+ <a href="svg-translate-049.xht">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-15.1" class="svg">
+ <td>
+ <a href="svg-translate-050.xht">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-15.1" class="svg">
+ <td>
+ <a href="svg-translate-051.xht">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-15.1" class="svg">
+ <td>
+ <a href="svg-translate-052.xht">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-15.1" class="svg">
+ <td>
+ <a href="svg-translate-053.xht">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-15.1" class="svg">
+ <td>
+ <a href="svg-translate-054.xht">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-15.1" class="svg">
+ <td>
+ <a href="svg-translate-055.xht">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-15.1" class="svg">
+ <td>
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-15.1" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-15.1" class="svg">
+ <td>
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-2d-getcomputedstyle-001-15.1" class="dom script">
+ <td>
+ <a href="transform-2d-getComputedStyle-001.xht">transform-2d-getcomputedstyle-001</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>CSS 2D transforms correctly report their matrix via getComputedStyle()</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-001.xht">transform-matrix-001</a></strong></td>
+ <td><a href="reference/transform-matrix-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX()
+ <ul class="assert">
+ <li>This tests that translateX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-002.xht">transform-matrix-002</a></strong></td>
+ <td><a href="reference/transform-matrix-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY()
+ <ul class="assert">
+ <li>This tests that translateY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-003.xht">transform-matrix-003</a></strong></td>
+ <td><a href="reference/transform-matrix-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX(%)
+ <ul class="assert">
+ <li>This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-004.xht">transform-matrix-004</a></strong></td>
+ <td><a href="reference/transform-matrix-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY(%)
+ <ul class="assert">
+ <li>This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-005.xht">transform-matrix-005</a></strong></td>
+ <td><a href="reference/transform-matrix-005-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewX()
+ <ul class="assert">
+ <li>This tests that skewX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-006-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-006.xht">transform-matrix-006</a></strong></td>
+ <td><a href="reference/transform-matrix-006-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewY()
+ <ul class="assert">
+ <li>This tests that skewY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-007-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-007.xht">transform-matrix-007</a></strong></td>
+ <td><a href="reference/transform-matrix-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/scale()
+ <ul class="assert">
+ <li>This tests that scale() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-008-15.1" class="primary">
+ <td><strong>
+ <a href="transform-matrix-008.xht">transform-matrix-008</a></strong></td>
+ <td><a href="reference/transform-matrix-008-ref.xht">=</a> <a href="reference/transform-matrix-008-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix() with non-numeric args
+ <ul class="assert">
+ <li>This tests that providing length or percentage values as arguments to matrix() is a syntax error.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-001.xht">transform-rotate-001</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(360deg)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-002.xht">transform-rotate-002</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(400grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-003.xht">transform-rotate-003</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-004.xht">transform-rotate-004</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-45deg) rotate(100grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-005.xht">transform-rotate-005</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-135deg) rotate(3.1415926535897932384626433rad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-006-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-006.xht">transform-rotate-006</a></strong></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(1turn)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-007-15.1" class="primary">
+ <td><strong>
+ <a href="transform-rotate-007.xht">transform-rotate-007</a></strong></td>
+ <td><a href="reference/transform-rotate-007-ref.xht">=</a> <a href="reference/transform-rotate-007-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Rotated Simple Box
+ <ul class="assert">
+ <li>This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-001.xht">transform-scale-001</a></strong></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5, 0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5, 0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-002.xht">transform-scale-002</a></strong></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-percent-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scale-percent-001.xht">transform-scale-percent-001</a></strong></td>
+ <td><a href="reference/transform-scale-percent-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(50%, 50%)
+ <ul class="assert">
+ <li>This tests that scale(50%, 50%) does nothing, because scale() is defined to take numbers and not percentages.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scalex-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scalex-001.xht">transform-scalex-001</a></strong></td>
+ <td><a href="reference/transform-scalex-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleX(0.5)
+ <ul class="assert">
+ <li>This tests that scaleX(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scaley-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-scaley-001.xht">transform-scaley-001</a></strong></td>
+ <td><a href="reference/transform-scaley-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleY(0.5)
+ <ul class="assert">
+ <li>This tests that scaleY(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stresstest-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-stresstest-001.xht">transform-stresstest-001</a></strong></td>
+ <td><a href="reference/transform-stresstest-ref.xht">=</a> </td>
+ <td></td>
+ <td>Inversion Stress Test
+ <ul class="assert">
+ <li>This simply applies and then inverts a large number of 2D transform functions, and expects the result to be no transform at all. One extra translateX(100px) is added at the end to ensure that the lack of transform isn't just because the UA parsed it incorrectly, or doesn't support transforms at all.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-001.xht">transform-translate-001</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-002.xht">transform-translate-002</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-003.xht">transform-translate-003</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(25px, 25px) translate(25px, 25px)
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-004.xht">transform-translate-004</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) plus relative positioning 25px to the bottom right is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translate-005.xht">transform-translate-005</a></strong></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-001.xht">transform-translatex-001</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px)
+ <ul class="assert">
+ <li>This tests that translatex(50px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-002.xht">transform-translatex-002</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-003.xht">transform-translatex-003</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(25px) translatex(25px)
+ <ul class="assert">
+ <li>This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-004.xht">transform-translatex-004</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatex-005.xht">transform-translatex-005</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several X-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-006-15.1" class="">
+ <td>
+ <a href="transform-translatex-006.xht">transform-translatex-006</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translateX function
+ <ul class="assert">
+ <li>This tests that translateX(50px) translates a box by 50 pixels in the X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-001-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-001.xht">transform-translatey-001</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px)
+ <ul class="assert">
+ <li>This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-002-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-002.xht">transform-translatey-002</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-003-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-003.xht">transform-translatey-003</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(25px) translatey(25px)
+ <ul class="assert">
+ <li>This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-004-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-004.xht">transform-translatey-004</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-005-15.1" class="primary">
+ <td><strong>
+ <a href="transform-translatey-005.xht">transform-translatey-005</a></strong></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Y-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_invalid_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_invalid_prefixed.xht">transform_translate_invalid_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with invalid translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(null, null) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_max_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_max_prefixed.xht">transform_translate_max_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with maximum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_min_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_min_prefixed.xht">transform_translate_min_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with minimum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_neg_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_neg_prefixed.xht">transform_translate_neg_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with negative translation value
+ <ul class="assert">
+ <li>Check if transform supports translate(-1px, -1px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_prefixed.xht">transform_translate_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(100px, 100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_second_omited_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_second_omited_prefixed.xht">transform_translate_second_omited_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with second translation value omited
+ <ul class="assert">
+ <li>Check if transform supports translate(100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_zero_prefixed-15.1" class="dom script">
+ <td>
+ <a href="transform_translate_zero_prefixed.xht">transform_translate_zero_prefixed</a></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(0, 0)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-degree-90-15.1" class="">
+ <td>
+ <a href="transforms-rotate-degree-90.xht">transforms-rotate-degree-90</a></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ <ul class="assert">
+ <li>If the rotate with parameter not provided, greenRectangle will not cover redRectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-translate-scale-15.1" class="">
+ <td>
+ <a href="transforms-rotate-translate-scale.xht">transforms-rotate-translate-scale</a></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and rotate function with one parameter
+ <ul class="assert">
+ <li>If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotatey-degree-60-15.1" class="">
+ <td>
+ <a href="transforms-rotateY-degree-60.xht">transforms-rotatey-degree-60</a></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ </td>
+ </tr>
+ <tr id="transforms-skewx-15.1" class="">
+ <td>
+ <a href="transforms-skewX.xht">transforms-skewx</a></td>
+ <td><a href="reference/transforms-skewX-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for X axis.
+ <ul class="assert">
+ <li>If the skew for X axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-skewy-15.1" class="">
+ <td>
+ <a href="transforms-skewY.xht">transforms-skewy</a></td>
+ <td><a href="reference/transforms-skewY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for Y axis.
+ <ul class="assert">
+ <li>If the skew for Y axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-optional-second-001-15.1" class="">
+ <td>
+ <a href="translate-optional-second-001.xht">translate-optional-second-001</a></td>
+ <td><a href="reference/translate-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translate function and one parameter
+ <ul class="assert">
+ <li>If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-reftest-rotate-15.1" class="">
+ <td>
+ <a href="ttwf-reftest-rotate.xht">ttwf-reftest-rotate</a></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotate
+ <ul class="assert">
+ <li>The transform should rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-matrix">
+ <!-- 77 tests -->
+ <tr id="svg-matrix-001-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-002-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-003-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-004-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-005-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-006-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-007-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-008-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-009-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-010-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-011-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-012-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-013-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-014-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-015-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-016-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-017-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-018-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-019-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-020-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-021-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-022-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-023-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled down horizontally and up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-024-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and scaled up horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-025-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-026-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-027-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-028-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-029-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-030-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-031-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-032-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-033-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-034-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0
+ <ul class="assert">
+ <li>The rect in the test should be flipped left scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-035-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100
+ <ul class="assert">
+ <li>The rect in the test should be flipped left and up scaled down vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-036-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0
+ <ul class="assert">
+ <li>The rect in the test should skewed right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-037-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should skewed down horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-038-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed left horinzontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-039-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-040-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-041-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-042-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50
+ <ul class="assert">
+ <li>The rect in the test should be skewed down vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-043-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0
+ <ul class="assert">
+ <li>The rect in the test should be skewed up vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-044-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0
+ <ul class="assert">
+ <li>The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-045-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150
+ <ul class="assert">
+ <li>The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-046-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-047-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100
+ <ul class="assert">
+ <li>The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-048-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-049-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas and no spaces
+ <ul class="assert">
+ <li>The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-050-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-051-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-052-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-053-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-054-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-055-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-056-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-057-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas
+ <ul class="assert">
+ <li>The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-058-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-059-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value
+ <ul class="assert">
+ <li>The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-060-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value
+ <ul class="assert">
+ <li>The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-061-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-062-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value
+ <ul class="assert">
+ <li>The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-063-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value
+ <ul class="assert">
+ <li>The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-064-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'a' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-065-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'b' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-066-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'c' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-067-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'd' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-068-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'e' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-matrix-069-15.1.#funcdef-matrix" class="svg">
+ <td>
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and matrix function with invalid 'f' value with another transform function
+ <ul class="assert">
+ <li>The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-001-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-001.xht">transform-matrix-001</a></td>
+ <td><a href="reference/transform-matrix-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX()
+ <ul class="assert">
+ <li>This tests that translateX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-002-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-002.xht">transform-matrix-002</a></td>
+ <td><a href="reference/transform-matrix-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY()
+ <ul class="assert">
+ <li>This tests that translateY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-003-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-003.xht">transform-matrix-003</a></td>
+ <td><a href="reference/transform-matrix-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateX(%)
+ <ul class="assert">
+ <li>This tests that translateX() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-004-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-004.xht">transform-matrix-004</a></td>
+ <td><a href="reference/transform-matrix-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/translateY(%)
+ <ul class="assert">
+ <li>This tests that translateY() with a percentage argument has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-005-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-005.xht">transform-matrix-005</a></td>
+ <td><a href="reference/transform-matrix-005-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewX()
+ <ul class="assert">
+ <li>This tests that skewX() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-006-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-006.xht">transform-matrix-006</a></td>
+ <td><a href="reference/transform-matrix-006-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix()/skewY()
+ <ul class="assert">
+ <li>This tests that skewY() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-007-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-007.xht">transform-matrix-007</a></td>
+ <td><a href="reference/transform-matrix-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix()/scale()
+ <ul class="assert">
+ <li>This tests that scale() has the same effect as an equivalent matrix().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-matrix-008-15.1.#funcdef-matrix" class="">
+ <td>
+ <a href="transform-matrix-008.xht">transform-matrix-008</a></td>
+ <td><a href="reference/transform-matrix-008-ref.xht">=</a> <a href="reference/transform-matrix-008-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix() with non-numeric args
+ <ul class="assert">
+ <li>This tests that providing length or percentage values as arguments to matrix() is a syntax error.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-rotate">
+ <!-- 58 tests -->
+ <tr id="css3-transform-rotatey-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="css3-transform-rotateY.xht">css3-transform-rotatey</a></td>
+ <td><a href="reference/css3-transform-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY function
+ <ul class="assert">
+ <li>box width should be equal to projection width if transform rotateY applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-001-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-002-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-003-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-004-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-005-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-006-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-007-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-008-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-009-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-010-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-011-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-012-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-013-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-014-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-015-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-016-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-017-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-018-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-019-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-020-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-021-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-022-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-023-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-024-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-45-025-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-001-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-002-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-003-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-004-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-005-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on rotate
+ <ul class="assert">
+ <li>The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-006-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative, unit less turn
+ <ul class="assert">
+ <li>The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-007-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative degrees
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-008-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative gradians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-009-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative radians
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-010-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with negative turns
+ <ul class="assert">
+ <li>The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-011-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with unit less angle
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-012-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in degree
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-013-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-014-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in radian
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-015-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle rotate with angle in turn
+ <ul class="assert">
+ <li>The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-016-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-017-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on degree angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-018-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-019-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-020-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers on turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-021-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-022-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-023-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-024-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-angle-90-025-15.1.#funcdef-rotate" class="svg">
+ <td>
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-001-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-001.xht">transform-rotate-001</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(360deg)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-002-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-002.xht">transform-rotate-002</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(400grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-003-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-003.xht">transform-rotate-003</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-004-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-004.xht">transform-rotate-004</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-45deg) rotate(100grad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-005-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-005.xht">transform-rotate-005</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(-135deg) rotate(3.1415926535897932384626433rad)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-006-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-006.xht">transform-rotate-006</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate(45deg) rotate(1turn)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that various combinations of rotate() with different units are equivalent to rotate(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rotate-007-15.1.#funcdef-rotate" class="">
+ <td>
+ <a href="transform-rotate-007.xht">transform-rotate-007</a></td>
+ <td><a href="reference/transform-rotate-007-ref.xht">=</a> <a href="reference/transform-rotate-007-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Rotated Simple Box
+ <ul class="assert">
+ <li>This tests that rotating a simple rectangle by 90 degrees produces another rectangle of the appropriate dimensions.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scale">
+ <!-- 22 tests -->
+ <tr id="css3-transform-scale-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="css3-transform-scale.xht">css3-transform-scale</a></td>
+ <td><a href="reference/css3-transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-002-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="css3-transform-scale-002.xht">css3-transform-scale-002</a></td>
+ <td><a href="reference/css3-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-001-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-001.xht">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-002-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-002.xht">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 1.5 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-003-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-003.xht">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 2 with only one parameter specified
+ <ul class="assert">
+ <li>If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-004-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-004.xht">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-005-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-005.xht">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale with percent values - not supported
+ <ul class="assert">
+ <li>Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-006-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-006.xht">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 0.5 and vertically 1.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-007-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-007.xht">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically 0.5
+ <ul class="assert">
+ <li>The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-008-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-008.xht">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-009-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-009.xht">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element
+ <ul class="assert">
+ <li>The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-010-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-010.xht">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-011-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-011.xht">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -2 with only one parameter specified
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-012-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-012.xht">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-013-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-013.xht">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-014-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-014.xht">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-015-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-015.xht">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally -0.5 and vertically 1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-016-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-016.xht">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale horizontally 1.5 and vertically -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scale-017-15.1.#funcdef-scale" class="svg">
+ <td>
+ <a href="svg-scale-017.xht">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scale -0.5 on the g element
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-001-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-001.xht">transform-scale-001</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5, 0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5, 0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-002-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-002.xht">transform-scale-002</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5)
+ <ul class="assert">
+ <li>This tests that scale(0.5) scales down a box by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-percent-001-15.1.#funcdef-scale" class="">
+ <td>
+ <a href="transform-scale-percent-001.xht">transform-scale-percent-001</a></td>
+ <td><a href="reference/transform-scale-percent-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(50%, 50%)
+ <ul class="assert">
+ <li>This tests that scale(50%, 50%) does nothing, because scale() is defined to take numbers and not percentages.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scalex">
+ <!-- 6 tests -->
+ <tr id="svg-scalex-001-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-002-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX 1.5
+ <ul class="assert">
+ <li>The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-003-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-004-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scalex-005-15.1.#funcdef-scalex" class="svg">
+ <td>
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleX -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scalex-001-15.1.#funcdef-scalex" class="">
+ <td>
+ <a href="transform-scalex-001.xht">transform-scalex-001</a></td>
+ <td><a href="reference/transform-scalex-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleX(0.5)
+ <ul class="assert">
+ <li>This tests that scaleX(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-scaley">
+ <!-- 6 tests -->
+ <tr id="svg-scaley-001-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 0.5
+ <ul class="assert">
+ <li>The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-002-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY 1.5
+ <ul class="assert">
+ <li>The rect in the test should be vertically scaled up 1.5 to 150x150</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-003-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY with percent argument - not supported
+ <ul class="assert">
+ <li>The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-004-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and and scaleY -0.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-scaley-005-15.1.#funcdef-scaley" class="svg">
+ <td>
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and scaleY -1.5
+ <ul class="assert">
+ <li>Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scaley-001-15.1.#funcdef-scaley" class="">
+ <td>
+ <a href="transform-scaley-001.xht">transform-scaley-001</a></td>
+ <td><a href="reference/transform-scaley-ref.xht">=</a> </td>
+ <td></td>
+ <td>scaleY(0.5)
+ <ul class="assert">
+ <li>This tests that scaleY(0.5) scales down a box's width by a factor of one-half.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-skew">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.1.#funcdef-skewx">
+ <!-- 27 tests -->
+ <tr id="svg-skewx-001-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-002-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-003-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-004-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-005-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewX
+ <ul class="assert">
+ <li>The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-006-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative, unit less turn
+ <ul class="assert">
+ <li>The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-007-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative degrees
+ <ul class="assert">
+ <li>The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-008-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative gradians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-009-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative radians
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-010-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with negative turns
+ <ul class="assert">
+ <li>The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-011-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with unit less angle
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-012-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in degree
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-013-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-014-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in radian
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-015-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewX with angle in turn
+ <ul class="assert">
+ <li>The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-016-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-017-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-018-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-019-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-020-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-021-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-022-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-023-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-024-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewx-025-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-001-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY
+ <ul class="assert">
+ <li>The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewxy-002-15.1.#funcdef-skewx" class="svg">
+ <td>
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with skewX and skewY with different units
+ <ul class="assert">
+ <li>The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-skewy">
+ <!-- 25 tests -->
+ <tr id="svg-skewy-001-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument without unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-002-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with degree unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-003-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with grad unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-004-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with turn unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-005-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and angle argument with radian unit on skewY
+ <ul class="assert">
+ <li>The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-006-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative, unit less turn
+ <ul class="assert">
+ <li>The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-007-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative degrees
+ <ul class="assert">
+ <li>The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-008-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative gradians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-009-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative radians
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-010-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with negative turns
+ <ul class="assert">
+ <li>The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-011-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with unit less angle
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-012-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in degree
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-013-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-014-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in radian
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-015-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and more than full circle skewY with angle in turn
+ <ul class="assert">
+ <li>The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-016-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-017-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on unit less angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-018-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on gradian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-019-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on radian angles
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-020-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers on turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-021-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-022-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-023-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-024-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-skewy-025-15.1.#funcdef-skewy" class="svg">
+ <td>
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns
+ <ul class="assert">
+ <li>The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translate">
+ <!-- 84 tests -->
+ <tr id="svg-translate-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-002.xht">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-003.xht">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-004.xht">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-005.xht">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-006.xht">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-007-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-007.xht">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-008-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-008.xht">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-009-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-010-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-011-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-012-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-013-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-014-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-015-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-016-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-017-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-018-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-019-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-020-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-021-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-022-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-023-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-024-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-025-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with negative translation-value arguments without unit
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-026-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-026.xht">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pixel units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-027-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-027.xht">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative point units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-028-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-028.xht">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative pica units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-029-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-029.xht">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative millimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-030-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-030.xht">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative centimeter units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-031-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-031.xht">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative inch units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-032-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-032.xht">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative em units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-033-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation
+ <ul class="assert">
+ <li>The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-034-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-035-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-036-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-037-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-038-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-039-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-040-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-041-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents
+ <ul class="assert">
+ <li>The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-042-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-043-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-044-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-045-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-046-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-047-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-048-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-049-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-049.xht">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-050-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-050.xht">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with one negative translation-value argument
+ <ul class="assert">
+ <li>The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-051-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-051.xht">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with no spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-052-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-052.xht">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with a space in between
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-053-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-053.xht">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with arguments separated by multiple spaces
+ <ul class="assert">
+ <li>The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-054-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-054.xht">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-055-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-055.xht">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma
+ <ul class="assert">
+ <li>The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-abs-unit-combinations-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm
+ <ul class="assert">
+ <li>The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-001-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-002-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-003-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-004-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative ex units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-005-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-ex-unit-006-15.1.#funcdef-translate" class="ahem svg">
+ <td>
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate
+ <ul class="assert">
+ <li>The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in both directions
+ <ul class="assert">
+ <li>The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-multiple-relative-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with translate applied twice in percentage units
+ <ul class="assert">
+ <li>The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-001-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-002-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value arguments with negative percentage units on translate
+ <ul class="assert">
+ <li>The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-003-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-004-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-005-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-006-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-007-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translate-relative-008-15.1.#funcdef-translate" class="svg">
+ <td>
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %
+ <ul class="assert">
+ <li>The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-001-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-001.xht">transform-translate-001</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-002-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-002.xht">transform-translate-002</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(50px, 50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translate(50px, 50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-003-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-003.xht">transform-translate-003</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate(25px, 25px) translate(25px, 25px)
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) translate(25px, 25px) is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-004-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-004.xht">transform-translate-004</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>translate() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translate(25px, 25px) plus relative positioning 25px to the bottom right is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translate-005-15.1.#funcdef-translate" class="">
+ <td>
+ <a href="transform-translate-005.xht">transform-translate-005</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom right.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translatex">
+ <!-- 65 tests -->
+ <tr id="svg-translatex-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-003-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-004-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-005-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-006-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-007-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-008-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-009-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-010-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-011-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-012-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-013-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-014-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-015-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-016-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-017-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-018-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-019-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-020-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-021-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-022-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-023-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-024-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-025-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-026-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-027-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-028-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-029-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-030-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-031-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-032-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-033-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-034-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-035-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-036-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-037-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-038-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-039-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-040-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-041-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-042-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-043-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-044-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-045-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-046-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-047-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-048-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-003-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied twice in percentage units
+ <ul class="assert">
+ <li>The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-combination-004-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateX applied in both directions
+ <ul class="assert">
+ <li>The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-001-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-002-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-003-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-004-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-005-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-ex-unit-006-15.1.#funcdef-translatex" class="ahem svg">
+ <td>
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-001-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatex-relative-002-15.1.#funcdef-translatex" class="svg">
+ <td>
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateX
+ <ul class="assert">
+ <li>The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-001-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-001.xht">transform-translatex-001</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px)
+ <ul class="assert">
+ <li>This tests that translatex(50px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-002-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-002.xht">transform-translatex-002</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatex(50px) rotate(360deg) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-003-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-003.xht">transform-translatex-003</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex(25px) translatex(25px)
+ <ul class="assert">
+ <li>This tests that translatex(25px) translatex(25px) is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-004-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-004.xht">transform-translatex-004</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatex() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatex(25px) plus relative positioning 25px to the right is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-005-15.1.#funcdef-translatex" class="">
+ <td>
+ <a href="transform-translatex-005.xht">transform-translatex-005</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several X-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the right.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.1.#funcdef-translatey">
+ <!-- 65 tests -->
+ <tr id="svg-translatey-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-003-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-004-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-005-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-006-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-007-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-008-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-009-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-010-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-011-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-012-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-013-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-014-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-015-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-016-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-017-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-018-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-019-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-020-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-021-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-022-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-023-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-024-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-025-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with a negative translation-value argument without unit
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-026-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pixel unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-027-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative point unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-028-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative pica unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-029-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative millimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-030-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative centimeter unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-031-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative inch unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-032-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative em unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-033-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation
+ <ul class="assert">
+ <li>The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-034-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-035-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-036-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-037-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-038-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-039-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-040-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-041-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent
+ <ul class="assert">
+ <li>The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-042-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-043-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-044-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-045-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-046-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-047-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-048-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-003-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied twice in percentage units
+ <ul class="assert">
+ <li>The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-combination-004-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with translateY applied in both directions
+ <ul class="assert">
+ <li>The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-001-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-002-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-003-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-004-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative ex unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-005-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-ex-unit-006-15.1.#funcdef-translatey" class="ahem svg">
+ <td>
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-001-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-translatey-relative-002-15.1.#funcdef-translatey" class="svg">
+ <td>
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute and translation-value argument with negative percentage unit on translateY
+ <ul class="assert">
+ <li>The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-001-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-001.xht">transform-translatey-001</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px)
+ <ul class="assert">
+ <li>This tests that translatey(50px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-002-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-002.xht">transform-translatey-002</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(50px) rotate(360deg)
+ <ul class="assert">
+ <li>This tests that translatey(50px) rotate(360deg) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-003-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-003.xht">transform-translatey-003</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey(25px) translatey(25px)
+ <ul class="assert">
+ <li>This tests that translatey(25px) translatey(25px) is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-004-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-004.xht">transform-translatey-004</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>translatey() plus relative positioning
+ <ul class="assert">
+ <li>This tests that translatey(25px) plus relative positioning 25px to the bottom is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatey-005-15.1.#funcdef-translatey" class="">
+ <td>
+ <a href="transform-translatey-005.xht">transform-translatey-005</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td></td>
+ <td>Several Y-Translations Combined
+ <ul class="assert">
+ <li>This tests that a sequence of positive and negative translations is the same as relative positioning by 50px toward the bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s15.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions">15.2 3D Transform Functions</a></th></tr>
+ <!-- 43 tests -->
+ <tr id="css-rotate-2d-3d-001-15.2" class="">
+ <td>
+ <a href="css-rotate-2d-3d-001.xht">css-rotate-2d-3d-001</a></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>2D rotation with 3D rotation
+ <ul class="assert">
+ <li>This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-x-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-X-negative.xht">css-transform-3d-rotate3d-x-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate the 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-x-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-X-positive.xht">css-transform-3d-rotate3d-x-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-y-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Y-negative.xht">css-transform-3d-rotate3d-y-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-y-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Y-positive.xht">css-transform-3d-rotate3d-y-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-z-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Z-negative.xht">css-transform-3d-rotate3d-z-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotate3d-z-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotate3d-Z-positive.xht">css-transform-3d-rotate3d-z-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for 90 degree on Z-axis would cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatex-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateX-negative.xht">css-transform-3d-rotatex-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatex-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateX-positive.xht">css-transform-3d-rotatex-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatey-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateY-negative.xht">css-transform-3d-rotatey-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatey-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateY-positive.xht">css-transform-3d-rotatey-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY on div element
+ <ul class="assert">
+ <li>Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatez-negative-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateZ-negative.xht">css-transform-3d-rotatez-negative</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-rotatez-positive-15.2" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-rotateZ-positive.xht">css-transform-3d-rotatez-positive</a></strong></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotate3d on div element
+ <ul class="assert">
+ <li>Test checks that rotate a vertical rectangle for 90 degree on Z-axis will cover the horizontal red rectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-3d-transform-style-15.2" class="">
+ <td>
+ <a href="css-transform-3d-transform-style.xht">css-transform-3d-transform-style</a></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with transform-style on nested elements
+ <ul class="assert">
+ <li>Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-004-15.2" class="">
+ <td>
+ <a href="regions-transforms-004.xht">regions-transforms-004</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transformed region using a 3D transform
+ <ul class="assert">
+ <li>This test checks that a 3D transform can be applied to a region</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-005-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-005.xht">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region
+ <ul class="assert">
+ <li>Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-006-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-006.xht">regions-transforms-006</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on region with named flow (text) content that overflows
+ <ul class="assert">
+ <li>Test checks that content flowed in a region and overflowing it is still rendered if the region has a 3D transform applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-016-15.2" class="">
+ <td>
+ <a href="regions-transforms-016.xht">regions-transforms-016</a></td>
+ <td><a href="reference/regions-transforms-016-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: 3D transform on named flow content with perspective()
+ <ul class="assert">
+ <li>This test checks that a 3D transform is applied with perspective to named flow content.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-018-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-018.xht">regions-transforms-018</a></td>
+ <td><a href="reference/regions-transforms-018-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content that overflows a region
+ <ul class="assert">
+ <li>Test checks that content that is transformed does not clip when flowed in a region.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-019-15.2" class="ahem">
+ <td>
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
+ <ul class="assert">
+ <li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-image-scale-001.xht">transform3d-image-scale-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on a Bitmap
+ <ul class="assert">
+ <li>This tests that applying a simple 3D transform to a bitmap image works properly. This is motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-image-scale-002.xht">transform3d-image-scale-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on an SVG
+ <ul class="assert">
+ <li>This is the same as transform3d-image-scale-001.html, but using an SVG image instead of a bitmap.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-001.xht">transform3d-matrix3d-001</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-002.xht">transform3d-matrix3d-002</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-003-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-003.xht">transform3d-matrix3d-003</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-004-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-004.xht">transform3d-matrix3d-004</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-005-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-matrix3d-005.xht">transform3d-matrix3d-005</a></strong></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotate3d-001.xht">transform3d-rotate3d-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(1, 0, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(1, 0, 0, 45deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotate3d-002.xht">transform3d-rotate3d-002</a></strong></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(0, 1, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(0, 1, 0, 45deg) is the same as rotatey(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-001.xht">transform3d-rotatex-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(45deg) rotatey(360deg) rotatex(360deg)
+ <ul class="assert">
+ <li>This tests that rotatex(45deg) rotatey(360deg) rotatex(360deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-15.2" class="">
+ <td>
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatey-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatey-001.xht">transform3d-rotatey-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateY(45deg) rotateY(360deg)
+ <ul class="assert">
+ <li>This tests that rotateY(45deg) rotateY(360deg) has the same effect as just rotateY(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-001-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-001.xht">transform3d-scale-001</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 2)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 2) on some text has the same effect as scaleX(2) scaleY(2). The Z part should be irrelevant, because the text is flat.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-002-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-002.xht">transform3d-scale-002</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)
+ <ul class="assert">
+ <li>This tests that rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-003-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-003.xht">transform3d-scale-003</a></strong></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scaleX(2) scaleY(2) scaleZ(2)
+ <ul class="assert">
+ <li>This is the same as transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2) scaleZ(2) instead of scale3D(2, 2, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-005-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-005.xht">transform3d-scale-005</a></strong></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This tests that rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-006-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-006.xht">transform3d-scale-006</a></strong></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scaleZ(2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This is identical to transform3d-scale-005-ref.html, except with scaleZ(2) instead of scale3d(1, 1, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-007-15.2" class="primary">
+ <td><strong>
+ <a href="transform3d-scale-007.xht">transform3d-scale-007</a></strong></td>
+ <td><a href="reference/transform3d-scale-007-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX(180deg) scaleZ(-1)
+ <ul class="assert">
+ <li>This tests that rotateX(180deg) scaleZ(-1) is the same as scaleY(-1). (The scaleZ(-1) should have no effect here.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translate3d-001-15.2" class="">
+ <td>
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translatez-001-15.2" class="">
+ <td>
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-matrix3d">
+ <!-- 5 tests -->
+ <tr id="transform3d-matrix3d-001-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-001.xht">transform3d-matrix3d-001</a></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-002-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-002.xht">transform3d-matrix3d-002</a></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-003-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-003.xht">transform3d-matrix3d-003</a></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-004-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-004.xht">transform3d-matrix3d-004</a></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-matrix3d-005-15.2.#funcdef-matrix3d" class="">
+ <td>
+ <a href="transform3d-matrix3d-005.xht">transform3d-matrix3d-005</a></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)
+ <ul class="assert">
+ <li>This is part of a series that tests that various matrix3d()s are equivalent to other transform functions.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-perspective">
+ <!-- 1 tests -->
+ <tr id="transform3d-rotatex-perspective-001-15.2.#funcdef-perspective" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotate3d">
+ <!-- 2 tests -->
+ <tr id="transform3d-rotate3d-001-15.2.#funcdef-rotate3d" class="">
+ <td>
+ <a href="transform3d-rotate3d-001.xht">transform3d-rotate3d-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(1, 0, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(1, 0, 0, 45deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotate3d-002-15.2.#funcdef-rotate3d" class="">
+ <td>
+ <a href="transform3d-rotate3d-002.xht">transform3d-rotate3d-002</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotate3d(0, 1, 0, 45deg)
+ <ul class="assert">
+ <li>This tests that rotate3d(0, 1, 0, 45deg) is the same as rotatey(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatex">
+ <!-- 4 tests -->
+ <tr id="transform3d-rotatex-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-001.xht">transform3d-rotatex-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(45deg) rotatey(360deg) rotatex(360deg)
+ <ul class="assert">
+ <li>This tests that rotatex(45deg) rotatey(360deg) rotatex(360deg) is the same as rotatex(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>perspective(1000px) rotatex(45deg)
+ <ul class="assert">
+ <li>This tests that perspective() has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-perspective-002-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex() and 'perspective'
+ <ul class="assert">
+ <li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-15.2.#funcdef-rotatex" class="">
+ <td>
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatey">
+ <!-- 2 tests -->
+ <tr id="rotatey-15.2.#funcdef-rotatey" class="primary">
+ <td><strong>
+ <a href="rotateY.xht">rotatey</a></strong></td>
+ <td><a href="reference/rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY
+ <ul class="assert">
+ <li>When the value of transform is 'rotateY(90deg)', the foward side of a transformed element disappears.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatey-001-15.2.#funcdef-rotatey" class="">
+ <td>
+ <a href="transform3d-rotatey-001.xht">transform3d-rotatey-001</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateY(45deg) rotateY(360deg)
+ <ul class="assert">
+ <li>This tests that rotateY(45deg) rotateY(360deg) has the same effect as just rotateY(45deg).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-rotatez">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.2.#funcdef-scale3d">
+ <!-- 8 tests -->
+ <tr id="transform3d-image-scale-001-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-image-scale-001.xht">transform3d-image-scale-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on a Bitmap
+ <ul class="assert">
+ <li>This tests that applying a simple 3D transform to a bitmap image works properly. This is motivated by a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-image-scale-002-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-image-scale-002.xht">transform3d-image-scale-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d() on an SVG
+ <ul class="assert">
+ <li>This is the same as transform3d-image-scale-001.html, but using an SVG image instead of a bitmap.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-001-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-001.xht">transform3d-scale-001</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 2)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 2) on some text has the same effect as scaleX(2) scaleY(2). The Z part should be irrelevant, because the text is flat.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-002-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-002.xht">transform3d-scale-002</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)
+ <ul class="assert">
+ <li>This tests that rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-003-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-003.xht">transform3d-scale-003</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>scaleX(2) scaleY(2) scaleZ(2)
+ <ul class="assert">
+ <li>This is the same as transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2) scaleZ(2) instead of scale3D(2, 2, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-005-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-005.xht">transform3d-scale-005</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This tests that rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by the rotation swaps the Y and Z coordinates for the scale.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-006-15.2.#funcdef-scale3d" class="">
+ <td>
+ <a href="transform3d-scale-006.xht">transform3d-scale-006</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX(90deg) scaleZ(2) rotateX(-90deg)
+ <ul class="assert">
+ <li>This is identical to transform3d-scale-005-ref.html, except with scaleZ(2) instead of scale3d(1, 1, 2).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-scalez">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s15.2.#funcdef-translate3d">
+ <!-- 1 tests -->
+ <tr id="transform3d-translate3d-001-15.2.#funcdef-translate3d" class="">
+ <td>
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s15.2.#funcdef-translatez">
+ <!-- 1 tests -->
+ <tr id="transform3d-translatez-001-15.2.#funcdef-translatez" class="">
+ <td>
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-16.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-16.xht
new file mode 100644
index 00000000000..ece5ad8c43b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-16.xht
@@ -0,0 +1,182 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The Transform Function Lists - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Function Lists (13 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s16">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s16">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists">16 The Transform Function Lists</a></th></tr>
+ <!-- 13 tests -->
+ <tr id="svg-transform-list-separations-001-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>No separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-002-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + no whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-003-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma + whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-004-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Whitespace separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-005-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Comma, whitespace, and no separations between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-006-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces between transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-007-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Multiple spaces before and after transform functions on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-008-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-009-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-010-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-transform-list-separations-011-16" class="svg">
+ <td>
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform functions separated by commas and newlines on SVG presentation attribute
+ <ul class="assert">
+ <li>The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-singular-001-16" class="primary">
+ <td><strong>
+ <a href="transform-singular-001.xht">transform-singular-001</a></strong></td>
+ <td><a href="reference/transform-singular-ref.xht">=</a> </td>
+ <td></td>
+ <td>matrix(1, 1, 1, 1, 0, 0)
+ <ul class="assert">
+ <li>&quot;If a transform function causes the current transformation matrix (CTM) of an object to be non-invertible, the object and its content do not get displayed.&quot; The matrix (1, 1, 1, 1) has determinant 1*1 - 1*1 = 0 and therefore is not invertible, so nothing should display.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-scale-004-16" class="">
+ <td>
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale3d(2, 2, 0)
+ <ul class="assert">
+ <li>This tests that scale3d(2, 2, 0), being singular, causes the contents not to display.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-17.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-17.xht
new file mode 100644
index 00000000000..a662f4e568c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-17.xht
@@ -0,0 +1,51 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Interpolation of Transforms - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of Transforms (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s17">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s17">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-transforms">17 Interpolation of Transforms</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#none-none-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#none-transform-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#other-animation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s17.#transform-transform-animation">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-18.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-18.xht
new file mode 100644
index 00000000000..09d7fe6ce81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-18.xht
@@ -0,0 +1,60 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Transform function primitives and derivatives - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Transform function primitives and derivatives (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s18">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s18">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-primitives">18 Transform function primitives and derivatives</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#interpolation-two-three-dimensional-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#rotate-three-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#rotate3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#scale-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#scale3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#translate-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s18.#translate3d-primitive">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-19.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-19.xht
new file mode 100644
index 00000000000..429cfd19a21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-19.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Interpolation of primitives and derived transform functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of primitives and derived transform functions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s19">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s19">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-transform-functions">19 Interpolation of primitives and derived transform functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-2.xht
new file mode 100644
index 00000000000..b21c460247a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-2.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Module Interactions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Module Interactions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#module-interactions">2 Module Interactions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-20.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-20.xht
new file mode 100644
index 00000000000..559e6935fbb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-20.xht
@@ -0,0 +1,93 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Interpolation of Matrices - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Interpolation of Matrices (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s20">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#matrix-interpolation">20 Interpolation of Matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#supporting-functions">20.1 Supporting functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-2d-matrices">20.2 Interpolation of 2D matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#decomposing-a-2d-matrix">20.2.1 Decomposing a 2D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-decomposed-2d-matrix-values">20.2.2 Interpolation of decomposed 2D matrix values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.2.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.2.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#recomposing-to-a-2d-matrix">20.2.3 Recomposing to a 2D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-3d-matrices">20.3 Interpolation of 3D matrices</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#decomposing-a-3d-matrix">20.3.1 Decomposing a 3D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#interpolation-of-decomposed-3d-matrix-values">20.3.2 Interpolation of decomposed 3D matrix values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s20.3.3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s20.3.3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#recomposing-to-a-3d-matrix">20.3.3 Recomposing to a 3D matrix</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht
new file mode 100644
index 00000000000..e248f0bd1b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-21.xht
@@ -0,0 +1,144 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Mathematical Description of Transform Functions - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Mathematical Description of Transform Functions (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s21">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s21">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#mathematical-description">21 Mathematical Description of Transform Functions</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#MatrixDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#PerspectiveDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Rotate3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#RotateDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Scale3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#ScaleDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewXDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#SkewYDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#Translate3dDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s21.#TranslateDefined">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#abstract">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conformance">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conformance-classes">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#contents">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#conventions">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css21">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css3bg">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#css3val">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#cssom-view">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#experimental">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#informative">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#issues-index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#normative">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#partial">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#property-index">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#references">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#rfc2119">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#smil3">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#status">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#subtitle">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#svg11">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#testing">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s.#title">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-3.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-3.xht
new file mode 100644
index 00000000000..2cbda4e1952
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-3.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Values - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>CSS Values (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s3">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s3">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#css-values">3 CSS Values</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-4.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-4.xht
new file mode 100644
index 00000000000..c3907a03d79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-4.xht
@@ -0,0 +1,130 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Terminology - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Terminology (5 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s4">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s4">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#terminology">4 Terminology</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#2d-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#3d-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#3d-rendering-context">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#accumulated-3d-transformation-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#bounding-box">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#current-transformation-matrix-ctm">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#identity-transform-function">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#local-coordinate-system">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#perspective-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#transformable-element">
+ <!-- 5 tests -->
+ <tr id="transform-display-001-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-001.xht">transform-display-001</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Inline-Block
+ <ul class="assert">
+ <li>Inline-blocks are atomic inline-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-002-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-002.xht">transform-display-002</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table
+ <ul class="assert">
+ <li>Inline-blocks are block-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-003-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-003.xht">transform-display-003</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Inline-Table
+ <ul class="assert">
+ <li>Inline-tables are atomic inline-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-display-004-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-display-004.xht">transform-display-004</a></strong></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>List-Item
+ <ul class="assert">
+ <li>List-items are block-level elements, so should transform the same as blocks.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-image-001-4.#transformable-element" class="primary">
+ <td><strong>
+ <a href="transform-image-001.xht">transform-image-001</a></strong></td>
+ <td><a href="reference/transform-image-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformed &lt;img&gt;
+ <ul class="assert">
+ <li>An &lt;img&gt; is a transformable element, so transforms should work on it the same as any image. This test compares an img element with a 90deg rotation transform applied to a different image that was pre-rotated by 90 degrees.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s4.#transformation-matrix">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s4.#user-coordinate-system">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-5.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-5.xht
new file mode 100644
index 00000000000..5bd6acff1c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-5.xht
@@ -0,0 +1,39 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Two Dimensional Subset - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>Two Dimensional Subset (0 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s5">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s5">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#two-dimensional-subset">5 Two Dimensional Subset</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-6.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-6.xht
new file mode 100644
index 00000000000..c0f7b9434c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-6.xht
@@ -0,0 +1,614 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The Transform Rendering Model - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The Transform Rendering Model (48 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s6">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-rendering">6 The Transform Rendering Model</a></th></tr>
+ <!-- 32 tests -->
+ <tr id="css-transforms-3d-on-anonymous-block-001-6" class="primary">
+ <td><strong>
+ <a href="css-transforms-3d-on-anonymous-block-001.xht">css-transforms-3d-on-anonymous-block-001</a></strong></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.xht">=</a> </td>
+ <td></td>
+ <td>No 3D transforms on anonymous block boxes
+ <ul class="assert">
+ <li>3D transforms can not be applied to anonymous block boxes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-001-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-001.xht">transform-abspos-001</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (left/top)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-002-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-002.xht">transform-abspos-002</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (left/top offsets)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-003-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-003.xht">transform-abspos-003</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (right/bottom offsets)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. (This test differs from the previous in that it uses right/bottom properties for positioning instead of left/top.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-004-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-004.xht">transform-abspos-004</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (bottom/right)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that it uses the right/bottom properties for positioning instead of top/left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-005-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-005.xht">transform-abspos-005</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (bottom/right)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. Therefore, this test should be offset by one pixel from the reference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-006-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-006.xht">transform-abspos-006</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Absolute Positioning (table)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block.&quot; This means absolutely positioned elements need to be rooted at a transformed ancestor, just as though it had non-static position. This test differs from transform-abspos-001.html in that the outer div is a table, which might cause buggy rendering engines to treat it differently.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-abspos-007-6" class="primary">
+ <td><strong>
+ <a href="transform-abspos-007.xht">transform-abspos-007</a></strong></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td></td>
+ <td>Containing Block for Fixed Positioning (inline-table)
+ <ul class="assert">
+ <li>&quot;In the HTML namespace, any value other than 'none' for the transform results in the creation of . . . a containing block. The object acts as a containing block for fixed positioned descendants.&quot; This means fixed-position elements need to be rooted at a transformed ancestor, rather than the viewport. This test differs from transform-abspos-002.html in that the outer div has display: inline-table, which might cause it to render differently in buggy UAs.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-007-6" class="primary svg">
+ <td><strong>
+ <a href="transform-background-007.xht">transform-background-007</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (propagated body with root element transform)
+ <ul class="assert">
+ <li>&quot;If the root element is transformed, the transformation applies to the entire canvas, including any background specified for the root element. Since the background painting area for the root element is the entire canvas, which is infinite, the transformation might cause parts of the background that were originally off-screen to appear. For example, if the root element's background were repeating dots, and a transformation of 'scale(0.5)' were specified on the root element, the dots would shrink to half their size, but there will be twice as many, so they still cover the whole viewport.&quot; In this case, the background is specified on the body but propagates to the root element. The transform is on the root element, so it needs to affect the background. The rotation 90 degrees clockwise means that most of the screen will be filled with triangles that were originally above the top of the viewport; the original top row of triangles will now be on the left.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-008-6" class="primary svg">
+ <td><strong>
+ <a href="transform-background-008.xht">transform-background-008</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (root element background and transform)
+ <ul class="assert">
+ <li>This is exactly the same as transform-background-007.html, except that the background is specified directly on the root element instead of being specified on the body and propagating to the root.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-compound-001-6" class="primary">
+ <td><strong>
+ <a href="transform-compound-001.xht">transform-compound-001</a></strong></td>
+ <td><a href="reference/transform-compound-ref.xht">=</a> <a href="reference/transform-compound-notref-1.xht">&#x2260;</a> <a href="reference/transform-compound-notref-2.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Compound Transforms
+ <ul class="assert">
+ <li>Tests that applying multiple transforms to an element is the same as applying the transforms in the same order to nested elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-descendant-001-6" class="primary">
+ <td><strong>
+ <a href="transform-descendant-001.xht">transform-descendant-001</a></strong></td>
+ <td><a href="reference/transform-descendant-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transform Affects Descendant
+ <ul class="assert">
+ <li>This just tests that a transform on a container div moves its contents, not just the div itself.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-001-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-001.xht">transform-fixed-bg-001</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background
+ <ul class="assert">
+ <li>&quot;Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms.&quot; Thus if we have a div that's 100px square aligned at the top left of the page, giving it a fixed background and translating it 50px down and right should be the same as giving it a non-fixed background that's translated 50px down and right.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-002-6" class="primary dom svg">
+ <td><strong>
+ <a href="transform-fixed-bg-002.xht">transform-fixed-bg-002</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with scrolling)
+ <ul class="assert">
+ <li>&quot;Fixed backgrounds are affected by any transform specified for the root element, and not by any other transforms.&quot; Here we translate the div 150px down instead of 50px, and also scroll down 100px. This should be the same as the previous test because the background image is 100px square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-003-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-003.xht">transform-fixed-bg-003</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with rotation)
+ <ul class="assert">
+ <li>This is the same as transform-fixed-bg-001, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-004-6" class="primary dom svg">
+ <td><strong>
+ <a href="transform-fixed-bg-004.xht">transform-fixed-bg-004</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (with rotation and scrolling)
+ <ul class="assert">
+ <li>This is the same as transform-fixed-bg-002, except that we also test that a rotation on a non-root element doesn't affect fixed backgrounds.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-005-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-005.xht">transform-fixed-bg-005</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (no-op transform)
+ <ul class="assert">
+ <li>This affects that adding a no-op transform to an element with a fixed background doesn't affect rendering.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-006-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-006.xht">transform-fixed-bg-006</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (transform of intermediate)
+ <ul class="assert">
+ <li>This tests that adding a rotation to a non-root element doesn't affect rendering of fixed backgrounds on its descendants.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-fixed-bg-007-6" class="primary svg">
+ <td><strong>
+ <a href="transform-fixed-bg-007.xht">transform-fixed-bg-007</a></strong></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Fixed Background (transform on root)
+ <ul class="assert">
+ <li>This tests that a transform on the root element *does* affect the rendering of fixed backgrounds on its descendants.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-generated-001-6" class="primary">
+ <td><strong>
+ <a href="transform-generated-001.xht">transform-generated-001</a></strong></td>
+ <td><a href="reference/transform-generated-001-ref.xht">=</a> <a href="reference/transform-generated-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Generated Content (block)
+ <ul class="assert">
+ <li>Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated block box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-generated-002-6" class="primary">
+ <td><strong>
+ <a href="transform-generated-002.xht">transform-generated-002</a></strong></td>
+ <td><a href="reference/transform-generated-002-ref.xht">=</a> <a href="reference/transform-generated-002-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Generated Content (inline)
+ <ul class="assert">
+ <li>Transforms need to work on boxes of generated content just as on any other boxes. This file tests a generated inline box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-iframe-001-6" class="primary">
+ <td><strong>
+ <a href="transform-iframe-001.xht">transform-iframe-001</a></strong></td>
+ <td><a href="reference/transform-iframe-ref.xht">=</a> </td>
+ <td></td>
+ <td>Iframe
+ <ul class="assert">
+ <li>This test ensures that transforms cannot move the contents of an iframe onto the parent page. The iframe here contains a red box shifted 500px down and to the right, outside the iframe's visible area. overflow: hidden ensures that scrollbars are not tested.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-overflow-001-6" class="primary">
+ <td><strong>
+ <a href="transform-overflow-001.xht">transform-overflow-001</a></strong></td>
+ <td><a href="reference/transform-overflow-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>overflow: auto
+ <ul class="assert">
+ <li>&quot;. . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area.&quot; This tests that the effect of overflow: auto for a translation is the same as for an equivalent relative positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-overflow-002-6" class="primary">
+ <td><strong>
+ <a href="transform-overflow-002.xht">transform-overflow-002</a></strong></td>
+ <td><a href="reference/transform-overflow-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>overflow: scroll
+ <ul class="assert">
+ <li>&quot;. . . if the value of the 'overflow' property is 'scroll' or 'auto', scrollbars will appear as needed to see content that is transformed outside the visible area.&quot; This tests that the effect of overflow: scroll for a translation is the same as for an equivalent relative positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-001-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-001.xht">transform-root-bg-001</a></strong></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(-1) on Root Element With Background
+ <ul class="assert">
+ <li>The background here extends to the whole canvas, and a transform on the root element must transform the whole canvas, background included. Thus the entire tiled background of left-pointing triangles needs to be rotated 180 degrees (same as scale(-1)) around the top center of the viewport, which is the default transform-origin of 50% 50% in this case. An implementation that doesn't draw the background on parts of the canvas outside the viewport might incorrectly display nothing, because the part of the background that's supposed to be rotated into view was initially above the visible part of the canvas.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-002-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-002.xht">transform-root-bg-002</a></strong></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(-1) on Root Element With Background On Body
+ <ul class="assert">
+ <li>Identical to transform-root-bg-001.html, except that the background property is put on the body rather than the root element. This should make no difference, because the body's background propagates up to the canvas if there's no root element background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-003-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-003.xht">transform-root-bg-003</a></strong></td>
+ <td><a href="reference/transform-root-bg-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(0.5) on Root Element With Background
+ <ul class="assert">
+ <li>This is the same as transform-root-bg-001.html, except that it uses scale(0.5) instead of scale(-1). It also specifies a transform-origin, because the default of 50% 50% wouldn't work well with the way the reference image is constructed.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-root-bg-004-6" class="primary">
+ <td><strong>
+ <a href="transform-root-bg-004.xht">transform-root-bg-004</a></strong></td>
+ <td><a href="reference/transform-root-bg-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale(-1) On Body With Background
+ <ul class="assert">
+ <li>This is like transform-root-bg-002.html, except that the transform is specified on the body element, not just the background. The background gets lifted to the root element, but the transform does not, so the transform has no effect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-001-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-001.xht">transform-stacking-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, transform: scale(1)
+ <ul class="assert">
+ <li>This tests that specifying the identity transform on an element still causes it to create a new stacking context (unlike transform: none).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-002-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-002.xht">transform-stacking-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, transform: none
+ <ul class="assert">
+ <li>This tests that &quot;transform: none&quot; does not create a new stacking context -- it should have no effect at all.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-003-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-003.xht">transform-stacking-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, invalid transform value
+ <ul class="assert">
+ <li>This tests that specifying the transform property with an invalid value does not create a new stacking context -- it should have no effect at all, same as &quot;transform: none&quot;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-stacking-004-6" class="primary">
+ <td><strong>
+ <a href="transform-stacking-004.xht">transform-stacking-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Stacking, inherited transform: none
+ <ul class="assert">
+ <li>This tests that specifying &quot;transform: inherit&quot; (when the parent has no transform) does not create a new stacking context -- it should have no effect at all, same as &quot;transform: none&quot;.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s6.#issue-ca2c412c">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.#transformation-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6.1">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering">6.1 3D Transform Rendering</a></th></tr>
+ <!-- 17 tests -->
+ <tr id="css-transforms-3d-on-anonymous-block-001-6.1" class="">
+ <td>
+ <a href="css-transforms-3d-on-anonymous-block-001.xht">css-transforms-3d-on-anonymous-block-001</a></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.xht">=</a> </td>
+ <td></td>
+ <td>No 3D transforms on anonymous block boxes
+ <ul class="assert">
+ <li>3D transforms can not be applied to anonymous block boxes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_45deg.xht">rotate_45deg</a></strong></td>
+ <td><a href="reference/rotate_45deg-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_x_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_x_45deg.xht">rotate_x_45deg</a></strong></td>
+ <td><a href="reference/rotate_x_45deg-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateX with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate_y_45deg-6.1" class="primary">
+ <td><strong>
+ <a href="rotate_y_45deg.xht">rotate_y_45deg</a></strong></td>
+ <td><a href="reference/rotate_y_45deg-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>Rotate 45 degree in y axis</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scalex-6.1" class="primary">
+ <td><strong>
+ <a href="scalex.xht">scalex</a></strong></td>
+ <td><a href="reference/scalex-ref.xht">=</a> </td>
+ <td></td>
+ <td>test scale x
+ <ul class="assert">
+ <li>scale x 2</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scaley-6.1" class="primary">
+ <td><strong>
+ <a href="scaley.xht">scaley</a></strong></td>
+ <td><a href="reference/scaley-ref.xht">=</a> </td>
+ <td></td>
+ <td>test scale y
+ <ul class="assert">
+ <li>scale y 2</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-3d-rotatey-stair-above-001-6.1" class="primary">
+ <td><strong>
+ <a href="transform-3d-rotateY-stair-above-001.xht">transform-3d-rotatey-stair-above-001</a></strong></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>A rotateY transform with perspective should result in a trapezoid.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-3d-rotatey-stair-below-001-6.1" class="primary">
+ <td><strong>
+ <a href="transform-3d-rotateY-stair-below-001.xht">transform-3d-rotatey-stair-below-001</a></strong></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with perspective produces a trapezoid
+ <ul class="assert">
+ <li>A rotateY transform with perspective should result in a trapezoid.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-001-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-001.xht">transform3d-sorting-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting
+ <ul class="assert">
+ <li>The red box here is translated in the negative Z-direction, so it should render beneath the lime box even though it comes later in DOM order.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-002-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-002.xht">transform3d-sorting-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Rotation
+ <ul class="assert">
+ <li>The red box here is translated to the same extent as the lime box, so they should render in stacking context order: the lime box is on top, because it's later in the DOM. But then we apply rotatex(180deg) to the whole thing, so the lime box should wind up on top in the end.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-003-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-003.xht">transform3d-sorting-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With No Preserve-3D
+ <ul class="assert">
+ <li>The red box here is translated to above the lime box, but they aren't in the same 3D rendering context, so they should be drawn in DOM order regardless: lime box on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-004-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-004.xht">transform3d-sorting-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Preserve-3D on Grandparent
+ <ul class="assert">
+ <li>This is the same as transform3d-sorting-003.html, except with two wrapper divs. 'transform-style: preserve-3d' only affects children, not grandchildren, so the two divs with backgrounds are still in different rendering contexts and the Z-position should still not affect stacking.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-005-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-005.xht">transform3d-sorting-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Background on Parent
+ <ul class="assert">
+ <li>This tests that if a parent has 'transform-style: preserve-3d', it's in the same rendering context as its children. Thus the translateZ(10px) puts the child above it, and the rotateX(180deg) puts it below, so the lime parent is rendered on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-006-6.1" class="">
+ <td>
+ <a href="transform3d-sorting-006.xht">transform3d-sorting-006</a></td>
+ <td><a href="reference/transform3d-sorting-006-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Intersection
+ <ul class="assert">
+ <li>This tests that when two boxes intersect in a simple fashion, they're rendered according to Newell's algorithm.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-6.1" class="primary">
+ <td><strong>
+ <a href="translate.xht">translate</a></strong></td>
+ <td><a href="reference/translate-ref.xht">=</a> </td>
+ <td></td>
+ <td>test translate
+ <ul class="assert">
+ <li>translate x, y</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-css-3d-polygon-cycle-6.1" class="primary svg">
+ <td><strong>
+ <a href="ttwf-css-3d-polygon-cycle.xht">ttwf-css-3d-polygon-cycle</a></strong></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>3d transform polygon cycle
+ <ul class="assert">
+ <li>The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-css-3d-polygon-cycle-mismatch-6.1" class="primary svg">
+ <td><strong>
+ <a href="ttwf-css-3d-polygon-cycle-mismatch.xht">ttwf-css-3d-polygon-cycle-mismatch</a></strong></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>3d transform polygon cycle
+ <ul class="assert">
+ <li>The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s6.1.#accumulated-3d-transformation-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#issue-34d952cb">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#issue-878a3175">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.1.#perspective-matrix-computation">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s6.2">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#processing-of-perspective-transformed-boxes">6.2 Processing of Perspective-Transformed Boxes</a></th></tr>
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2.#issue-44e00fb5">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s6.2.#issue-6b4d59fb">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-7.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-7.xht
new file mode 100644
index 00000000000..bb084a722e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-7.xht
@@ -0,0 +1,1149 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The transform Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform Property (102 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s7">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s7">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-property">7 The transform Property</a></th></tr>
+ <!-- 101 tests -->
+ <tr id="2d-rotate-001-7" class="primary css3, rotate, svg">
+ <td><strong>
+ <a href="2d-rotate-001.xht">2d-rotate-001</a></strong></td>
+ <td><a href="reference/2d-rotate-ref.xht">=</a> <a href="reference/2d-rotate-notref.xht">&#x2260;</a> </td>
+ <td><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>CSS Transform using 2d rotate()
+ <ul class="assert">
+ <li>asserting that you can rotate an element with CSS</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="2d-rotate-js-7" class="primary css3, rotate, svg">
+ <td><strong>
+ <a href="2d-rotate-js.xht">2d-rotate-js</a></strong></td>
+ <td></td>
+ <td><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Rotate via javascript must show the correct computed rotation
+ <ul class="assert">
+ <li>Asserting that you can rotate an element with JS and it show up in CSS computed values not as a matrix but as the rotation</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="backface-visibility-hidden-001-7" class="primary">
+ <td><strong>
+ <a href="backface-visibility-hidden-001.xht">backface-visibility-hidden-001</a></strong></td>
+ <td><a href="reference/backface-visibility-hidden-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with backface visibility = hidden
+ <ul class="assert">
+ <li>When the value of backface visibility property is 'hidden', the back side of a transformed element is invisible when facing the viewer.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-scale-nested-001-7" class="primary">
+ <td><strong>
+ <a href="css-scale-nested-001.xht">css-scale-nested-001</a></strong></td>
+ <td><a href="reference/css-scale-nested-ref.xht">=</a> </td>
+ <td></td>
+ <td>scale 0 on a parent with a child
+ <ul class="assert">
+ <li>Child square element is transformed (scaled to zero) along with the parent element</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-rotate-7" class="primary">
+ <td><strong>
+ <a href="css-transform-inherit-rotate.xht">css-transform-inherit-rotate</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms rotate inheritance on div element
+ <ul class="assert">
+ <li>Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-inherit-scale-7" class="primary">
+ <td><strong>
+ <a href="css-transform-inherit-scale.xht">css-transform-inherit-scale</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>CSS transforms scale 2 inheritance on div elements
+ <ul class="assert">
+ <li>While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-001-7" class="primary">
+ <td><strong>
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></strong></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-7" class="primary">
+ <td><strong>
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></strong></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-style-evaluation-validation-7" class="primary dom script">
+ <td><strong>
+ <a href="css-transform-style-evaluation-validation.xht">css-transform-style-evaluation-validation</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>property
+ </td>
+ </tr>
+ <tr id="css3-transform-rotatey-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-rotateY.xht">css3-transform-rotatey</a></strong></td>
+ <td><a href="reference/css3-transform-rotateY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotateY function
+ <ul class="assert">
+ <li>box width should be equal to projection width if transform rotateY applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-scale.xht">css3-transform-scale</a></strong></td>
+ <td><a href="reference/css3-transform-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css3-transform-scale-002-7" class="primary">
+ <td><strong>
+ <a href="css3-transform-scale-002.xht">css3-transform-scale-002</a></strong></td>
+ <td><a href="reference/css3-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function
+ <ul class="assert">
+ <li>box width and height will be twice larger if transform scale(2) applied</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-x-7" class="">
+ <td>
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-origin-xy-7" class="">
+ <td>
+ <a href="perspective-origin-xy.xht">perspective-origin-xy</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that origin '&lt;x,y&gt;' visually moves the objects '&lt;-x,-y&gt;*d/(d-1)'</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-0-7" class="">
+ <td>
+ <a href="perspective-translateZ-0.xht">perspective-translatez-0</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that points on the z=0 plane are unchanged</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-negative-7" class="">
+ <td>
+ <a href="perspective-translateZ-negative.xht">perspective-translatez-negative</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a negative Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="perspective-translatez-positive-7" class="">
+ <td>
+ <a href="perspective-translateZ-positive.xht">perspective-translatez-positive</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td></td>
+ <td>perspective property
+ <ul class="assert">
+ <li>Asserts that the scaling is proportional to d/(d &amp;acirc;&amp;#710;&amp;#8217; Z) for a positive Z</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="rotate-180-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-180-degrees-001.xht">rotate-180-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 180 deg
+ </td>
+ </tr>
+ <tr id="rotate-270-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-270-degrees-001.xht">rotate-270-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 270 deg
+ </td>
+ </tr>
+ <tr id="rotate-90-degrees-001-7" class="primary">
+ <td><strong>
+ <a href="rotate-90-degrees-001.xht">rotate-90-degrees-001</a></strong></td>
+ <td></td>
+ <td></td>
+ <td>transform - rotate 90 deg
+ </td>
+ </tr>
+ <tr id="scale-optional-second-001-7" class="primary">
+ <td><strong>
+ <a href="scale-optional-second-001.xht">scale-optional-second-001</a></strong></td>
+ <td><a href="reference/scale-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and one parameter
+ <ul class="assert">
+ <li>If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="scale-zero-001-7" class="primary">
+ <td><strong>
+ <a href="scale-zero-001.xht">scale-zero-001</a></strong></td>
+ <td><a href="reference/scale-zero-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and zero values
+ <ul class="assert">
+ <li>If zero value is passed to scale function, it causes the element to disappear.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-2d-getcomputedstyle-001-7" class="primary dom script">
+ <td><strong>
+ <a href="transform-2d-getComputedStyle-001.xht">transform-2d-getcomputedstyle-001</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>CSS 2D transforms correctly report their matrix via getComputedStyle()</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-applies-to-001-7" class="primary">
+ <td><strong>
+ <a href="transform-applies-to-001.xht">transform-applies-to-001</a></strong></td>
+ <td><a href="reference/transform-applies-to-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform applied to elements with 'display' set to 'block'
+ <ul class="assert">
+ <li>The 'transform' property applies to elements with 'display' set to 'block'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-applies-to-002-7" class="primary ahem">
+ <td><strong>
+ <a href="transform-applies-to-002.xht">transform-applies-to-002</a></strong></td>
+ <td><a href="reference/transform-applies-to-002-ref.xht">=</a> </td>
+ <td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ <td>Transform does not apply to non-replaced inline elements
+ <ul class="assert">
+ <li>The 'transform' property does not apply to non-replaced inline elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-001-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-001.xht">transform-background-001</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (rotate right)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-002-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-002.xht">transform-background-002</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (rotate left)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-003-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-003.xht">transform-background-003</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (flip)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-004-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-004.xht">transform-background-004</a></strong></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (nested flip)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. This file tests that a transform on the parent works correctly, not just on the element itself.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-005-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-005.xht">transform-background-005</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (non-propagated body)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. In this case the scale is applied to the root element, and the background is on the body. The white background on the root element prevents the body's background from propagating to the canvas, so it's just a regular background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-background-006-7" class="primary svg">
+ <td><strong>
+ <a href="transform-background-006.xht">transform-background-006</a></strong></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> <a href="reference/transform-background-006-notref.xht">&#x2260;</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>Transform of Background Image (propagated body)
+ <ul class="assert">
+ <li>Background images fall within the element's border box, so they need to be transformed along with it. In this case the transform is applied to the body element, but the root element's background is transparent, so the background is actually on the root element instead of the body. Therefore, the transform must not affect the background.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-001-7" class="primary">
+ <td><strong>
+ <a href="transform-inherit-001.xht">transform-inherit-001</a></strong></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td></td>
+ <td>'inherit' and em
+ <ul class="assert">
+ <li>The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;As specified, but with relative lengths converted into absolute lengths.&quot; In this test, a parent element has a transform of 1em with a font-size of 25px, and the child has &quot;transform: inherit&quot;. Since the relative length of 1em is converted to an absolute length of 25px before inheritance, the child should be translated by a further 25px, for a total of 50px, even though its font-size is 100px. An implementation that incorrectly inherited 1em without converting it to an absolute length first would translate by 125px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-002-7" class="primary">
+ <td><strong>
+ <a href="transform-inherit-002.xht">transform-inherit-002</a></strong></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td></td>
+ <td>'inherit' and percentages
+ <ul class="assert">
+ <li>The 'transform' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;As specified, but with relative lengths converted into absolute lengths.&quot; In this test, a parent element has a transform of 10% with a height/width of 400px, and the child has &quot;transform: inherit&quot; and a height/width of 100px. Since percentages are not relative lengths and are inherited as specified, the parent should be translated by 40px and then the child by only 10px, for a total of 50px. An implementation that incorrectly converted the parent's 10% transform into 40px before inheritance would translate the child by a further 40px, for a total of 80px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inline-001-7" class="primary">
+ <td><strong>
+ <a href="transform-inline-001.xht">transform-inline-001</a></strong></td>
+ <td><a href="reference/transform-inline-ref.xht">=</a> <a href="reference/transform-inline-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transformed Inline
+ <ul class="assert">
+ <li>The definition of &quot;transformable element&quot; includes atomic inline-level elements, such as images, but not regular inline-level elements, such as spans. The 'transform' property only applies to transformable elements, so it should have no effect on a span.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-001-7" class="primary">
+ <td><strong>
+ <a href="transform-input-001.xht">transform-input-001</a></strong></td>
+ <td><a href="reference/transform-input-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=text)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-002-7" class="primary">
+ <td><strong>
+ <a href="transform-input-002.xht">transform-input-002</a></strong></td>
+ <td><a href="reference/transform-input-002-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=file)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-003-7" class="primary">
+ <td><strong>
+ <a href="transform-input-003.xht">transform-input-003</a></strong></td>
+ <td><a href="reference/transform-input-003-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=search)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-004-7" class="primary">
+ <td><strong>
+ <a href="transform-input-004.xht">transform-input-004</a></strong></td>
+ <td><a href="reference/transform-input-004-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=tel)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-005-7" class="primary">
+ <td><strong>
+ <a href="transform-input-005.xht">transform-input-005</a></strong></td>
+ <td><a href="reference/transform-input-005-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=url)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-006-7" class="primary">
+ <td><strong>
+ <a href="transform-input-006.xht">transform-input-006</a></strong></td>
+ <td><a href="reference/transform-input-006-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=email)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-007-7" class="primary">
+ <td><strong>
+ <a href="transform-input-007.xht">transform-input-007</a></strong></td>
+ <td><a href="reference/transform-input-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=password)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-008-7" class="primary">
+ <td><strong>
+ <a href="transform-input-008.xht">transform-input-008</a></strong></td>
+ <td><a href="reference/transform-input-008-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=datetime)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-009-7" class="primary">
+ <td><strong>
+ <a href="transform-input-009.xht">transform-input-009</a></strong></td>
+ <td><a href="reference/transform-input-009-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=date)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-010-7" class="primary">
+ <td><strong>
+ <a href="transform-input-010.xht">transform-input-010</a></strong></td>
+ <td><a href="reference/transform-input-010-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=month)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-011-7" class="primary">
+ <td><strong>
+ <a href="transform-input-011.xht">transform-input-011</a></strong></td>
+ <td><a href="reference/transform-input-011-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=week)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-012-7" class="primary">
+ <td><strong>
+ <a href="transform-input-012.xht">transform-input-012</a></strong></td>
+ <td><a href="reference/transform-input-012-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=time)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-013-7" class="primary">
+ <td><strong>
+ <a href="transform-input-013.xht">transform-input-013</a></strong></td>
+ <td><a href="reference/transform-input-013-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=datetime-local)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-014-7" class="primary">
+ <td><strong>
+ <a href="transform-input-014.xht">transform-input-014</a></strong></td>
+ <td><a href="reference/transform-input-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=number)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-015-7" class="primary">
+ <td><strong>
+ <a href="transform-input-015.xht">transform-input-015</a></strong></td>
+ <td><a href="reference/transform-input-015-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=range)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-016-7" class="primary">
+ <td><strong>
+ <a href="transform-input-016.xht">transform-input-016</a></strong></td>
+ <td><a href="reference/transform-input-016-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=color)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-017-7" class="primary">
+ <td><strong>
+ <a href="transform-input-017.xht">transform-input-017</a></strong></td>
+ <td><a href="reference/transform-input-017-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=checkbox)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-018-7" class="primary">
+ <td><strong>
+ <a href="transform-input-018.xht">transform-input-018</a></strong></td>
+ <td><a href="reference/transform-input-018-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=radio)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-input-019-7" class="primary">
+ <td><strong>
+ <a href="transform-input-019.xht">transform-input-019</a></strong></td>
+ <td><a href="reference/transform-input-019-ref.xht">=</a> </td>
+ <td></td>
+ <td>Input (type=submit)
+ <ul class="assert">
+ <li>The input element is an atomic inline element, so it falls under the definition of transformable and should be affected by transformations as usual. This is one in a series of tests that verify that a few simple transforms have the expected effect on various types of inputs. (They only test a few very specific transforms because it would be difficult to construct a correct reference file for more complex transforms.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-001-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-001.xht">transform-percent-001</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-002-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-002.xht">transform-percent-002</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateY)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-003-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-003.xht">transform-percent-003</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-004-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-004.xht">transform-percent-004</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translateY)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-005-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-005.xht">transform-percent-005</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translateY and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-006-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-006.xht">transform-percent-006</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateX and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-007-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-007.xht">transform-percent-007</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (translateY and translate)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-percent-008-7" class="primary">
+ <td><strong>
+ <a href="transform-percent-008.xht">transform-percent-008</a></strong></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Percentages (border box)
+ <ul class="assert">
+ <li>This is part of a series of tests that check that percentages in 'transform' values are evaluated relative to the transformed element's border box. This test adds a thicker border plus margin and padding to make any discrepancies more evident.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-propagate-inherit-boolean-001-7" class="primary">
+ <td><strong>
+ <a href="transform-propagate-inherit-boolean-001.xht">transform-propagate-inherit-boolean-001</a></strong></td>
+ <td><a href="reference/transform-propagate-inherit-boolean-ref.xht">=</a> </td>
+ <td></td>
+ <td>em on Multiple Elements
+ <ul class="assert">
+ <li>This tests that when a 'transform' rule using em affects two elements with different font-sizes, it affects each according to its respective font-size, rather than using the same length for both. See: https://bugzilla.mozilla.org/show_bug.cgi?id=460440</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-rounding-001-7" class="primary">
+ <td><strong>
+ <a href="transform-rounding-001.xht">transform-rounding-001</a></strong></td>
+ <td><a href="reference/transform-rounding-ref.xht">=</a> </td>
+ <td></td>
+ <td>Rounding
+ <ul class="assert">
+ <li>This tests that the implementation does not round intermediate matrices to the extent that it significantly distorts the final result. (No requirement in the specification places any specific constraints on rounding, but simple cases like this should not deviate dramatically from the mathematically precise result.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-scale-test-7" class="primary">
+ <td><strong>
+ <a href="transform-scale-test.xht">transform-scale-test</a></strong></td>
+ <td><a href="reference/transform-scale-test-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function.
+ <ul class="assert">
+ <li>This transform shrinks a container by calling scale(.33). It also sets transform-origin to top left in order to visually align with the second green square.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-001-7" class="primary">
+ <td><strong>
+ <a href="transform-table-001.xht">transform-table-001</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table
+ <ul class="assert">
+ <li>This tests that an appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-002-7" class="primary">
+ <td><strong>
+ <a href="transform-table-002.xht">transform-table-002</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-002-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Inline-Table
+ <ul class="assert">
+ <li>This tests that an appropriately-crafted transform applied to an inline-table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-003-7" class="primary">
+ <td><strong>
+ <a href="transform-table-003.xht">transform-table-003</a></strong></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table 2
+ <ul class="assert">
+ <li>This tests that another appropriately-crafted transform applied to a table works the same as if was applied to a wrapper div.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-004-7" class="primary">
+ <td><strong>
+ <a href="transform-table-004.xht">transform-table-004</a></strong></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-004-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table with caption-side: bottom
+ <ul class="assert">
+ <li>This is the same as transform-table-001.html, except the caption has caption-side: bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-005-7" class="primary">
+ <td><strong>
+ <a href="transform-table-005.xht">transform-table-005</a></strong></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-005-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Transform on Table with caption-side: bottom
+ <ul class="assert">
+ <li>This is the same as transform-table-002.html, except the caption has caption-side: bottom.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-inline-block-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-inline-block.xht">transform-transformable-inline-block</a></strong></td>
+ <td><a href="reference/transform-transformable-inline-block-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Inline-Block
+ <ul class="assert">
+ <li>This tests that transforms specified on an inline-block work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-inline-table-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-inline-table.xht">transform-transformable-inline-table</a></strong></td>
+ <td><a href="reference/transform-transformable-inline-table-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Inline-Table
+ <ul class="assert">
+ <li>This tests that transforms specified on an inline-table work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-list-item-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-list-item.xht">transform-transformable-list-item</a></strong></td>
+ <td><a href="reference/transform-transformable-list-item-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of List-Item
+ <ul class="assert">
+ <li>This tests that transforms specified on a list-item work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table.xht">transform-transformable-table</a></strong></td>
+ <td><a href="reference/transform-transformable-table-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table
+ <ul class="assert">
+ <li>This tests that transforms specified on a table work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-caption-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-caption.xht">transform-transformable-table-caption</a></strong></td>
+ <td><a href="reference/transform-transformable-table-caption-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Caption
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-caption work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-cell-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-cell.xht">transform-transformable-table-cell</a></strong></td>
+ <td><a href="reference/transform-transformable-table-cell-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Cell
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-cell work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-footer-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-footer-group.xht">transform-transformable-table-footer-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-footer-group-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Footer-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-footer-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-header-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-header-group.xht">transform-transformable-table-header-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-header-group-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Header-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-header-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-row-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-row.xht">transform-transformable-table-row</a></strong></td>
+ <td><a href="reference/transform-transformable-table-row-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Row
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-row work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-transformable-table-row-group-7" class="primary">
+ <td><strong>
+ <a href="transform-transformable-table-row-group.xht">transform-transformable-table-row-group</a></strong></td>
+ <td><a href="reference/transform-transformable-table-row-group-ref.xht">=</a> </td>
+ <td></td>
+ <td>Transformability of Table-Row-Group
+ <ul class="assert">
+ <li>This tests that transforms specified on a table-row-group work as expected.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-translatex-006-7" class="primary">
+ <td><strong>
+ <a href="transform-translatex-006.xht">transform-translatex-006</a></strong></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translateX function
+ <ul class="assert">
+ <li>This tests that translateX(50px) translates a box by 50 pixels in the X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_invalid_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_invalid_prefixed.xht">transform_translate_invalid_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with invalid translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(null, null) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_max_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_max_prefixed.xht">transform_translate_max_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with maximum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_min_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_min_prefixed.xht">transform_translate_min_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with minimum translation value
+ <ul class="assert">
+ <li>Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_neg_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_neg_prefixed.xht">transform_translate_neg_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with negative translation value
+ <ul class="assert">
+ <li>Check if transform supports translate(-1px, -1px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_prefixed.xht">transform_translate_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(100px, 100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_second_omited_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_second_omited_prefixed.xht">transform_translate_second_omited_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate with second translation value omited
+ <ul class="assert">
+ <li>Check if transform supports translate(100px)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform_translate_zero_prefixed-7" class="primary dom script">
+ <td><strong>
+ <a href="transform_translate_zero_prefixed.xht">transform_translate_zero_prefixed</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>transform translate
+ <ul class="assert">
+ <li>Check if transform supports translate(0, 0)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-degree-90-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotate-degree-90.xht">transforms-rotate-degree-90</a></strong></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ <ul class="assert">
+ <li>If the rotate with parameter not provided, greenRectangle will not cover redRectangle.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotate-translate-scale-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotate-translate-scale.xht">transforms-rotate-translate-scale</a></strong></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and rotate function with one parameter
+ <ul class="assert">
+ <li>If the rotate and scale with parameter not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-rotatey-degree-60-7" class="primary">
+ <td><strong>
+ <a href="transforms-rotateY-degree-60.xht">transforms-rotatey-degree-60</a></strong></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with rotate function and one parameter
+ </td>
+ </tr>
+ <tr id="transforms-skewx-7" class="primary">
+ <td><strong>
+ <a href="transforms-skewX.xht">transforms-skewx</a></strong></td>
+ <td><a href="reference/transforms-skewX-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for X axis.
+ <ul class="assert">
+ <li>If the skew for X axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transforms-skewy-7" class="primary">
+ <td><strong>
+ <a href="transforms-skewY.xht">transforms-skewy</a></strong></td>
+ <td><a href="reference/transforms-skewY-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with skew function for Y axis.
+ <ul class="assert">
+ <li>If the skew for Y axis not provided, greenSquare will not cover redSquare.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="translate-optional-second-001-7" class="primary">
+ <td><strong>
+ <a href="translate-optional-second-001.xht">translate-optional-second-001</a></strong></td>
+ <td><a href="reference/translate-optional-second-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform property with translate function and one parameter
+ <ul class="assert">
+ <li>If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-preserve-3d-1-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-preserve-3d-1.xht">transofrmed-preserve-3d-1</a></strong></td>
+ <td><a href="reference/transofrmed-preserve-3d-1-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform preserve-3d
+ <ul class="assert">
+ <li>The transformed div should establishe a 3D rendering context</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-rotatex-3-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-rotateX-3.xht">transofrmed-rotatex-3</a></strong></td>
+ <td><a href="reference/transofrmed-rotateX-3-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotateX
+ <ul class="assert">
+ <li>The transformed div should rotateX by 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transofrmed-rotatey-1-7" class="primary">
+ <td><strong>
+ <a href="transofrmed-rotateY-1.xht">transofrmed-rotatey-1</a></strong></td>
+ <td><a href="reference/transofrmed-rotateY-1-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotateY
+ <ul class="assert">
+ <li>The transformed div should rotate 90 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-reftest-rotate-7" class="primary">
+ <td><strong>
+ <a href="ttwf-reftest-rotate.xht">ttwf-reftest-rotate</a></strong></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform rotate
+ <ul class="assert">
+ <li>The transform should rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-skewx-001-7" class="primary">
+ <td><strong>
+ <a href="ttwf-transform-skewx-001.xht">ttwf-transform-skewx-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-skewx-001.xht">=</a> </td>
+ <td></td>
+ <td>CSS Transform Using skewX() function
+ <ul class="assert">
+ <li>Test that the green shape is skew on X axis by 45 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-skewy-001-7" class="primary">
+ <td><strong>
+ <a href="ttwf-transform-skewy-001.xht">ttwf-transform-skewy-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-skewy-001.xht">=</a> </td>
+ <td></td>
+ <td>CSS Transform Using skewY() function
+ <ul class="assert">
+ <li>Test that the green shape is skew on Y axis by 45 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-translatex-001-7" class="primary CSS Transform">
+ <td><strong>
+ <a href="ttwf-transform-translatex-001.xht">ttwf-transform-translatex-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-translatex-001.xht">=</a> </td>
+ <td><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ <td>CSS Transform Using translateX() function
+ <ul class="assert">
+ <li>Test that the green square is moved on X axis 100px</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="ttwf-transform-translatey-001-7" class="primary CSS Transform">
+ <td><strong>
+ <a href="ttwf-transform-translatey-001.xht">ttwf-transform-translatey-001</a></strong></td>
+ <td><a href="reference/ttwf-reftest-transform-translatey-001.xht">=</a> </td>
+ <td><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ <td>CSS Transform Using translateY() function
+ <ul class="assert">
+ <li>Test that the green square is moved on Y axis 100px</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s7.#propdef-transform">
+ <!-- 1 tests -->
+ <tr id="css-transform-property-existence-7.#propdef-transform" class="primary dom script">
+ <td><strong>
+ <a href="css-transform-property-existence.xht">css-transform-property-existence</a></strong></td>
+ <td></td>
+ <td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="script" title="Executes tests in script">Script</abbr></td>
+ <td>property existence
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s7.#typedef-transform-list">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-8.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-8.xht
new file mode 100644
index 00000000000..7288c4e55be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-8.xht
@@ -0,0 +1,1344 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The transform-origin Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform-origin Property (117 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s8">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s8">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property">8 The transform-origin Property</a></th></tr>
+ <!-- 116 tests -->
+ <tr id="css-transform-scale-001-8" class="">
+ <td>
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function on hover state
+ <ul class="assert">
+ <li>When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="css-transform-scale-002-8" class="">
+ <td>
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td></td>
+ <td>transform property with scale function and move its origin
+ <ul class="assert">
+ <li>The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="regions-transforms-014-8" class="">
+ <td>
+ <a href="regions-transforms-014.xht">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td></td>
+ <td>CSS Regions: Transform region with position:absolute and transform-origin
+ <ul class="assert">
+ <li>This test checks that the transform and transform-origin are applied to a region with absolute positioning.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-001.xht">svg-origin-length-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-002.xht">svg-origin-length-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-003.xht">svg-origin-length-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-004.xht">svg-origin-length-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100px
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-005.xht">svg-origin-length-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50px 50px
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-006.xht">svg-origin-length-006</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 100px 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-007.xht">svg-origin-length-007</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 100
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-008.xht">svg-origin-length-008</a></strong></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 50 50
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-001.xht">svg-origin-length-cm-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in cm - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-002.xht">svg-origin-length-cm-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in cm - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-003.xht">svg-origin-length-cm-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 2cm 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (2cm,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-004.xht">svg-origin-length-cm-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 2cm
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,2cm) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-cm-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-cm-005.xht">svg-origin-length-cm-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 1cm 1cm
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (1cm,1cm) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-001.xht">svg-origin-length-in-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in inch - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-002.xht">svg-origin-length-in-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in inch - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-003.xht">svg-origin-length-in-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 1.5in 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (1.5in,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-004.xht">svg-origin-length-in-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 1.5in
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,1.5in) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-in-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-in-005.xht">svg-origin-length-in-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0.75in 0.75in
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0.75in, 0.75in) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-001.xht">svg-origin-length-pt-001</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in pt - default value
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-002.xht">svg-origin-length-pt-002</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values in pt - 0 0
+ <ul class="assert">
+ <li>The transform-origin should be 0 0 by default, so the current value shouldn't make a difference.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-003.xht">svg-origin-length-pt-003</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 80pt 0
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (80pt,0) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-004.xht">svg-origin-length-pt-004</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 0 80pt
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (0,80pt) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-length-pt-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-length-pt-005.xht">svg-origin-length-pt-005</a></strong></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin with length values - 40pt 40pt
+ <ul class="assert">
+ <li>The transform-origin should translate the origin by (40pt,40pt) temporarily.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value absolute value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value 'center' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, first value '50%' value and missing second argument
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 center'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-009-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '75 50%'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-010-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-011-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '50% 75'
+ <ul class="assert">
+ <li>The rect should be rotated around its center point at 75,75</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-012-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-013-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '150'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-014-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-015-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-016-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-017-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '25%'
+ <ul class="assert">
+ <li>If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-018-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-019-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-020-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0% 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-021-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-022-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-023-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'top center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-024-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-025-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-026-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'bottom right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-027-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-028-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-029-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-030-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-031-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-032-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'right 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-033-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-034-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-035-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-036-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 75'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-037-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-038-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'left 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-039-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center top'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-040-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center bottom'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-041-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center left'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-042-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center right'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-043-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 100%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-044-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, '0 center'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-045-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0%'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-046-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, 'center 0'
+ <ul class="assert">
+ <li>The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-001-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-002-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-003-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-004-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom 150'
+ <ul class="assert">
+ <li>Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-005-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-006-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-007-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'top bottom'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-008-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'bottom top'
+ <ul class="assert">
+ <li>Spec does not allow two vertical values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-009-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-010-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'left right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-011-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right right'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-origin-relative-length-invalid-012-8" class="primary svg">
+ <td><strong>
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></strong></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG presentation attribute transform-origin, invalid arguments 'right left'
+ <ul class="assert">
+ <li>Spec does not allow two horizontal values. Fallback to 0,0</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-017-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with length values - 40px 40px
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-018-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-019-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-020-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-021-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-022-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="svg-rotate-3args-023-8" class="svg">
+ <td>
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ <td>SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values
+ <ul class="assert">
+ <li>The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-origin-001-8" class="primary">
+ <td><strong>
+ <a href="transform-inherit-origin-001.xht">transform-inherit-origin-001</a></strong></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td></td>
+ <td>&quot;transform-origin: inherit&quot; and em
+ <ul class="assert">
+ <li>The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;For &lt;length&gt; the absolute value, otherwise a percentage.&quot; In this test, a parent element has a transform-origin of '5em 10em' with a font-size of 10px, and the child has &quot;transform-origin: inherit&quot;. Since the relative length of 5em is converted to an absolute length before inheritance, the transform-origin should be at the bottom of the child, 50px 100px. The 180deg rotation should thus effectively move the child down 100px. An implementation that incorrectly inherited the transform-origin value before converting to an absolute length would treat it as 100px 200px, since the child has a font-size of 20px, so it would effectively translate the child 100px right and 300px down.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-inherit-origin-002-8" class="primary">
+ <td><strong>
+ <a href="transform-inherit-origin-002.xht">transform-inherit-origin-002</a></strong></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td></td>
+ <td>&quot;transform-origin: inherit&quot; and percentages
+ <ul class="assert">
+ <li>The 'transform-origin' property's computed value (which is what's inherited if 'inherit' is specified) is defined as &quot;For &lt;length&gt; the absolute value, otherwise a percentage.&quot; In this test, a parent element has a transform-origin of '50% 100%' with a height/width of 50px, and the child has &quot;transform-origin: inherit&quot; with a height/width of 100px. Since the transform-origin is a percentage, it's inherited before it gets resolved to a length. This means it works out to 50px 100px on the child, at its center, so the 180deg rotation should translate the child down by 100px. An implementation that incorrectly resolved the transform-origin to 25px 50px before inheritance would instead display the child box translated left 75px.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-001-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-001.xht">transform-origin-001</a></strong></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Default transform-origin not top left
+ <ul class="assert">
+ <li>A transform-origin of 0% 0% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-002-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-002.xht">transform-origin-002</a></strong></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Default transform-origin not center right
+ <ul class="assert">
+ <li>A transform-origin of 100% 50% must not result in the same rendering as the default of 50% 50%, if a 45-degree rotation is applied.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-003-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-003.xht">transform-origin-003</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 1
+ <ul class="assert">
+ <li>A transform-origin of 101px 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-004-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-004.xht">transform-origin-004</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 2
+ <ul class="assert">
+ <li>A transform-origin of 101px 50% must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-005-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-005.xht">transform-origin-005</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 3
+ <ul class="assert">
+ <li>A transform-origin of 50% 51px must result in the same rendering as the default of 50% 50% in this case. The content box is 200x100px, so with a 1px border, the border box is 202x102px. transform-origin is computed relative to the border box. (Note: an implementation that incorrectly computes transform-origin percentages relative to the content box would fail this test by only a few pixels, so care is needed in checking that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-006-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-006.xht">transform-origin-006</a></strong></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin percentages 4
+ <ul class="assert">
+ <li>Percentages in transform-origin refer to the size of the element's border box. This tests that they don't refer to the content, padding, or margin box by applying nonzero margin, border, and padding. (Note: an implementation that resolves percentages relative to the incorrect box might fail this test by only a few pixels, so it's important to check that the test and reference renderings match exactly.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-007-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-007.xht">transform-origin-007</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'bottom' computes to 100% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-008-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-008.xht">transform-origin-008</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - center 0%('center' computes to '50%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-009-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-009.xht">transform-origin-009</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - 0% center('center' computes to '50%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-01-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-01.xht">transform-origin-01</a></strong></td>
+ <td><a href="reference/transform-origin-01-ref.xht">=</a> </td>
+ <td></td>
+ <td>SVG Transform using transform-origin
+ <ul class="assert">
+ <li>If only one value is specified, the second value is assumed to be &amp;acirc;&amp;#8364;&amp;#732;center&amp;acirc;&amp;#8364;&amp;#8482;</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-010-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-010.xht">transform-origin-010</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - left 0%('left' computes to '0%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'left' computes to 0% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-011-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-011.xht">transform-origin-011</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - right 100%('right' computes to '100%' in horizontal position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'right' computes to 100% for the horizontal position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-012-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-012.xht">transform-origin-012</a></strong></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin - 0% top('top' computes to '0%' in vertical position)
+ <ul class="assert">
+ <li>The 'transform-origin' property set 'top' computes to 0% for the vertical position.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-001-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-001.xht">transform-origin-name-001</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top left
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top left' is the same as 'transform-origin: 0% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-002-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-002.xht">transform-origin-name-002</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: left top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: left top' is the same as 'transform-origin: 0% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-003-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-003.xht">transform-origin-name-003</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-004-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-004.xht">transform-origin-name-004</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top center
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top center' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-005-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-005.xht">transform-origin-name-005</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: center top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: center top' is the same as 'transform-origin: 50% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-006-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-006.xht">transform-origin-name-006</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: top right
+ <ul class="assert">
+ <li>This tests that 'transform-origin: top right' is the same as 'transform-origin: 100% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-origin-name-007-8" class="primary">
+ <td><strong>
+ <a href="transform-origin-name-007.xht">transform-origin-name-007</a></strong></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>transform-origin: right top
+ <ul class="assert">
+ <li>This tests that 'transform-origin: right top' is the same as 'transform-origin: 100% 0%'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-rotatex-transformorigin-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></strong></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>rotateX() with 'transform-origin'
+ <ul class="assert">
+ <li>This tests that rotateX(45deg) has the same effect (with perspective) with a top left origin and a top right origin. It should make no difference, because it doesn't change the axis of rotation: it's still the top. (This doesn't actually test the perspective property, since a UA that doesn't support perspective at all could still pass.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translate3d-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></strong></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translate3d() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translate3d() before and after rotatex() is the same as an equivalent 'transform-origin'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-translatez-001-8" class="primary">
+ <td><strong>
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></strong></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>translatez() vs. 'transform-origin'
+ <ul class="assert">
+ <li>This tests that translatez(+-10px) before and after rotatex() is the same as an equivalent 'transform-origin', and different from translatez(+-20px).</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s8.#propdef-transform-origin">
+ <!-- 1 tests -->
+ <tr id="transform-origin-8.#propdef-transform-origin" class="primary">
+ <td><strong>
+ <a href="transform-origin.xht">transform-origin</a></strong></td>
+ <td><a href="reference/transform-origin-ref.xht">=</a> </td>
+ <td></td>
+ <td>transform-origin
+ <ul class="assert">
+ <li>The transform should change the transform-origin to the bottom right and rotate 180 degrees</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s8.#valuedef-bottom0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-center0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-left0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-right0">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s8.#valuedef-top0">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-9.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-9.xht
new file mode 100644
index 00000000000..5b8a36419b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/chapter-9.xht
@@ -0,0 +1,331 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>The transform-style Property - CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite</h1>
+ <h2>The transform-style Property (26 tests)</h2>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="refs-column"></col>
+ <col id="flags-column"></col>
+ <col id="info-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th><abbr title="Rendering References">Refs</abbr></th>
+ <th>Flags</th>
+ <th>Info</th>
+ </tr>
+ </thead>
+ <tbody id="s9">
+ <tr><th colspan="4" scope="rowgroup">
+ <a href="#s9">+</a>
+ <a href="http://www.w3.org/TR/css-transforms-1/#transform-style-property">9 The transform-style Property</a></th></tr>
+ <!-- 26 tests -->
+ <tr id="css-transform-3d-transform-style-9" class="primary">
+ <td><strong>
+ <a href="css-transform-3d-transform-style.xht">css-transform-3d-transform-style</a></strong></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotateY with transform-style on nested elements
+ <ul class="assert">
+ <li>Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-006-9" class="primary">
+ <td><strong>
+ <a href="transform-table-006.xht">transform-table-006</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 1
+ <ul class="assert">
+ <li>This has preserve-3d applied to the outer wrapper of a table, but not the inner wrapper containing its contents. Therefore, the contents should be rotated 90 degrees and vanish, and the 90-degree rotation on the outer wrapper shouldn't restore them. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-007-9" class="primary">
+ <td><strong>
+ <a href="transform-table-007.xht">transform-table-007</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 2
+ <ul class="assert">
+ <li>In this case, preserve-3d is applied to every element that's explicitly specified in the source code. However, the HTML parser will insert an extra &lt;tbody&gt; element around the &lt;tr&gt;, which will not have preserve-3d specified, so the contents should again vainsh. An implementation that incorrectly propagated preserve-3d to table descendants might cause the text to appear, but mirrored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-008-9" class="primary">
+ <td><strong>
+ <a href="transform-table-008.xht">transform-table-008</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>Table Without Preserve-3D 3
+ <ul class="assert">
+ <li>This is essentially the same as transform-table-006.html, except using divs with 'display' specified instead of actual table elements.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-009-9" class="primary">
+ <td><strong>
+ <a href="transform-table-009.xht">transform-table-009</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-009-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 1
+ <ul class="assert">
+ <li>This is the same as transform-table-007.html, except that transform-style is also explicitly applied to the intervening &lt;tbody&gt;, so nothing should vanish.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-010-9" class="primary">
+ <td><strong>
+ <a href="transform-table-010.xht">transform-table-010</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-010-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 2
+ <ul class="assert">
+ <li>This is the same as transform-table-007.html, except that now divs are used instead of actual table elements. This means that the parser doesn't create an implicit intervening &lt;tbody&gt;, so preserve-3d is applied to all intervening elements, and the text should display (mirrored).</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform-table-011-9" class="primary">
+ <td><strong>
+ <a href="transform-table-011.xht">transform-table-011</a></strong></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-011-notref.xht">&#x2260;</a> </td>
+ <td></td>
+ <td>Table With Preserve-3D 3
+ <ul class="assert">
+ <li>This is an even more extreme example of transform-table-010.html. CSS will create several anonymous table boxes wrapping the div with display: table-cell, but none of these have corresponding elements. Every actual element in the DOM still has preserve-3d specified, so the text should not vanish.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-001-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-001.xht">transform3d-preserve3d-001</a></strong></td>
+ <td><a href="reference/transform3d-preserve3d-001-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Preserve-3D
+ <ul class="assert">
+ <li>This tests that if preserve-3d is specified, four 45deg rotations equal one 180deg rotation.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-002-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-002.xht">transform3d-preserve3d-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 1
+ <ul class="assert">
+ <li>This is the first in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-003-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-003.xht">transform3d-preserve3d-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 2
+ <ul class="assert">
+ <li>This is the second in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-004-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-004.xht">transform3d-preserve3d-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Margins 3
+ <ul class="assert">
+ <li>This is the third in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-005-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-005.xht">transform3d-preserve3d-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With Transformed Grandparent and Grandchild
+ <ul class="assert">
+ <li>This is the fourth in a series of four tests that test that translations work correctly when combined with margins or translations on various elements, when preserve-3d is enabled. They test for a real-world implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864&gt;.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-006-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-006.xht">transform3d-preserve3d-006</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Two rotatex(), No Preserve-3D
+ <ul class="assert">
+ <li>rotatex(45deg) or rotatex(-45deg), by itself, should both just scale down the element by a factor of sqrt(2) (and perhaps shift it, depending on 'transform-origin'). Without 'transform-style: preserve-3d', the rotations on parent and child shouldn't cancel, so its height should be halved with no other effect.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-007-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-007.xht">transform3d-preserve3d-007</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Two rotatey(), No Preserve-3D
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-006.html, except with rotatey() instead of rotatex().</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-008-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-008.xht">transform3d-preserve3d-008</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: hidden'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-006.html, except that it has 'transform-style: preserve-3d; overflow: hidden' specified on the parent element. 'transform-style: preserve-3d' would normally make the result different, but 'overflow: hidden' overrides its effect and causes it to work the same as 'transform-style: flat'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-009-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-009.xht">transform3d-preserve3d-009</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: auto'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-008.html, except with 'overflow: auto' instead of 'hidden'.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-010-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-010.xht">transform3d-preserve3d-010</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>rotatex() With Preserve-3D
+ <ul class="assert">
+ <li>This tests that two rotations of 22.5deg properly add when preserve-3d is used. The result, a 45deg rotation around the X-axis, should be equivalent to shrinking the height by a factor of sqrt(2), i.e., 1.41421356....</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-011-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-011.xht">transform3d-preserve3d-011</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D With 90-Degree Rotation
+ <ul class="assert">
+ <li>This tests that when preserve-3d is specified, a 90-degree rotation on the parent plus a 90-degree rotation on the child cancel out, adding to a 180-degree rotation (which has no visible effect on a lime square). scale(2) is added to ensure that the test doesn't pass if the transforms are just ignored.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-012-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-012.xht">transform3d-preserve3d-012</a></strong></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td></td>
+ <td>90-Degree Rotations Without Preserve-3D
+ <ul class="assert">
+ <li>This tests that two 90-degree rotations with the default 'transform-style: flat' do not add together to form a 180-degree rotation. Instead, the first causes the contents to vanish and the second does not restore them.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-preserve3d-013-9" class="primary">
+ <td><strong>
+ <a href="transform3d-preserve3d-013.xht">transform3d-preserve3d-013</a></strong></td>
+ <td><a href="reference/transform3d-preserve3d-013-ref.xht">=</a> </td>
+ <td></td>
+ <td>Preserve-3D with 'overflow: scroll'
+ <ul class="assert">
+ <li>This is identical to transform3d-preserve3d-008.html, except with 'overflow: scroll' instead of 'hidden'. (Note that the ref is nontrivial, because the scrollbar has to be scaled appropriately.)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-001-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-001.xht">transform3d-sorting-001</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting
+ <ul class="assert">
+ <li>The red box here is translated in the negative Z-direction, so it should render beneath the lime box even though it comes later in DOM order.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-002-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-002.xht">transform3d-sorting-002</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Rotation
+ <ul class="assert">
+ <li>The red box here is translated to the same extent as the lime box, so they should render in stacking context order: the lime box is on top, because it's later in the DOM. But then we apply rotatex(180deg) to the whole thing, so the lime box should wind up on top in the end.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-003-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-003.xht">transform3d-sorting-003</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With No Preserve-3D
+ <ul class="assert">
+ <li>The red box here is translated to above the lime box, but they aren't in the same 3D rendering context, so they should be drawn in DOM order regardless: lime box on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-004-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-004.xht">transform3d-sorting-004</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Simple Sorting With Preserve-3D on Grandparent
+ <ul class="assert">
+ <li>This is the same as transform3d-sorting-003.html, except with two wrapper divs. 'transform-style: preserve-3d' only affects children, not grandchildren, so the two divs with backgrounds are still in different rendering contexts and the Z-position should still not affect stacking.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-005-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-005.xht">transform3d-sorting-005</a></strong></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Background on Parent
+ <ul class="assert">
+ <li>This tests that if a parent has 'transform-style: preserve-3d', it's in the same rendering context as its children. Thus the translateZ(10px) puts the child above it, and the rotateX(180deg) puts it below, so the lime parent is rendered on top.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr id="transform3d-sorting-006-9" class="primary">
+ <td><strong>
+ <a href="transform3d-sorting-006.xht">transform3d-sorting-006</a></strong></td>
+ <td><a href="reference/transform3d-sorting-006-ref.xht">=</a> </td>
+ <td></td>
+ <td>Sorting With Intersection
+ <ul class="assert">
+ <li>This tests that when two boxes intersect in a simple fashion, they're rendered according to Newell's algorithm.</li>
+ </ul>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="s9.#issue-f175efd2">
+ <!-- 0 tests -->
+ </tbody>
+ <tbody id="s9.#propdef-transform-style">
+ <!-- 0 tests -->
+ </tbody>
+ </table>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-rotate-2d-3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-rotate-2d-3d-001.xht
new file mode 100644
index 00000000000..114d6bffe74
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-rotate-2d-3d-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: 2D rotation with 3D rotation</title>
+ <link href="mailto:pdr@google.com" rel="author" title="Philip Rogers" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-06-16 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-rotate-2d-3d-001-ref.xht" rel="match" />
+ <meta content="This transform rotates a tall rectangle by 90 degrees then applies a 3D rotation in the X axis." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 200px;
+ background: green;
+ transform: rotate(90deg) rotate3d(1, 0, 0, 60deg);
+ }
+ .redSquare {
+ position: absolute;
+ top: 101px;
+ left: 101px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-scale-nested-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-scale-nested-001.xht
new file mode 100644
index 00000000000..2d4e9f1f0d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-scale-nested-001.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: scale 0 on a parent with a child</title>
+ <link href="mailto:amolvshanbhag@yahoo.com" rel="author" title="Amol Shanbhag" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="Child square element is transformed (scaled to zero) along with the parent element" name="assert" />
+ <link href="reference/css-scale-nested-ref.xht" rel="match" />
+ <style type="text/css">
+ div{
+ position: absolute;
+ }
+ .greenSquare {
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .parentredSquare {
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: scale(0);
+ }
+ .childredSquare {
+ top: 25px;
+ left: 25px;
+ width: 50px;
+ height: 50px;
+ background: red;
+ }
+ p{
+ padding-top: 130px;
+ }
+ </style>
+</head>
+<body>
+ <div class="greenSquare"></div>
+ <div class="parentredSquare"><div class="childredSquare"></div></div>
+ <p>The test passes if there is a green square and no red.</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-001.xht
new file mode 100644
index 00000000000..ac473cc4819
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: skew function part 1</title>
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <link href="reference/css-skew-001-ref.xht" rel="match" />
+ <style type="text/css">
+ div {
+ top:5px;
+ left:5px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:red;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ svg {
+ top:0;
+ left:0;
+ position:absolute;
+ height: 268.778px;
+ width: 231.642px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <div> </div>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 231.64212,268.77841 73.167806,158.54816 0,0 158.58452,110.15942 z" fill="green"></path>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-002.xht
new file mode 100644
index 00000000000..ff40f4f8f12
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-skew-002.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: skew function part 2</title>
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <link href="reference/css-skew-002-ref.xht" rel="match" />
+ <style type="text/css">
+ div {
+ top:0px;
+ left:0px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:green;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ svg {
+ top:5px;
+ left:5px;
+ position:absolute;
+ height: 253.667px;
+ width: 218.333px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 211.84314,245.80529 66.913984,144.99668 0,0 145.02994,100.74384 z" fill="red"></path>
+ </svg>
+ <div> </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-negative.xht
new file mode 100644
index 00000000000..77a039e7cc5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="Test checks that rotate the 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotate3d(1,0,0,-60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-positive.xht
new file mode 100644
index 00000000000..f83c901aa40
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-X-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotate3d(1,0,0,60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-negative.xht
new file mode 100644
index 00000000000..be87d5b8112
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotate3d(0,1,0,-60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-positive.xht
new file mode 100644
index 00000000000..a3723a78058
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Y-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotate3d(0,1,0,60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-negative.xht
new file mode 100644
index 00000000000..4724af17131
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-negative.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-positive.xht
new file mode 100644
index 00000000000..4826467f184
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotate3d-Z-positive.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for 90 degree on Z-axis would cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-negative.xht
new file mode 100644
index 00000000000..b0685900933
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateX on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotateX(-60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-positive.xht
new file mode 100644
index 00000000000..47d8633d32f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateX-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateX on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateX-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on X-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 240px;
+ transform: rotateX(60deg);
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-negative.xht
new file mode 100644
index 00000000000..2ed5b6c53d7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-negative.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for -60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotateY(-60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-positive.xht
new file mode 100644
index 00000000000..103ab25bcd5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateY-positive.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-rotateY-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate a 2:1 rectangle on Y-axis for 60 degree we will get a square and completely cover the red square, and here we use border due to the rectangle not be rotated would cover the red square." name="assert" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.redsquare {
+ background-color: red;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ div.green {
+ background-color: green;
+ height: 120px;
+ transform: rotateY(60deg);
+ width: 240px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="redsquare"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-negative.xht
new file mode 100644
index 00000000000..1789db332d7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-negative.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for -90 degree on Z-axis will cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotateZ(-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-positive.xht
new file mode 100644
index 00000000000..a4fac403825
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-rotateZ-positive.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="" name="flags" />
+ <link href="reference/css-transform-3d-rotateZ-ref.xht" rel="match" />
+ <meta content="Test checks that rotate a vertical rectangle for 90 degree on Z-axis will cover the horizontal red rectangle." name="assert" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotateZ(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-transform-style.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-transform-style.xht
new file mode 100644
index 00000000000..5a4645cfe60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-3d-transform-style.xht
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY with transform-style on nested elements</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/css-transform-3d-transform-style-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Test checks that rotate the nested div with transform-style preserve-3d, rotated parent div for -60 degree on Y-axis then and rotated child div for 120 degree, at this time the parent and child should have equal width, then child div could cover the red box." name="assert" />
+ <style>
+ div {
+ position: absolute;
+ }
+ div.container {
+ background-color: gray;
+ height: 200px;
+ width: 200px;
+ left: 65px;
+ top: 45px;
+ }
+ div.blue {
+ background-color: blue;
+ height: 180px;
+ width: 180px;
+ left: 10px;
+ top: 10px;
+ transform: rotateY(-60deg);
+ transform-style: preserve-3d;
+ }
+ div.green {
+ background-color: green;
+ left: 40px;
+ top: 0px;
+ height: 180px;
+ width: 180px;
+ transform: rotateY(120deg);
+ }
+ div.red{
+ background-color: red;
+ left: 140px;
+ top: 10px;
+ height: 180px;
+ width: 20px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a gray square with <b>one blue</b> and <b>one green</b> box <b>inside</b>, and no any red.</p>
+ <div class="container">
+ <div class="red"></div>
+ <div class="blue">
+ <div class="green"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-rotate.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-rotate.xht
new file mode 100644
index 00000000000..e48a1e19b78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-rotate.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: CSS transforms rotate inheritance on div element</title>
+ <link href="mailto:gaodl@uw.edu" rel="author" title="Delong Gao" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <!--<link rel="match" href="reference/ttwf-reftest-tutorial-ref.html">
+ <meta name="flags" content="svg">-->
+ <meta content="Rotation on parent element will not be inherited by child element, unless declared. The test is passed if there is a green square and no red. And it is rotated 45 degree." name="assert" />
+ <style type="text/css">
+ * {
+ margin: 0;
+ padding: 0;
+ }
+ .flag {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ z-index: 2;
+ }/*This div is used to show the red square*/
+ .parentSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 200px;
+ height: 200px;
+ transform: rotate(45deg);
+ background-color: green;
+ }
+ .childSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ transform: inherit;/*While inherited, the child div should rotate 90 degree instead of 45*/
+ }
+ p {
+ position: absolute;
+ top: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red. And it is rotated 45 degree.</p>
+ <div class="flag"></div>
+ <div class="parentSquare">
+ <div class="childSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-scale.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-scale.xht
new file mode 100644
index 00000000000..d9862b20313
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-inherit-scale.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: CSS transforms scale 2 inheritance on div elements</title>
+ <link href="mailto:gaodl@uw.edu" rel="author" title="Delong Gao" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <!--<link rel="match" href="reference/ttwf-reftest-tutorial-ref.html">
+ <meta name="flags" content="svg">-->
+ <meta content="While child div inherits property from its parent, scaling 2 on parent div will course the child to scale 4 and totally cover the red div. The test passes if there is a green square and no red. " name="assert" />
+ <style type="text/css">
+ * {
+ margin: 0;
+ padding: 0;
+ }
+ .red {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color: red;
+ }
+ .parent {
+ background: yellow;
+ width: 50px;
+ height: 50px;
+ position: absolute;
+ top: 75px;
+ left: 75px;
+ transform: scale(2);
+
+ }
+ .child {
+ position: absolute;
+ top: 10px;
+ transform: inherit;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red. </p>
+ <div class="red"></div>
+ <div class="parent">
+ <div class="child"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-property-existence.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-property-existence.xht
new file mode 100644
index 00000000000..6194dbc79b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-property-existence.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: property existence</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-transform" rel="help" />
+ <meta content="dom" name="flags" />
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ assert_not_equals(document.getElementById("test").style.transfor, undefined, "expect transform is not undefined");
+ }, "Check the existence of transform.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "transform-origin", "expect transform-origin");
+ }, "Check the existence of transform-origin.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "transform-style", "expect transform-style");
+ }, "Check the existence of transform-style.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "perspective", "expect perspective");
+ }, "Check the existence of perspective.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "perspective-origin", "expect perspective-origin");
+ }, "Check the existence of perspective-origin.");
+
+ test(function() {
+ assert_own_property(document.getElementById("test").style, "backface-visibility", "expect backface-visibility");
+ }, "Check the existence of backface-visibility.");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-001.xht
new file mode 100644
index 00000000000..2ec9e5fc4bf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-001.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function on hover state</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#transform-functions" rel="help" />
+ <!-- See also: http://www.w3.org/wiki/CSS/Selectors/pseudo-classes/:hover -->
+ <link href="reference/css-transform-scale-ref-001.xht" rel="match" />
+ <meta content="When the element is hovered over, the transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner." name="assert" />
+ <meta content="interactive" name="flag" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ .greenSquare:hover {
+ transform-origin: 0 0;
+ transform: scale(2);
+ }
+
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 100px;
+ top :100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you hover over the green square and it completely covers the red square.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-002.xht
new file mode 100644
index 00000000000..332962c3bab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-scale-002.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and move its origin</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#transform-functions" rel="help" />
+ <link href="reference/css-transform-scale-ref-002.xht" rel="match" />
+ <meta content="The transform scales the element to twice its size in both the X and Y directions and moves its origin to the top left corner." name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform-origin: 0 0;
+ transform: scale(2);
+ }
+
+
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 100px;
+ top :100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if the green square completely covers the red square.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-style-evaluation-validation.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-style-evaluation-validation.xht
new file mode 100644
index 00000000000..56085e13fce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transform-style-evaluation-validation.xht
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: property</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="dom" name="flags" />
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script>
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg),rotateX(60deg)"
+ assert_equals(document.getElementById("test").style.transform, "", "expect NULL");
+ }, "transform: Check bad-format multi-expr input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg)|rotateX(60deg)";
+ assert_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with tab.");
+
+ test(function() {
+ document.getElementById("test").style.transform = " rotate(30deg) rotateX(60deg) ";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with spaces start and end.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg) rotateX(60deg)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check multi-expr input with two spaces.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(30deg) rotateX(60deg)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check valied multi-expr input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotate(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateX(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateX(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateY(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateY(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateZ(0)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateZ(0) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotate(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotate(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateX(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateX(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateY(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateY(string) input.");
+
+ test(function() {
+ document.getElementById("test").style.transform = "rotateZ(string)";
+ assert_not_equals(document.getElementById("test").style.transform, "", "expect not NULL");
+ }, "transform: Check rotateZ(string) input.");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-3d-on-anonymous-block-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-3d-on-anonymous-block-001.xht
new file mode 100644
index 00000000000..f5c4c462bfd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-3d-on-anonymous-block-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: No 3D transforms on anonymous block boxes</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="mailto:eoconnor@apple.com" rel="reviewer" title="Edward O'Connor" /> <!-- 2012-10-27 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/css-transforms-3d-anonymous-block-ref.xht" rel="match" />
+ <meta content="3D transforms can not be applied to anonymous block boxes." name="assert" />
+</head>
+<body>
+ <p>You should see three lines of text written from left to right and unmirrored.</p><p>
+ </p><div style="transform-style: preserve-3d;">
+ <span style="transform-style: preserve-3d; transform: rotateX(90deg)">Test</span>
+ <p style="transform-style: preserve-3d;">Test</p>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-transformlist.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-transformlist.xht
new file mode 100644
index 00000000000..2f8bc28fd41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css-transforms-transformlist.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test: SVG transform in baseVal list</title>
+ <link href="mailto:cabanier@adobe.com" rel="author" title="Rik Cabanier" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-dom" rel="help" />
+ <link href="reference/css-transforms-transformlist-ref.xht" rel="match" />
+ <meta content="This test verifies that the CSS transform ends up in the list of SVG transforms" name="assert" />
+ <style type="text/css">
+
+ #rect {
+ fill: green;
+ transform: translate(10px, 10px);
+ }
+
+ #result {
+ width:100px;
+ height:100px;
+ background-color: red;
+ }
+
+ </style>
+ <script>
+ window.addEventListener('load', function(){
+ var r = document.getElementById("rect");
+ var result = document.getElementById("result");
+ if(r.transform.baseVal.length&gt;0)
+ result.style.backgroundColor = "rgb(0, 255, 0)";
+
+ document.getElementById("svgelement").style.display="none";
+ }, false);
+ </script>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg id="svgelement" xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" id="rect" height="100"></rect>
+ </svg>
+ <div id="result"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-perspective.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-perspective.xht
new file mode 100644
index 00000000000..b6d17150eeb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-perspective.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateX 90 degrees with perspective make it invisible</title>
+ <link href="mailto:robin.webkit@gmail.com" rel="author" title="caoqixing" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective" rel="help" />
+ <link href="reference/css3-transform-perspective-ref.xht" rel="match" />
+ <meta content="Test passes if rotateX 90 degrees with perspective make it invisible" name="assert" />
+ <style type="text/css">
+ div {
+ width: 200px;
+ height: 200px;
+ }
+ #container {
+ position: relative;
+ background-color: green;
+ perspective: 1000px;
+ }
+ #rotated {
+ background-color: red;
+ transform: rotateX(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="container">
+ <div id="rotated"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-rotateY.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-rotateY.xht
new file mode 100644
index 00000000000..82c7f551698
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-rotateY.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotateY function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/css3-transform-rotateY-ref.xht" rel="match" />
+ <meta content="box width should be equal to projection width if transform rotateY applied" name="assert" />
+ <style type="text/css">
+ .red,
+ .green{
+ width:198px;
+ height: 200px;
+ background-color:green;
+ position: absolute;
+ top: 50px;
+ left:51px;
+ z-index:10;
+ }
+ .red{
+ background-color:red;
+ width: 140px;
+ left:80px;
+ z-index:9;
+ }
+ .green{
+ transform:rotateY(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="green"></div>
+ <div class="red"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale-002.xht
new file mode 100644
index 00000000000..0456d0c63fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale-002.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/css3-transform-scale-ref-002.xht" rel="match" />
+ <meta content="box width and height will be twice larger if transform scale(2) applied" name="assert" />
+ <style type="text/css">
+ .red,
+ .green{
+ width:100px;
+ height: 100px;
+ background-color:green;
+ position: absolute;
+ top: 150px;
+ left:150px;
+ z-index:10;
+ }
+ .red{
+ background-color:red;
+ width: 200px;
+ height: 200px;
+ left:100px;
+ top:100px;
+ z-index:9;
+ }
+ .green{
+ transform:scale(2);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="red"></div>
+ <div class="green"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale.xht
new file mode 100644
index 00000000000..8404aaebdf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/css3-transform-scale.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/css3-transform-scale-ref.xht" rel="match" />
+ <meta content="box width and height will be twice larger if transform scale(2) applied" name="assert" />
+ <style type="text/css">
+ .red,
+ .green{
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ position: absolute;
+ top: 150px;
+ left: 150px;
+ z-index: 10;
+ }
+ .red{
+ background-color: red;
+ width: 200px;
+ height: 200px;
+ left: 100px;
+ top: 100px;
+ z-index:9;
+ }
+ .green{
+ transform:scale(2);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="red"></div>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/iframe-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/iframe-001.xht
new file mode 100644
index 00000000000..472331bd1b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/iframe-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: flowing an iframe that loads content with 3D transform</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks that flowing an iframe that loads content with 3D transforms in a region renders without artifacts." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/iframe-001-ref.xht" rel="match" />
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see horizontal green rectangle and no red.</p>
+
+ <iframe width="400" height="300" class="flow" frameborder="0" src="support/3d-filler.html"></iframe>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-001.xht
new file mode 100644
index 00000000000..8a3d9e5a923
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-001.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - 0px center('center' computes to '50%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'center' computes to 50% for the vertical position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 0px center;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 0px 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-002.xht
new file mode 100644
index 00000000000..00eaed47975
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-002.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - center 0px('center' computes to '50%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'center' computes to 50% for the horizontal position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: center 0px;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 0px;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-003.xht
new file mode 100644
index 00000000000..088f9c51015
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-003.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'bottom' computes to 100% for the vertical position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 50% bottom;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 100%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ top: 50px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-004.xht
new file mode 100644
index 00000000000..dc1e529c95a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-004.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - 50% top('top' computes to '0%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'top' computes to 0% for the vertical position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: 50% top;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 50% 0%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-005.xht
new file mode 100644
index 00000000000..ec7ac36930d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-005.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - left 50%('left' computes to '0%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'left' computes to 0% for the horizontal position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: left 50%;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 0% 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-006.xht
new file mode 100644
index 00000000000..92be904714a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-006.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: perspective-origin - right 50%('right' computes to '100%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" title="11. The 'perspective-origin' Property" />
+<link href="reference/ref-filled-green-100px-square.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'perspective-origin' property set 'right' computes to 100% for the horizontal position." name="assert" />
+<style>
+ div {
+ height: 100px;
+ position: absolute;
+ width: 100px;
+ }
+ #test {
+ perspective: 2px;
+ perspective-origin: right 50%;
+ }
+ #redSquare {
+ background-color: red;
+ transform: translateZ(0px);
+ }
+ #ref {
+ perspective: 2px;
+ perspective-origin: 100% 50%;
+ }
+ #greenSquare {
+ background-color: green;
+ height: 50px;
+ left: 50px;
+ top: 25px;
+ transform: translateZ(1px);
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div id="test"><div id="redSquare"></div></div>
+ <div id="ref"><div id="greenSquare"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-x.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-x.xht
new file mode 100644
index 00000000000..7eb496cb7cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-x.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:pancha0.0@gmail.com" rel="author" title="Francisca Gil" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-origin-reftest.xht" rel="match" />
+ <meta content="Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)' " name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ perspective-origin: 0px 50%;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-xy.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-xy.xht
new file mode 100644
index 00000000000..e43bd3ac9f8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-origin-xy.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:pancha0.0@gmail.com" rel="author" title="Francisca Gil" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that origin '&lt;x,y>' visually moves the objects '&lt;-x,-y>*d/(d-1)' " name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ perspective-origin: 0px 0px;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-0.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-0.xht
new file mode 100644
index 00000000000..154b74f80f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-0.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that points on the z=0 plane are unchanged" name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ }
+ .redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ transform: translateZ(0px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 25px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-negative.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-negative.xht
new file mode 100644
index 00000000000..33a330e97a9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-negative.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that the scaling is proportional to d/(d − Z) for a negative Z" name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ }
+ .redSquare {
+ position: absolute;
+ top: -25px;
+ left: -25px;
+ width: 200px;
+ height: 200px;
+ background: red;
+ transform: translateZ(-1px);
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 150px;
+ height: 150px;
+ background: green;
+ transform: translateZ(0px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-positive.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-positive.xht
new file mode 100644
index 00000000000..3eca048bd10
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/perspective-translateZ-positive.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: perspective property</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/perspective-reftest.xht" rel="match" />
+ <meta content="Asserts that the scaling is proportional to d/(d − Z) for a positive Z" name="assert" />
+ <style type="text/css">
+ .redContainer {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ perspective: 3px;
+ background: red;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 25px;
+ left: 25px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translateZ(1px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redContainer">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-notref.xht
new file mode 100644
index 00000000000..e00994742c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-notref.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="reference/2d-rotate-ref.xht" rel="mismatch" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ article, svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ article{
+ border: 10px solid green;
+ display: block;
+ height: 100px;
+ width: 100px;
+ z-index: 2;
+ cursor:pointer;
+ }
+ section article{
+ transform: rotate(30deg);
+ transform-origin: 19% 197%;
+ }
+
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <article></article>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200" xmlns="http://www.w3.org/2000/svg">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: red;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="FAIL_ME(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-ref.xht
new file mode 100644
index 00000000000..add6e9f62f8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/2d-rotate-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: CSS Transform using 2d rotate()</title>
+ <link href="http://mrkn.co/axegs" rel="author" title="Rick Hurst" />
+ <link href="reference/2d-rotate-notref.xht" rel="mismatch" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg{
+ position: absolute;
+ top: 220px;
+ left: 60px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>You should only see one block with color green, and you should not see any red</p>
+ <section>
+ <svg width="300" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" height="200" xmlns="http://www.w3.org/2000/svg">
+ <style type="text/css">
+ rect{
+ stroke-width: 10;
+ stroke: green;
+ fill: none;
+ }
+ </style>
+ <rect y="-38" x="120" width="110" transform="rotate(30)" height="110"></rect>
+ </svg>
+ </section>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/animations-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/animations-001-ref.xht
new file mode 100644
index 00000000000..abae131eff2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/animations-001-ref.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="../support/animations.css" rel="stylesheet" />
+ <style>
+ .transformed {
+ transform: rotateZ(45deg);
+ }
+ .flow {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+
+ .region {
+ width: 100px;
+ height: 100px;
+ background-color: lightblue;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a rotating green square on top of a static blue square and no red.</p>
+
+ <div class="region">
+ <div class="transformed flow rotate once">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/backface-visibility-hidden-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/backface-visibility-hidden-ref.xht
new file mode 100644
index 00000000000..3e84054a05f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/backface-visibility-hidden-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ z-index: 2;
+ }
+
+ .card {
+ transform-style: preserve-3d;
+ }
+
+ .container {
+ width: 200px;
+ height: 200px;
+ perspective: 1000;
+ transform: rotateY(45deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green retangle and no red.</p>
+ <div class="container">
+ <div class="card">
+ <div class="greenSquare face"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-001-ref.xht
new file mode 100644
index 00000000000..3bc1b0bc046
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-001-ref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <script src="../support/Three.js" type="text/javascript"></script>
+ <script src="../support/static-cube.js" type="text/javascript"></script>
+ <style>
+ .flow,
+ .region {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a cube (with blue, teal and purple sides) inside a black-bordered rectangle and no red.</p>
+
+ <div class="region">
+ <div class="flow" id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-002-ref.xht
new file mode 100644
index 00000000000..9073f507410
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/canvas3d-002-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <script src="../support/Three.js" type="text/javascript"></script>
+ <script src="../support/static-cube.js" type="text/javascript"></script>
+ <style>
+ #container {
+ width: 400px;
+ height: 300px;
+ }
+
+ .region {
+ width: 200px;
+ height: 300px;
+ margin: -250px 100px 0px 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a continuous run of text over a cube (with blue, teal and purple sides) and no red.</p>
+
+ <div id="container">
+ <!-- A WebGL <canvas> will be created here, via script (see static-cube.js) -->
+ </div>
+ <div class="region">
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa, veniam, dolorum earum molestias iusto corrupti quaerat unde. Nihil, ex, architecto enim doloremque amet ipsa distinctio quibusdam iste eveniet minima quisquam.
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-rotate-2d-3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-rotate-2d-3d-001-ref.xht
new file mode 100644
index 00000000000..0c6f959fb60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-rotate-2d-3d-001-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: 2D rotation with 3D rotation</title>
+ <link href="mailto:pdr@google.com" rel="author" title="Philip Rogers" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-06-16 -->
+ <style type="text/css">
+ .greenSquareRef {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquareRef"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-scale-nested-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-scale-nested-ref.xht
new file mode 100644
index 00000000000..00ec0f6be6a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-scale-nested-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:amolvshanbhag@yahoo.com" rel="author" title="Amol Shanbhag" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" />
+ <style type="text/css">
+ div{
+ position: absolute;
+ }
+ .greenSquare {
+
+ width: 100px;
+ height: 100px;
+ background: green;
+
+ }
+ p{
+ padding-top: 130px;
+ }
+ </style>
+</head>
+<body>
+ <div class="greenSquare"></div>
+ <p>The test passes if there is a green square and no red.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-001-ref.xht
new file mode 100644
index 00000000000..cf5df7a8561
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-001-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test Reference: skew function part 1</title>
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <style type="text/css">
+ svg {
+ top:0;
+ left:0;
+ position:absolute;
+ height: 268.778px;
+ width: 231.642px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 231.64212,268.77841 73.167806,158.54816 0,0 158.58452,110.15942 z" fill="green"></path>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-002-ref.xht
new file mode 100644
index 00000000000..3382bfd2b56
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-skew-002-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Test Reference: skew function part 2</title>
+ <link href="mailto:adrien@pachkoff.com" rel="author" title="Adrien Pachkoff" />
+ <style type="text/css">
+ div {
+ top:0px;
+ left:0px;
+ position:absolute;
+ height: 150px;
+ width: 150px;
+ background-color:green;
+ transform-origin: 0 0;
+ transform: skew(25deg, 35deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green quadrilateral and no red.</p>
+ <div> </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateX-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateX-ref.xht
new file mode 100644
index 00000000000..5a3bb413db1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateX-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms rotateX Reference</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ left: 20px;
+ position: absolute;
+ top: 35px;
+ }
+ div.greensquare {
+ background-color: green;
+ border: 5px solid black;
+ height: 120px;
+ left: 15px;
+ top: 90px;
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateY-ref.xht
new file mode 100644
index 00000000000..73bba298083
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateY-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms rotateX Reference</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ left: 10px;
+ position: absolute;
+ top: 50px;
+ }
+ div.greensquare {
+ background-color: green;
+ border: 5px solid black;
+ height: 120px;
+ left: 65px;
+ top: 45px;
+ width: 120px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square with black border around, and no any red.</p>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateZ-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateZ-ref.xht
new file mode 100644
index 00000000000..a1d33b3c292
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-rotateZ-ref.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotate3d on div element</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ height: 240px;
+ left: 70px;
+ position: absolute;
+ top: 100px;
+ width: 240px;
+ }
+ div.origin {
+ background-color: green;
+ }
+ div.redsquare {
+ background-color: red;
+ height: 60px;
+ left: 70px;
+ top: 190px;
+ width: 240px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 240px;
+ left: 160px;
+ top: 100px;
+ width: 60px;
+ transform: rotate3d(0,0,1,90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green square and no red.</p>
+ <div class="origin"></div>
+ <div class="redsquare"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-transform-style-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-transform-style-ref.xht
new file mode 100644
index 00000000000..c41aeebf6f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-3d-transform-style-ref.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="utf-8" />
+ <title>CSS Transforms Test: rotateY with transform-style on nested elements</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <style>
+ div {
+ position: absolute;
+ }
+ div.container {
+ background-color: gray;
+ height: 200px;
+ left: 65px;
+ top: 45px;
+ width: 200px;
+ }
+ div.blue {
+ background-color: blue;
+ height: 180px;
+ width: 90px;
+ left: 120px;
+ top: 55px;
+ }
+ div.greensquare {
+ background-color: green;
+ height: 180px;
+ left: 140px;
+ top: 55px;
+ width: 90px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a gray square with <b>one blue</b> and <b>one green</b> box inside, and no any red.</p>
+ <div class="container"></div>
+ <div class="blue"></div>
+ <div class="greensquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-001.xht
new file mode 100644
index 00000000000..29512d418b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color:green;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if you hover over the green square and it completely covers the red square.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-002.xht
new file mode 100644
index 00000000000..2b84afd8992
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transform-scale-ref-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference - CSS Transforms Test: transform property with scale function and move its origin</title>
+ <link href="mailto:granimalcracker@gmail.com" rel="author" title="Chris Sanborn" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ background-color:green;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if the green square completely covers the red square.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-3d-anonymous-block-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-3d-anonymous-block-ref.xht
new file mode 100644
index 00000000000..1332601f384
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-3d-anonymous-block-ref.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: Reference file</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="mailto:eoconnor@apple.com" rel="reviewer" title="Edward O'Connor" /> <!-- 2012-10-27 -->
+</head>
+<body>
+ <p>You should see three lines of text written from left to right and unmirrored.</p><p>
+ </p><div>
+ <span>Test</span>
+ <p>Test</p>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-transformlist-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-transformlist-ref.xht
new file mode 100644
index 00000000000..b6a13838b57
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css-transforms-transformlist-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: UNIQUE TEST DESCRIPTION</title>
+ <link href="mailto:cabanier@adobe.com" rel="author" title="Rik Cabanier" />
+ <style type="text/css">
+
+ #result {
+ width:100px;
+ height:100px;
+ background-color: green;
+ }
+
+ </style>
+
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="result"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-perspective-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-perspective-ref.xht
new file mode 100644
index 00000000000..3cbf882b423
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-perspective-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: transform perspective Reference</title>
+ <link href="mailto:robin.webkit@gmail.com" rel="author" title="caoqixing" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ div {
+ width: 200px;
+ height: 200px;
+ }
+ #container {
+ position: relative;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div id="container"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-rotateY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-rotateY-ref.xht
new file mode 100644
index 00000000000..5d5c4f5bde9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-rotateY-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotateY function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css3-transform#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <style type="text/css">
+ .green{
+ width: 140px;
+ height: 200px;
+ background-color:green;
+ position: absolute;
+ top: 50px;
+ left:80px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref-002.xht
new file mode 100644
index 00000000000..e96d443071b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <style type="text/css">
+ .green{
+ width: 200px;
+ height: 200px;
+ background-color: green;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref.xht
new file mode 100644
index 00000000000..1b8aa35cb7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/css3-transform-scale-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:codedancerhua@gmail.com" rel="author" title="Noah Lu" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <style type="text/css">
+ .green {
+ width: 200px;
+ height: 200px;
+ background-color: green;
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="green"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/iframe-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/iframe-001-ref.xht
new file mode 100644
index 00000000000..fc3bd86aa85
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/iframe-001-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <style>
+ .region {
+ width: 400px;
+ height: 300px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see horizontal green rectangle and no red.</p>
+
+ <div class="region">
+ <iframe width="400" height="300" class="flow" frameborder="0" src="../support/3d-filler.html"></iframe>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-origin-reftest.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-origin-reftest.xht
new file mode 100644
index 00000000000..dea006b51e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-origin-reftest.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-reftest.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-reftest.xht
new file mode 100644
index 00000000000..dea006b51e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/perspective-reftest.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:anduga@gmail.com" rel="author" title="Andres Ugarte" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ width: 150px;
+ height: 150px;
+ top: 100px;
+ left: 100px;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ref-filled-green-100px-square.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ref-filled-green-100px-square.xht
new file mode 100644
index 00000000000..726745cd2ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ref-filled-green-100px-square.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test ref-filled-green-100px-square"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <style type="text/css"><![CDATA[
+ div
+ {
+ background-color: green;
+ height: 100px;
+ width: 100px;
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-001-ref.xht
new file mode 100644
index 00000000000..19db34aa47e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-001-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-008-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-008-ref.xht
new file mode 100644
index 00000000000..aab004e44bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-008-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .square {
+ float: left;
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ margin-left: 10px;
+ color: green;
+ width: 100px;
+ height: 100px;
+ border: 1px solid black;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="square">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="square">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-010-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-010-ref.xht
new file mode 100644
index 00000000000..580dd235054
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-010-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ position: absolute;
+ left: 58px;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-alt-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-alt-ref.xht
new file mode 100644
index 00000000000..e393e082bf9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-alt-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-rect {
+ width: 100px;
+ height: 200px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div class="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-ref.xht
new file mode 100644
index 00000000000..5a6a3049a08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-013-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-square {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div class="green-square"></div>
+ <div class="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-014-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-014-ref.xht
new file mode 100644
index 00000000000..2d3ede7ac1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-014-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-016-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-016-ref.xht
new file mode 100644
index 00000000000..33bcaf38e60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-016-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 200px;
+ height: 200px;
+ margin-left: 51px;
+ background-color: green;
+ transform: perspective(600px) rotateX(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green trapezoid and no red.</p>
+ <div id="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-017-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-017-ref.xht
new file mode 100644
index 00000000000..73710ecf2af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-017-ref.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <style type="text/css">
+ #green-square {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ #blue-square {
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and a blue square below it, and no red.</p>
+ <div id="green-square"></div>
+ <div id="blue-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-018-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-018-ref.xht
new file mode 100644
index 00000000000..04be8423feb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-018-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style>
+ #vertical {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 100px;
+ transform: rotateZ(90deg);
+ }
+ #horizontal {
+ border-bottom: 20px solid green;
+ width: 100px;
+ height: 80px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green cross and no red.</p>
+ <div id="horizontal">
+ <div id="vertical">
+ XXXXXXXXX
+ </div>
+ </div>
+
+ </body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-019-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-019-ref.xht
new file mode 100644
index 00000000000..aed8324a03d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-019-ref.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style>
+ .transformed {
+ transform: rotateY(45deg);
+ transition: 2s;
+ }
+ .flow {
+ color: green;
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ .perspective {
+ perspective: 200px;
+ perspective-origin: 100% 50%;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin: 20px;
+ }
+
+
+ #failure {
+ position: absolute;
+ left: 25px;
+ width: 10px;
+ height: 112px;
+ background-color: red;
+ z-index: -1;
+ }
+
+
+
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green trapezoid and no red.</p>
+ <div id="failure"></div>
+ <div class="region perspective">
+ <div class="flow transformed">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-020-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-020-ref.xht
new file mode 100644
index 00000000000..aae13775fd8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/regions-transforms-020-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <style type="text/css">
+ .green-square {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div class="green-square"></div>
+ <div class="green-square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotateY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotateY-ref.xht
new file mode 100644
index 00000000000..2f7ab861761
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotateY-ref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:zrxldl@gmail.com" rel="author" title="Zou Rui" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .container {
+ position: relative;
+ width: 200px;
+ height: 200px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_45deg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_45deg-ref.xht
new file mode 100644
index 00000000000..e8d86371511
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_45deg-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ left:15px;
+ height: 100px;
+ width: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+ <p>45 degree rotate on y axis</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_x_45deg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_x_45deg-ref.xht
new file mode 100644
index 00000000000..42d07bcf261
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_x_45deg-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ top:15px;
+ width: 100px;
+ height: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_y_45deg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_y_45deg-ref.xht
new file mode 100644
index 00000000000..50e8fdad6c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/rotate_y_45deg-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ border:1px solid black;
+ }
+
+ .transformed {
+ position: relative;
+ left:15px;
+ height: 100px;
+ width: 70.7px;
+ background-color:green;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-optional-second-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-optional-second-ref.xht
new file mode 100644
index 00000000000..140b3fa461c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-optional-second-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-zero-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-zero-ref.xht
new file mode 100644
index 00000000000..0b1d1c6fa56
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scale-zero-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scalex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scalex-ref.xht
new file mode 100644
index 00000000000..8d31fbb0c29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scalex-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <style type="text/css">
+ .container {
+ background-color: green;
+ height: 100px;
+ width: 200px;
+ margin-left: 450px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green area, no red area.</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scaley-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scaley-ref.xht
new file mode 100644
index 00000000000..b432b2797b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/scaley-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <style type="text/css">
+ .container {
+ position: absolute;
+ border: 1px solid green;
+ height: 200px;
+ width: 100px;
+ background-color:green;
+ margin-top: 150px;
+
+ }
+
+ .hidden {
+ position: absolute;
+ border: 2px solid red;
+ height: 200px;
+ width: 100px;
+ background-color:red;
+ margin-top: 150px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green box.</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/skew-test1-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/skew-test1-ref.xht
new file mode 100644
index 00000000000..8e5a886eca8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/skew-test1-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <meta charset="utf-8" />
+ <title>Testing 1 - skew()</title>
+ <link href="mailto:mymygo@gmail.com" rel="author" title="Myriam Goude" />
+ <meta content="svg" name="flags" />
+ <style>
+
+ h4 {clear:both;}
+
+ /* Test 1 - skew on block types */
+
+ svg {
+ position:absolute;
+ }
+
+ </style>
+</head>
+<body>
+
+ <h3>
+ Test 1 - Tests with degrees on block elements.
+ </h3>
+ <h4>
+ There should be a green block on the page.
+ </h4>
+ <svg xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <polygon style="fill:lime" points="0,0 150,55 235,205 88,150"></polygon>
+ </svg>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-green.png
new file mode 100644
index 00000000000..b98ca0ba0a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-lime.png
new file mode 100644
index 00000000000..cb397fb090e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-maroon.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-maroon.png
new file mode 100644
index 00000000000..3f86b072195
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-maroon.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-navy.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-navy.png
new file mode 100644
index 00000000000..9b9a03955ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-navy.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-red.png
new file mode 100644
index 00000000000..6bd73ac1018
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-white.png
new file mode 100644
index 00000000000..dd43faec54a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/1x1-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/3d-filler.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/3d-filler.html
new file mode 100644
index 00000000000..11e7649eb08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/3d-filler.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+ <meta charset="UTF-8">
+ <title>3D transformed Lorem Ipsum</title>
+ <style>
+ body > p {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ color: green;
+ float: left;
+ position: relative;
+ }
+ .transformed {
+ transform: rotateX(0.001deg) rotateZ(-90deg);
+ transform-origin: top center;
+ }
+ .front {
+ z-index: 10;
+ }
+ .back {
+ z-index: 0;
+ }
+ .marker {
+ color: red;
+ }
+ </style>
+</head>
+<body>
+ <p class="transformed front">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </p>
+ <p class="marker back">
+ xx<br>
+ xx
+ </p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-gg-rr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-gg-rr.png
new file mode 100644
index 00000000000..84f5b2a4f1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-gg-rr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-green.png
new file mode 100644
index 00000000000..b3c8cf3eb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-red.png
new file mode 100644
index 00000000000..823f125b8e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/60x60-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/Three.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/Three.js
new file mode 100644
index 00000000000..60747148474
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/Three.js
@@ -0,0 +1,682 @@
+// Three.js r44 - http://github.com/mrdoob/three.js
+var THREE=THREE||{};if(!window.Int32Array)window.Int32Array=Array,window.Float32Array=Array;THREE.Color=function(b){b!==void 0&&this.setHex(b);return this};
+THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(b){this.r=b.r;this.g=b.g;this.b=b.b;return this},setRGB:function(b,c,e){this.r=b;this.g=c;this.b=e;return this},setHSV:function(b,c,e){var f,h,m;if(e==0)this.r=this.g=this.b=0;else switch(f=Math.floor(b*6),h=b*6-f,b=e*(1-c),m=e*(1-c*h),c=e*(1-c*(1-h)),f){case 1:this.r=m;this.g=e;this.b=b;break;case 2:this.r=b;this.g=e;this.b=c;break;case 3:this.r=b;this.g=m;this.b=e;break;case 4:this.r=c;this.g=b;this.b=e;break;case 5:this.r=
+e;this.g=b;this.b=m;break;case 6:case 0:this.r=e,this.g=c,this.b=b}return this},setHex:function(b){b=Math.floor(b);this.r=(b>>16&255)/255;this.g=(b>>8&255)/255;this.b=(b&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};
+THREE.Vector2=function(b,c){this.x=b||0;this.y=c||0};
+THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(b,c){this.x=b;this.y=c;return this},copy:function(b){this.x=b.x;this.y=b.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;return this},
+divideScalar:function(b){b?(this.x/=b,this.y/=b):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){var c=this.x-b.x,b=this.y-b.y;return c*c+b*b},setLength:function(b){return this.normalize().multiplyScalar(b)},
+equals:function(b){return b.x==this.x&&b.y==this.y}};THREE.Vector3=function(b,c,e){this.x=b||0;this.y=c||0;this.z=e||0};
+THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(b,c,e){this.x=b;this.y=c;this.z=e;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;return this},addScalar:function(b){this.x+=b;this.y+=b;this.z+=b;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=
+b.z-c.z;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;return this},multiply:function(b,c){this.x=b.x*c.x;this.y=b.y*c.y;this.z=b.z*c.z;return this},multiplySelf:function(b){this.x*=b.x;this.y*=b.y;this.z*=b.z;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;return this},divideSelf:function(b){this.x/=b.x;this.y/=b.y;this.z/=b.z;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b):this.set(0,0,0);return this},negate:function(){return this.multiplyScalar(-1)},
+dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},cross:function(b,c){this.x=b.y*c.z-b.z*c.y;this.y=b.z*c.x-b.x*c.z;this.z=b.x*c.y-b.y*c.x;return this},crossSelf:function(b){return this.set(this.y*
+b.z-this.z*b.y,this.z*b.x-this.x*b.z,this.x*b.y-this.y*b.x)},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){return(new THREE.Vector3).sub(this,b).lengthSq()},setPositionFromMatrix:function(b){this.x=b.n14;this.y=b.n24;this.z=b.n34},setRotationFromMatrix:function(b){var c=Math.cos(this.y);this.y=Math.asin(b.n13);Math.abs(c)>1.0E-5?(this.x=Math.atan2(-b.n23/c,b.n33/c),this.z=Math.atan2(-b.n12/c,b.n11/c)):(this.x=0,this.z=Math.atan2(b.n21,b.n22))},isZero:function(){return this.lengthSq()<
+1.0E-4}};THREE.Vector4=function(b,c,e,f){this.x=b||0;this.y=c||0;this.z=e||0;this.w=f||1};
+THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w||1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;this.w=b.w+c.w;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;this.w+=b.w;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=b.z-c.z;this.w=
+b.w-c.w;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;this.w-=b.w;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;this.w*=b;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b,this.w/=b):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z+this.w*b.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},
+normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},lerpSelf:function(b,c){this.x+=(b.x-this.x)*c;this.y+=(b.y-this.y)*c;this.z+=(b.z-this.z)*c;this.w+=(b.w-this.w)*c;return this}};THREE.Ray=function(b,c){this.origin=b||new THREE.Vector3;this.direction=c||new THREE.Vector3};
+THREE.Ray.prototype={constructor:THREE.Ray,intersectScene:function(b){return this.intersectObjects(b.objects)},intersectObjects:function(b){var c,e,f=[];c=0;for(e=b.length;c<e;c++)f=f.concat(this.intersectObject(b[c]));f.sort(function(b,e){return b.distance-e.distance});return f},intersectObject:function(b){function c(b,e,c){var f;f=c.clone().subSelf(b).dot(e);if(f<=0)return null;b=b.clone().addSelf(e.clone().multiplyScalar(f));return c.distanceTo(b)}function e(b,e,c,f){var f=f.clone().subSelf(e),
+c=c.clone().subSelf(e),h=b.clone().subSelf(e),b=f.dot(f),e=f.dot(c),f=f.dot(h),k=c.dot(c),c=c.dot(h),h=1/(b*k-e*e),k=(k*f-e*c)*h,b=(b*c-e*f)*h;return k>0&&b>0&&k+b<1}if(b instanceof THREE.Particle){var f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.scale.x)return[];return[{distance:f,point:b.position,face:null,object:b}]}else if(b instanceof THREE.Mesh){f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.geometry.boundingSphere.radius*Math.max(b.scale.x,
+Math.max(b.scale.y,b.scale.z)))return[];var h,m,k,n,u,p,v,t,x,w,z=b.geometry,y=z.vertices,B=[],f=0;for(h=z.faces.length;f<h;f++)if(m=z.faces[f],x=this.origin.clone(),w=this.direction.clone(),p=b.matrixWorld,k=p.multiplyVector3(m.centroid.clone()).subSelf(x),t=k.dot(w),!(t<=0)&&(k=p.multiplyVector3(y[m.a].position.clone()),n=p.multiplyVector3(y[m.b].position.clone()),u=p.multiplyVector3(y[m.c].position.clone()),p=m instanceof THREE.Face4?p.multiplyVector3(y[m.d].position.clone()):null,v=b.matrixRotationWorld.multiplyVector3(m.normal.clone()),
+t=w.dot(v),b.doubleSided||(b.flipSided?t>0:t<0)))if(t=v.dot((new THREE.Vector3).sub(k,x))/t,x=x.addSelf(w.multiplyScalar(t)),m instanceof THREE.Face3)e(x,k,n,u)&&(m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m));else if(m instanceof THREE.Face4&&(e(x,k,n,p)||e(x,n,u,p)))m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m);B.sort(function(b,e){return b.distance-e.distance});return B}else return[]}};
+THREE.Rectangle=function(){function b(){m=f-c;k=h-e}var c,e,f,h,m,k,n=!0;this.getX=function(){return c};this.getY=function(){return e};this.getWidth=function(){return m};this.getHeight=function(){return k};this.getLeft=function(){return c};this.getTop=function(){return e};this.getRight=function(){return f};this.getBottom=function(){return h};this.set=function(k,m,v,t){n=!1;c=k;e=m;f=v;h=t;b()};this.addPoint=function(k,m){n?(n=!1,c=k,e=m,f=k,h=m):(c=c<k?c:k,e=e<m?e:m,f=f>k?f:k,h=h>m?h:m);b()};this.add3Points=
+function(k,m,v,t,x,w){n?(n=!1,c=k<v?k<x?k:x:v<x?v:x,e=m<t?m<w?m:w:t<w?t:w,f=k>v?k>x?k:x:v>x?v:x,h=m>t?m>w?m:w:t>w?t:w):(c=k<v?k<x?k<c?k:c:x<c?x:c:v<x?v<c?v:c:x<c?x:c,e=m<t?m<w?m<e?m:e:w<e?w:e:t<w?t<e?t:e:w<e?w:e,f=k>v?k>x?k>f?k:f:x>f?x:f:v>x?v>f?v:f:x>f?x:f,h=m>t?m>w?m>h?m:h:w>h?w:h:t>w?t>h?t:h:w>h?w:h);b()};this.addRectangle=function(k){n?(n=!1,c=k.getLeft(),e=k.getTop(),f=k.getRight(),h=k.getBottom()):(c=c<k.getLeft()?c:k.getLeft(),e=e<k.getTop()?e:k.getTop(),f=f>k.getRight()?f:k.getRight(),h=h>
+k.getBottom()?h:k.getBottom());b()};this.inflate=function(k){c-=k;e-=k;f+=k;h+=k;b()};this.minSelf=function(k){c=c>k.getLeft()?c:k.getLeft();e=e>k.getTop()?e:k.getTop();f=f<k.getRight()?f:k.getRight();h=h<k.getBottom()?h:k.getBottom();b()};this.instersects=function(b){return Math.min(f,b.getRight())-Math.max(c,b.getLeft())>=0&&Math.min(h,b.getBottom())-Math.max(e,b.getTop())>=0};this.empty=function(){n=!0;h=f=e=c=0;b()};this.isEmpty=function(){return n}};THREE.Matrix3=function(){this.m=[]};
+THREE.Matrix3.prototype={constructor:THREE.Matrix3,transpose:function(){var b,c=this.m;b=c[1];c[1]=c[3];c[3]=b;b=c[2];c[2]=c[6];c[6]=b;b=c[5];c[5]=c[7];c[7]=b;return this},transposeIntoArray:function(b){var c=this.m;b[0]=c[0];b[1]=c[3];b[2]=c[6];b[3]=c[1];b[4]=c[4];b[5]=c[7];b[6]=c[2];b[7]=c[5];b[8]=c[8];return this}};THREE.Matrix4=function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.set(b||1,c||0,e||0,f||0,h||0,m||1,k||0,n||0,u||0,p||0,v||1,t||0,x||0,w||0,z||0,y||1);this.flat=Array(16);this.m33=new THREE.Matrix3};
+THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.n11=b;this.n12=c;this.n13=e;this.n14=f;this.n21=h;this.n22=m;this.n23=k;this.n24=n;this.n31=u;this.n32=p;this.n33=v;this.n34=t;this.n41=x;this.n42=w;this.n43=z;this.n44=y;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(b){this.set(b.n11,b.n12,b.n13,b.n14,b.n21,b.n22,b.n23,b.n24,b.n31,b.n32,b.n33,b.n34,b.n41,b.n42,b.n43,b.n44);return this},lookAt:function(b,
+c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;m.sub(b,c).normalize();if(m.length()===0)m.z=1;f.cross(e,m).normalize();f.length()===0&&(m.x+=1.0E-4,f.cross(e,m).normalize());h.cross(m,f).normalize();this.n11=f.x;this.n12=h.x;this.n13=m.x;this.n21=f.y;this.n22=h.y;this.n23=m.y;this.n31=f.z;this.n32=h.z;this.n33=m.z;return this},multiplyVector3:function(b){var c=b.x,e=b.y,f=b.z,h=1/(this.n41*c+this.n42*e+this.n43*f+this.n44);b.x=(this.n11*c+this.n12*e+this.n13*f+this.n14)*h;
+b.y=(this.n21*c+this.n22*e+this.n23*f+this.n24)*h;b.z=(this.n31*c+this.n32*e+this.n33*f+this.n34)*h;return b},multiplyVector4:function(b){var c=b.x,e=b.y,f=b.z,h=b.w;b.x=this.n11*c+this.n12*e+this.n13*f+this.n14*h;b.y=this.n21*c+this.n22*e+this.n23*f+this.n24*h;b.z=this.n31*c+this.n32*e+this.n33*f+this.n34*h;b.w=this.n41*c+this.n42*e+this.n43*f+this.n44*h;return b},rotateAxis:function(b){var c=b.x,e=b.y,f=b.z;b.x=c*this.n11+e*this.n12+f*this.n13;b.y=c*this.n21+e*this.n22+f*this.n23;b.z=c*this.n31+
+e*this.n32+f*this.n33;b.normalize();return b},crossVector:function(b){var c=new THREE.Vector4;c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=b.w?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44,G=c.n11,H=c.n12,
+E=c.n13,N=c.n14,F=c.n21,I=c.n22,C=c.n23,K=c.n24,U=c.n31,L=c.n32,O=c.n33,S=c.n34,P=c.n41,o=c.n42,W=c.n43,na=c.n44;this.n11=e*G+f*F+h*U+m*P;this.n12=e*H+f*I+h*L+m*o;this.n13=e*E+f*C+h*O+m*W;this.n14=e*N+f*K+h*S+m*na;this.n21=k*G+n*F+u*U+p*P;this.n22=k*H+n*I+u*L+p*o;this.n23=k*E+n*C+u*O+p*W;this.n24=k*N+n*K+u*S+p*na;this.n31=v*G+t*F+x*U+w*P;this.n32=v*H+t*I+x*L+w*o;this.n33=v*E+t*C+x*O+w*W;this.n34=v*N+t*K+x*S+w*na;this.n41=z*G+y*F+B*U+D*P;this.n42=z*H+y*I+B*L+D*o;this.n43=z*E+y*C+B*O+D*W;this.n44=z*
+N+y*K+B*S+D*na;return this},multiplyToArray:function(b,c,e){this.multiply(b,c);e[0]=this.n11;e[1]=this.n21;e[2]=this.n31;e[3]=this.n41;e[4]=this.n12;e[5]=this.n22;e[6]=this.n32;e[7]=this.n42;e[8]=this.n13;e[9]=this.n23;e[10]=this.n33;e[11]=this.n43;e[12]=this.n14;e[13]=this.n24;e[14]=this.n34;e[15]=this.n44;return this},multiplySelf:function(b){this.multiply(this,b);return this},multiplyScalar:function(b){this.n11*=b;this.n12*=b;this.n13*=b;this.n14*=b;this.n21*=b;this.n22*=b;this.n23*=b;this.n24*=
+b;this.n31*=b;this.n32*=b;this.n33*=b;this.n34*=b;this.n41*=b;this.n42*=b;this.n43*=b;this.n44*=b;return this},determinant:function(){var b=this.n11,c=this.n12,e=this.n13,f=this.n14,h=this.n21,m=this.n22,k=this.n23,n=this.n24,u=this.n31,p=this.n32,v=this.n33,t=this.n34,x=this.n41,w=this.n42,z=this.n43,y=this.n44;return f*k*p*x-e*n*p*x-f*m*v*x+c*n*v*x+e*m*t*x-c*k*t*x-f*k*u*w+e*n*u*w+f*h*v*w-b*n*v*w-e*h*t*w+b*k*t*w+f*m*u*z-c*n*u*z-f*h*p*z+b*n*p*z+c*h*t*z-b*m*t*z-e*m*u*y+c*k*u*y+e*h*p*y-b*k*p*y-c*h*
+v*y+b*m*v*y},transpose:function(){var b;b=this.n21;this.n21=this.n12;this.n12=b;b=this.n31;this.n31=this.n13;this.n13=b;b=this.n32;this.n32=this.n23;this.n23=b;b=this.n41;this.n41=this.n14;this.n14=b;b=this.n42;this.n42=this.n24;this.n24=b;b=this.n43;this.n43=this.n34;this.n43=b;return this},clone:function(){var b=new THREE.Matrix4;b.n11=this.n11;b.n12=this.n12;b.n13=this.n13;b.n14=this.n14;b.n21=this.n21;b.n22=this.n22;b.n23=this.n23;b.n24=this.n24;b.n31=this.n31;b.n32=this.n32;b.n33=this.n33;b.n34=
+this.n34;b.n41=this.n41;b.n42=this.n42;b.n43=this.n43;b.n44=this.n44;return b},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(b){b[0]=
+this.n11;b[1]=this.n21;b[2]=this.n31;b[3]=this.n41;b[4]=this.n12;b[5]=this.n22;b[6]=this.n32;b[7]=this.n42;b[8]=this.n13;b[9]=this.n23;b[10]=this.n33;b[11]=this.n43;b[12]=this.n14;b[13]=this.n24;b[14]=this.n34;b[15]=this.n44;return b},flattenToArrayOffset:function(b,c){b[c]=this.n11;b[c+1]=this.n21;b[c+2]=this.n31;b[c+3]=this.n41;b[c+4]=this.n12;b[c+5]=this.n22;b[c+6]=this.n32;b[c+7]=this.n42;b[c+8]=this.n13;b[c+9]=this.n23;b[c+10]=this.n33;b[c+11]=this.n43;b[c+12]=this.n14;b[c+13]=this.n24;b[c+14]=
+this.n34;b[c+15]=this.n44;return b},setTranslation:function(b,c,e){this.set(1,0,0,b,0,1,0,c,0,0,1,e,0,0,0,1);return this},setScale:function(b,c,e){this.set(b,0,0,0,0,c,0,0,0,0,e,0,0,0,0,1);return this},setRotationX:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(1,0,0,0,0,c,-b,0,0,b,c,0,0,0,0,1);return this},setRotationY:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,0,b,0,0,1,0,0,-b,0,c,0,0,0,0,1);return this},setRotationZ:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,-b,0,
+0,b,c,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(b,c){var e=Math.cos(c),f=Math.sin(c),h=1-e,m=b.x,k=b.y,n=b.z,u=h*m,p=h*k;this.set(u*m+e,u*k-f*n,u*n+f*k,0,u*k+f*n,p*k+e,p*n-f*m,0,u*n-f*k,p*n+f*m,h*n*n+e,0,0,0,0,1);return this},setPosition:function(b){this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},getPosition:function(){if(!this.position)this.position=new THREE.Vector3;this.position.set(this.n14,this.n24,this.n34);return this.position},getColumnX:function(){if(!this.columnX)this.columnX=
+new THREE.Vector3;this.columnX.set(this.n11,this.n21,this.n31);return this.columnX},getColumnY:function(){if(!this.columnY)this.columnY=new THREE.Vector3;this.columnY.set(this.n12,this.n22,this.n32);return this.columnY},getColumnZ:function(){if(!this.columnZ)this.columnZ=new THREE.Vector3;this.columnZ.set(this.n13,this.n23,this.n33);return this.columnZ},setRotationFromEuler:function(b,c){var e=b.x,f=b.y,h=b.z,m=Math.cos(e),e=Math.sin(e),k=Math.cos(f),f=Math.sin(f),n=Math.cos(h),h=Math.sin(h);switch(c){case "YXZ":var u=
+k*n,p=k*h,v=f*n,t=f*h;this.n11=u+t*e;this.n12=v*e-p;this.n13=m*f;this.n21=m*h;this.n22=m*n;this.n23=-e;this.n31=p*e-v;this.n32=t+u*e;this.n33=m*k;break;case "ZXY":u=k*n;p=k*h;v=f*n;t=f*h;this.n11=u-t*e;this.n12=-m*h;this.n13=v+p*e;this.n21=p+v*e;this.n22=m*n;this.n23=t-u*e;this.n31=-m*f;this.n32=e;this.n33=m*k;break;case "ZYX":u=m*n;p=m*h;v=e*n;t=e*h;this.n11=k*n;this.n12=v*f-p;this.n13=u*f+t;this.n21=k*h;this.n22=t*f+u;this.n23=p*f-v;this.n31=-f;this.n32=e*k;this.n33=m*k;break;case "YZX":u=m*k;p=
+m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=t-u*h;this.n13=v*h+p;this.n21=h;this.n22=m*n;this.n23=-e*n;this.n31=-f*n;this.n32=p*h+v;this.n33=u-t*h;break;case "XZY":u=m*k;p=m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=-h;this.n13=f*n;this.n21=u*h+t;this.n22=m*n;this.n23=p*h-v;this.n31=v*h-p;this.n32=e*n;this.n33=t*h+u;break;default:u=m*n,p=m*h,v=e*n,t=e*h,this.n11=k*n,this.n12=-k*h,this.n13=f,this.n21=p+v*f,this.n22=u-t*f,this.n23=-e*k,this.n31=t-u*f,this.n32=v+p*f,this.n33=m*k}return this},setRotationFromQuaternion:function(b){var c=
+b.x,e=b.y,f=b.z,h=b.w,m=c+c,k=e+e,n=f+f,b=c*m,u=c*k;c*=n;var p=e*k;e*=n;f*=n;m*=h;k*=h;h*=n;this.n11=1-(p+f);this.n12=u-h;this.n13=c+k;this.n21=u+h;this.n22=1-(b+f);this.n23=e-m;this.n31=c-k;this.n32=e+m;this.n33=1-(b+p);return this},scale:function(b){var c=b.x,e=b.y,b=b.z;this.n11*=c;this.n12*=e;this.n13*=b;this.n21*=c;this.n22*=e;this.n23*=b;this.n31*=c;this.n32*=e;this.n33*=b;this.n41*=c;this.n42*=e;this.n43*=b;return this},compose:function(b,c,e){var f=THREE.Matrix4.__m1,h=THREE.Matrix4.__m2;
+f.identity();f.setRotationFromQuaternion(c);h.setScale(e.x,e.y,e.z);this.multiply(f,h);this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},decompose:function(b,c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;f.set(this.n11,this.n21,this.n31);h.set(this.n12,this.n22,this.n32);m.set(this.n13,this.n23,this.n33);b=b instanceof THREE.Vector3?b:new THREE.Vector3;c=c instanceof THREE.Quaternion?c:new THREE.Quaternion;e=e instanceof THREE.Vector3?e:new THREE.Vector3;e.x=f.length();
+e.y=h.length();e.z=m.length();b.x=this.n14;b.y=this.n24;b.z=this.n34;f=THREE.Matrix4.__m1;f.copy(this);f.n11/=e.x;f.n21/=e.x;f.n31/=e.x;f.n12/=e.y;f.n22/=e.y;f.n32/=e.y;f.n13/=e.z;f.n23/=e.z;f.n33/=e.z;c.setFromRotationMatrix(f);return[b,c,e]},extractPosition:function(b){this.n14=b.n14;this.n24=b.n24;this.n34=b.n34},extractRotation:function(b,c){var e=1/c.x,f=1/c.y,h=1/c.z;this.n11=b.n11*e;this.n21=b.n21*e;this.n31=b.n31*e;this.n12=b.n12*f;this.n22=b.n22*f;this.n32=b.n32*f;this.n13=b.n13*h;this.n23=
+b.n23*h;this.n33=b.n33*h}};
+THREE.Matrix4.makeInvert=function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44;c===void 0&&(c=new THREE.Matrix4);c.n11=u*w*y-p*x*y+p*t*B-n*w*B-u*t*D+n*x*D;c.n12=m*x*y-h*w*y-m*t*B+f*w*B+h*t*D-f*x*D;c.n13=h*p*y-m*u*y+m*n*B-f*p*B-h*n*D+f*u*D;c.n14=m*u*t-h*p*t-m*n*x+f*p*x+h*n*w-f*u*w;c.n21=p*x*z-u*w*z-p*v*B+k*w*B+u*v*D-k*x*D;c.n22=h*w*z-m*x*z+m*v*B-e*w*B-h*v*D+e*x*D;c.n23=m*u*z-h*p*z-m*k*B+e*p*B+h*k*D-e*u*D;c.n24=
+h*p*v-m*u*v+m*k*x-e*p*x-h*k*w+e*u*w;c.n31=n*w*z-p*t*z+p*v*y-k*w*y-n*v*D+k*t*D;c.n32=m*t*z-f*w*z-m*v*y+e*w*y+f*v*D-e*t*D;c.n33=h*p*z-m*n*z+m*k*y-e*p*y-f*k*D+e*n*D;c.n34=m*n*v-f*p*v-m*k*t+e*p*t+f*k*w-e*n*w;c.n41=u*t*z-n*x*z-u*v*y+k*x*y+n*v*B-k*t*B;c.n42=f*x*z-h*t*z+h*v*y-e*x*y-f*v*B+e*t*B;c.n43=h*n*z-f*u*z-h*k*y+e*u*y+f*k*B-e*n*B;c.n44=f*u*v-h*n*v+h*k*t-e*u*t-f*k*x+e*n*x;c.multiplyScalar(1/b.determinant());return c};
+THREE.Matrix4.makeInvert3x3=function(b){var c=b.m33,e=c.m,f=b.n33*b.n22-b.n32*b.n23,h=-b.n33*b.n21+b.n31*b.n23,m=b.n32*b.n21-b.n31*b.n22,k=-b.n33*b.n12+b.n32*b.n13,n=b.n33*b.n11-b.n31*b.n13,u=-b.n32*b.n11+b.n31*b.n12,p=b.n23*b.n12-b.n22*b.n13,v=-b.n23*b.n11+b.n21*b.n13,t=b.n22*b.n11-b.n21*b.n12,b=b.n11*f+b.n21*k+b.n31*p;b==0&&console.error("THREE.Matrix4.makeInvert3x3: Matrix not invertible.");b=1/b;e[0]=b*f;e[1]=b*h;e[2]=b*m;e[3]=b*k;e[4]=b*n;e[5]=b*u;e[6]=b*p;e[7]=b*v;e[8]=b*t;return c};
+THREE.Matrix4.makeFrustum=function(b,c,e,f,h,m){var k;k=new THREE.Matrix4;k.n11=2*h/(c-b);k.n12=0;k.n13=(c+b)/(c-b);k.n14=0;k.n21=0;k.n22=2*h/(f-e);k.n23=(f+e)/(f-e);k.n24=0;k.n31=0;k.n32=0;k.n33=-(m+h)/(m-h);k.n34=-2*m*h/(m-h);k.n41=0;k.n42=0;k.n43=-1;k.n44=0;return k};THREE.Matrix4.makePerspective=function(b,c,e,f){var h,b=e*Math.tan(b*Math.PI/360);h=-b;return THREE.Matrix4.makeFrustum(h*c,b*c,h,b,e,f)};
+THREE.Matrix4.makeOrtho=function(b,c,e,f,h,m){var k,n,u,p;k=new THREE.Matrix4;n=c-b;u=e-f;p=m-h;k.n11=2/n;k.n12=0;k.n13=0;k.n14=-((c+b)/n);k.n21=0;k.n22=2/u;k.n23=0;k.n24=-((e+f)/u);k.n31=0;k.n32=0;k.n33=-2/p;k.n34=-((m+h)/p);k.n41=0;k.n42=0;k.n43=0;k.n44=1;return k};THREE.Matrix4.__v1=new THREE.Vector3;THREE.Matrix4.__v2=new THREE.Vector3;THREE.Matrix4.__v3=new THREE.Vector3;THREE.Matrix4.__m1=new THREE.Matrix4;THREE.Matrix4.__m2=new THREE.Matrix4;
+THREE.Object3D=function(){this.id=THREE.Object3DCount++;this.name="";this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder="XYZ";this.scale=new THREE.Vector3(1,1,1);this.flipSided=this.doubleSided=this.dynamic=!1;this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
+!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.boundRadius=0;this.boundRadiusScale=1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
+THREE.Object3D.prototype={constructor:THREE.Object3D,translate:function(b,c){this.matrix.rotateAxis(c);this.position.addSelf(c.multiplyScalar(b))},translateX:function(b){this.translate(b,this._vector.set(1,0,0))},translateY:function(b){this.translate(b,this._vector.set(0,1,0))},translateZ:function(b){this.translate(b,this._vector.set(0,0,1))},lookAt:function(b){this.matrix.lookAt(b,this.position,this.up);this.rotationAutoUpdate&&this.rotation.setRotationFromMatrix(this.matrix)},addChild:function(b){if(this.children.indexOf(b)===
+-1){b.parent!==void 0&&b.parent.removeChild(b);b.parent=this;this.children.push(b);for(var c=this;c.parent!==void 0;)c=c.parent;c!==void 0&&c instanceof THREE.Scene&&c.addChildRecurse(b)}},removeChild:function(b){var c=this.children.indexOf(b);if(c!==-1)b.parent=void 0,this.children.splice(c,1)},getChildByName:function(b,c){var e,f,h;e=0;for(f=this.children.length;e<f;e++){h=this.children[e];if(h.name===b)return h;if(c&&(h=h.getChildByName(b,c),h!==void 0))return h}},updateMatrix:function(){this.matrix.setPosition(this.position);
+this.useQuaternion?this.matrix.setRotationFromQuaternion(this.quaternion):this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder);if(this.scale.x!==1||this.scale.y!==1||this.scale.z!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,Math.max(this.scale.y,this.scale.z));this.matrixWorldNeedsUpdate=!0},update:function(b,c,e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||c)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),
+this.matrixRotationWorld.extractRotation(this.matrixWorld,this.scale),this.matrixWorldNeedsUpdate=!1,c=!0;for(var b=0,f=this.children.length;b<f;b++)this.children[b].update(this.matrixWorld,c,e)}};THREE.Object3DCount=0;
+THREE.Projector=function(){function b(){var b=u[n]=u[n]||new THREE.RenderableVertex;n++;return b}function c(b,e){return e.z-b.z}function e(b,e){var c=0,f=1,k=b.z+b.w,h=e.z+e.w,m=-b.z+b.w,n=-e.z+e.w;return k>=0&&h>=0&&m>=0&&n>=0?!0:k<0&&h<0||m<0&&n<0?!1:(k<0?c=Math.max(c,k/(k-h)):h<0&&(f=Math.min(f,k/(k-h))),m<0?c=Math.max(c,m/(m-n)):n<0&&(f=Math.min(f,m/(m-n))),f<c?!1:(b.lerpSelf(e,c),e.lerpSelf(b,1-f),!0))}var f,h,m=[],k,n,u=[],p,v,t=[],x,w=[],z,y,B=[],D,G,H=[],E=[],N=[],F=new THREE.Vector4,I=new THREE.Vector4,
+C=new THREE.Matrix4,K=new THREE.Matrix4,U=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],L=new THREE.Vector4,O=new THREE.Vector4;this.projectVector=function(b,e){C.multiply(e.projectionMatrix,e.matrixWorldInverse);C.multiplyVector3(b);return b};this.unprojectVector=function(b,e){C.multiply(e.matrixWorld,THREE.Matrix4.makeInvert(e.projectionMatrix));C.multiplyVector3(b);return b};this.projectObjects=function(b,e,k){var n,u;h=E.length=0;
+n=b.objects;b=0;for(e=n.length;b<e;b++){u=n[b];var w;if(!(w=!u.visible))if(w=u instanceof THREE.Mesh)if(w=u.frustumCulled){a:{w=void 0;for(var t=u.matrixWorld,p=-u.geometry.boundingSphere.radius*Math.max(u.scale.x,Math.max(u.scale.y,u.scale.z)),v=0;v<6;v++)if(w=U[v].x*t.n14+U[v].y*t.n24+U[v].z*t.n34+U[v].w,w<=p){w=!1;break a}w=!0}w=!w}if(!w)w=m[h]=m[h]||new THREE.RenderableObject,h++,f=w,F.copy(u.position),C.multiplyVector3(F),f.object=u,f.z=F.z,E.push(f)}k&&E.sort(c);return E};this.projectScene=
+function(f,h,m){var E=h.near,F=h.far,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa,V,pa,va,ra;G=y=x=v=N.length=0;h.matrixAutoUpdate&&h.update(void 0,!0);f.update(void 0,!1,h);C.multiply(h.projectionMatrix,h.matrixWorldInverse);U[0].set(C.n41-C.n11,C.n42-C.n12,C.n43-C.n13,C.n44-C.n14);U[1].set(C.n41+C.n11,C.n42+C.n12,C.n43+C.n13,C.n44+C.n14);U[2].set(C.n41+C.n21,C.n42+C.n22,C.n43+C.n23,C.n44+C.n24);U[3].set(C.n41-C.n21,C.n42-C.n22,C.n43-C.n23,C.n44-C.n24);U[4].set(C.n41-C.n31,C.n42-C.n32,C.n43-C.n33,C.n44-C.n34);
+U[5].set(C.n41+C.n31,C.n42+C.n32,C.n43+C.n33,C.n44+C.n34);for(R=0;R<6;R++)ca=U[R],ca.divideScalar(Math.sqrt(ca.x*ca.x+ca.y*ca.y+ca.z*ca.z));ca=this.projectObjects(f,h,!0);f=0;for(R=ca.length;f<R;f++)if(X=ca[f].object,X.visible)if(ja=X.matrixWorld,ea=X.matrixRotationWorld,qa=X.materials,V=X.overdraw,n=0,X instanceof THREE.Mesh){pa=X.geometry;ma=pa.vertices;va=pa.faces;pa=pa.faceVertexUvs;ia=0;for(aa=ma.length;ia<aa;ia++)k=b(),k.positionWorld.copy(ma[ia].position),ja.multiplyVector3(k.positionWorld),
+k.positionScreen.copy(k.positionWorld),C.multiplyVector4(k.positionScreen),k.positionScreen.x/=k.positionScreen.w,k.positionScreen.y/=k.positionScreen.w,k.visible=k.positionScreen.z>E&&k.positionScreen.z<F;ma=0;for(ia=va.length;ma<ia;ma++){aa=va[ma];if(aa instanceof THREE.Face3)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],fa.visible&&ga.visible&&da.visible&&(X.doubleSided||X.flipSided!=(da.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-(da.positionScreen.y-fa.positionScreen.y)*
+(ga.positionScreen.x-fa.positionScreen.x)<0))$=t[v]=t[v]||new THREE.RenderableFace3,v++,p=$,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da);else continue;else if(aa instanceof THREE.Face4)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],$=u[aa.d],fa.visible&&ga.visible&&da.visible&&$.visible&&(X.doubleSided||X.flipSided!=(($.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-($.positionScreen.y-fa.positionScreen.y)*(ga.positionScreen.x-fa.positionScreen.x)<0||(ga.positionScreen.x-da.positionScreen.x)*
+($.positionScreen.y-da.positionScreen.y)-(ga.positionScreen.y-da.positionScreen.y)*($.positionScreen.x-da.positionScreen.x)<0)))ra=w[x]=w[x]||new THREE.RenderableFace4,x++,p=ra,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da),p.v4.copy($);else continue;p.normalWorld.copy(aa.normal);ea.multiplyVector3(p.normalWorld);p.centroidWorld.copy(aa.centroid);ja.multiplyVector3(p.centroidWorld);p.centroidScreen.copy(p.centroidWorld);C.multiplyVector3(p.centroidScreen);da=aa.vertexNormals;fa=0;for(ga=da.length;fa<ga;fa++)$=
+p.vertexNormalsWorld[fa],$.copy(da[fa]),ea.multiplyVector3($);fa=0;for(ga=pa.length;fa<ga;fa++)if(ra=pa[fa][ma]){da=0;for($=ra.length;da<$;da++)p.uvs[fa][da]=ra[da]}p.meshMaterials=qa;p.faceMaterials=aa.materials;p.overdraw=V;p.z=p.centroidScreen.z;N.push(p)}}else if(X instanceof THREE.Line){K.multiply(C,ja);ma=X.geometry.vertices;fa=b();fa.positionScreen.copy(ma[0].position);K.multiplyVector4(fa.positionScreen);ia=1;for(aa=ma.length;ia<aa;ia++)if(fa=b(),fa.positionScreen.copy(ma[ia].position),K.multiplyVector4(fa.positionScreen),
+ga=u[n-2],L.copy(fa.positionScreen),O.copy(ga.positionScreen),e(L,O))L.multiplyScalar(1/L.w),O.multiplyScalar(1/O.w),ja=B[y]=B[y]||new THREE.RenderableLine,y++,z=ja,z.v1.positionScreen.copy(L),z.v2.positionScreen.copy(O),z.z=Math.max(L.z,O.z),z.materials=X.materials,N.push(z)}else if(X instanceof THREE.Particle&&(I.set(X.matrixWorld.n14,X.matrixWorld.n24,X.matrixWorld.n34,1),C.multiplyVector4(I),I.z/=I.w,I.z>0&&I.z<1))ja=H[G]=H[G]||new THREE.RenderableParticle,G++,D=ja,D.x=I.x/I.w,D.y=I.y/I.w,D.z=
+I.z,D.rotation=X.rotation.z,D.scale.x=X.scale.x*Math.abs(D.x-(I.x+h.projectionMatrix.n11)/(I.w+h.projectionMatrix.n14)),D.scale.y=X.scale.y*Math.abs(D.y-(I.y+h.projectionMatrix.n22)/(I.w+h.projectionMatrix.n24)),D.materials=X.materials,N.push(D);m&&N.sort(c);return N}};THREE.Quaternion=function(b,c,e,f){this.set(b||0,c||0,e||0,f!==void 0?f:1)};
+THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w;return this},setFromEuler:function(b){var c=0.5*Math.PI/360,e=b.x*c,f=b.y*c,h=b.z*c,b=Math.cos(f),f=Math.sin(f),c=Math.cos(-h),h=Math.sin(-h),m=Math.cos(e),e=Math.sin(e),k=b*c,n=f*h;this.w=k*m-n*e;this.x=k*e+n*m;this.y=f*c*m+b*h*e;this.z=b*h*m-f*c*e;return this},setFromAxisAngle:function(b,c){var e=c/2,f=Math.sin(e);
+this.x=b.x*f;this.y=b.y*f;this.z=b.z*f;this.w=Math.cos(e);return this},setFromRotationMatrix:function(b){var c=Math.pow(b.determinant(),1/3);this.w=Math.sqrt(Math.max(0,c+b.n11+b.n22+b.n33))/2;this.x=Math.sqrt(Math.max(0,c+b.n11-b.n22-b.n33))/2;this.y=Math.sqrt(Math.max(0,c-b.n11+b.n22-b.n33))/2;this.z=Math.sqrt(Math.max(0,c-b.n11-b.n22+b.n33))/2;this.x=b.n32-b.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=b.n13-b.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=b.n21-b.n12<0?-Math.abs(this.z):Math.abs(this.z);
+this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var b=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);b==0?this.w=this.z=this.y=this.x=0:(b=1/b,this.x*=b,this.y*=b,this.z*=b,this.w*=b);return this},multiplySelf:function(b){var c=
+this.x,e=this.y,f=this.z,h=this.w,m=b.x,k=b.y,n=b.z,b=b.w;this.x=c*b+h*m+e*n-f*k;this.y=e*b+h*k+f*m-c*n;this.z=f*b+h*n+c*k-e*m;this.w=h*b-c*m-e*k-f*n;return this},multiply:function(b,c){this.x=b.x*c.w+b.y*c.z-b.z*c.y+b.w*c.x;this.y=-b.x*c.z+b.y*c.w+b.z*c.x+b.w*c.y;this.z=b.x*c.y-b.y*c.x+b.z*c.w+b.w*c.z;this.w=-b.x*c.x-b.y*c.y-b.z*c.z+b.w*c.w;return this},multiplyVector3:function(b,c){c||(c=b);var e=b.x,f=b.y,h=b.z,m=this.x,k=this.y,n=this.z,u=this.w,p=u*e+k*h-n*f,v=u*f+n*e-m*h,t=u*h+m*f-k*e,e=-m*
+e-k*f-n*h;c.x=p*u+e*-m+v*-n-t*-k;c.y=v*u+e*-k+t*-m-p*-n;c.z=t*u+e*-n+p*-k-v*-m;return c}};THREE.Quaternion.slerp=function(b,c,e,f){var h=b.w*c.w+b.x*c.x+b.y*c.y+b.z*c.z;if(Math.abs(h)>=1)return e.w=b.w,e.x=b.x,e.y=b.y,e.z=b.z,e;var m=Math.acos(h),k=Math.sqrt(1-h*h);if(Math.abs(k)<0.001)return e.w=0.5*(b.w+c.w),e.x=0.5*(b.x+c.x),e.y=0.5*(b.y+c.y),e.z=0.5*(b.z+c.z),e;h=Math.sin((1-f)*m)/k;f=Math.sin(f*m)/k;e.w=b.w*h+c.w*f;e.x=b.x*h+c.x*f;e.y=b.y*h+c.y*f;e.z=b.z*h+c.z*f;return e};
+THREE.Vertex=function(b){this.position=b||new THREE.Vector3};THREE.Face3=function(b,c,e,f,h,m){this.a=b;this.b=c;this.c=e;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=h instanceof THREE.Color?h:new THREE.Color;this.vertexColors=h instanceof Array?h:[];this.vertexTangents=[];this.materials=m instanceof Array?m:[m];this.centroid=new THREE.Vector3};
+THREE.Face4=function(b,c,e,f,h,m,k){this.a=b;this.b=c;this.c=e;this.d=f;this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3;this.vertexNormals=h instanceof Array?h:[];this.color=m instanceof THREE.Color?m:new THREE.Color;this.vertexColors=m instanceof Array?m:[];this.vertexTangents=[];this.materials=k instanceof Array?k:[k];this.centroid=new THREE.Vector3};THREE.UV=function(b,c){this.u=b||0;this.v=c||0};
+THREE.UV.prototype={constructor:THREE.UV,set:function(b,c){this.u=b;this.v=c;return this},copy:function(b){this.u=b.u;this.v=b.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}};
+THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.faces=[];this.edges=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1};
+THREE.Geometry.prototype={constructor:THREE.Geometry,computeCentroids:function(){var b,c,e;b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e.centroid.set(0,0,0),e instanceof THREE.Face3?(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),e.centroid.divideScalar(3)):e instanceof THREE.Face4&&(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),
+e.centroid.addSelf(this.vertices[e.d].position),e.centroid.divideScalar(4))},computeFaceNormals:function(b){var c,e,f,h,m,k,n=new THREE.Vector3,u=new THREE.Vector3;f=0;for(h=this.faces.length;f<h;f++){m=this.faces[f];if(b&&m.vertexNormals.length){n.set(0,0,0);c=0;for(e=m.vertexNormals.length;c<e;c++)n.addSelf(m.vertexNormals[c]);n.divideScalar(3)}else c=this.vertices[m.a],e=this.vertices[m.b],k=this.vertices[m.c],n.sub(k.position,e.position),u.sub(c.position,e.position),n.crossSelf(u);n.isZero()||
+n.normalize();m.normal.copy(n)}},computeVertexNormals:function(){var b,c,e,f;if(this.__tmpVertices==void 0){f=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)f[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)if(e=this.faces[b],e instanceof THREE.Face3)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(e instanceof THREE.Face4)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}else{f=
+this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)f[b].set(0,0,0)}b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal)):e instanceof THREE.Face4&&(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal),f[e.d].addSelf(e.normal));b=0;for(c=this.vertices.length;b<c;b++)f[b].normalize();b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(e.vertexNormals[0].copy(f[e.a]),
+e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c])):e instanceof THREE.Face4&&(e.vertexNormals[0].copy(f[e.a]),e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c]),e.vertexNormals[3].copy(f[e.d]))},computeTangents:function(){function b(b,e,c,f,h,m,o){n=b.vertices[e].position;u=b.vertices[c].position;p=b.vertices[f].position;v=k[h];t=k[m];x=k[o];w=u.x-n.x;z=p.x-n.x;y=u.y-n.y;B=p.y-n.y;D=u.z-n.z;G=p.z-n.z;H=t.u-v.u;E=x.u-v.u;N=t.v-v.v;F=x.v-v.v;I=1/(H*F-E*N);L.set((F*w-N*z)*
+I,(F*y-N*B)*I,(F*D-N*G)*I);O.set((H*z-E*w)*I,(H*B-E*y)*I,(H*G-E*D)*I);K[e].addSelf(L);K[c].addSelf(L);K[f].addSelf(L);U[e].addSelf(O);U[c].addSelf(O);U[f].addSelf(O)}var c,e,f,h,m,k,n,u,p,v,t,x,w,z,y,B,D,G,H,E,N,F,I,C,K=[],U=[],L=new THREE.Vector3,O=new THREE.Vector3,S=new THREE.Vector3,P=new THREE.Vector3,o=new THREE.Vector3;c=0;for(e=this.vertices.length;c<e;c++)K[c]=new THREE.Vector3,U[c]=new THREE.Vector3;c=0;for(e=this.faces.length;c<e;c++)m=this.faces[c],k=this.faceVertexUvs[0][c],m instanceof
+THREE.Face3?b(this,m.a,m.b,m.c,0,1,2):m instanceof THREE.Face4&&(b(this,m.a,m.b,m.c,0,1,2),b(this,m.a,m.b,m.d,0,1,3));var W=["a","b","c","d"];c=0;for(e=this.faces.length;c<e;c++){m=this.faces[c];for(f=0;f<m.vertexNormals.length;f++)o.copy(m.vertexNormals[f]),h=m[W[f]],C=K[h],S.copy(C),S.subSelf(o.multiplyScalar(o.dot(C))).normalize(),P.cross(m.vertexNormals[f],C),h=P.dot(U[h]),h=h<0?-1:1,m.vertexTangents[f]=new THREE.Vector4(S.x,S.y,S.z,h)}this.hasTangents=!0},computeBoundingBox:function(){var b;
+if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,e=this.vertices.length;c<e;c++){b=this.vertices[c];if(b.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=b.position.x;else if(b.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=b.position.x;if(b.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=b.position.y;
+else if(b.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=b.position.y;if(b.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=b.position.z;else if(b.position.z>this.boundingBox.z[1])this.boundingBox.z[1]=b.position.z}}},computeBoundingSphere:function(){for(var b=0,c=0,e=this.vertices.length;c<e;c++)b=Math.max(b,this.vertices[c].position.length());this.boundingSphere={radius:b}},computeEdgeFaces:function(){function b(b,e){return Math.min(b,e)+"_"+Math.max(b,e)}function c(b,e,c){b[e]===
+void 0?(b[e]={set:{},array:[]},b[e].set[c]=1,b[e].array.push(c)):b[e].set[c]===void 0&&(b[e].set[c]=1,b[e].array.push(c))}var e,f,h,m,k,n={};e=0;for(f=this.faces.length;e<f;e++)k=this.faces[e],k instanceof THREE.Face3?(h=b(k.a,k.b),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.a,k.c),c(n,h,e)):k instanceof THREE.Face4&&(h=b(k.b,k.d),c(n,h,e),h=b(k.a,k.b),c(n,h,e),h=b(k.a,k.d),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.c,k.d),c(n,h,e));e=0;for(f=this.edges.length;e<f;e++){k=this.edges[e];h=k.vertexIndices[0];m=k.vertexIndices[1];
+k.faceIndices=n[b(h,m)].array;for(h=0;h<k.faceIndices.length;h++)m=k.faceIndices[h],k.faces.push(this.faces[m])}}};THREE.GeometryCount=0;
+THREE.Spline=function(b){function c(b,e,c,f,k,h,m){b=(c-b)*0.5;f=(f-e)*0.5;return(2*(e-c)+b+f)*m+(-3*(e-c)-2*b-f)*h+b*k+e}this.points=b;var e=[],f={x:0,y:0,z:0},h,m,k,n,u,p,v,t,x;this.initFromArray=function(b){this.points=[];for(var e=0;e<b.length;e++)this.points[e]={x:b[e][0],y:b[e][1],z:b[e][2]}};this.getPoint=function(b){h=(this.points.length-1)*b;m=Math.floor(h);k=h-m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>this.points.length-2?m:m+1;e[3]=m>this.points.length-3?m:m+2;p=this.points[e[0]];v=this.points[e[1]];
+t=this.points[e[2]];x=this.points[e[3]];n=k*k;u=k*n;f.x=c(p.x,v.x,t.x,x.x,k,n,u);f.y=c(p.y,v.y,t.y,x.y,k,n,u);f.z=c(p.z,v.z,t.z,x.z,k,n,u);return f};this.getControlPointsArray=function(){var b,e,c=this.points.length,f=[];for(b=0;b<c;b++)e=this.points[b],f[b]=[e.x,e.y,e.z];return f};this.getLength=function(b){var e,c,f=e=e=0,k=new THREE.Vector3,h=new THREE.Vector3,m=[],n=0;m[0]=0;b||(b=100);c=this.points.length*b;k.copy(this.points[0]);for(b=1;b<c;b++)e=b/c,position=this.getPoint(e),h.copy(position),
+n+=h.distanceTo(k),k.copy(position),e*=this.points.length-1,e=Math.floor(e),e!=f&&(m[e]=n,f=e);m[m.length]=n;return{chunks:m,total:n}};this.reparametrizeByArcLength=function(b){var e,c,f,k,h,m,n=[],u=new THREE.Vector3,t=this.getLength();n.push(u.copy(this.points[0]).clone());for(e=1;e<this.points.length;e++){c=t.chunks[e]-t.chunks[e-1];m=Math.ceil(b*c/t.total);k=(e-1)/(this.points.length-1);h=e/(this.points.length-1);for(c=1;c<m-1;c++)f=k+c*(1/m)*(h-k),position=this.getPoint(f),n.push(u.copy(position).clone());
+n.push(u.copy(this.points[e]).clone())}this.points=n}};THREE.Edge=function(b,c,e,f){this.vertices=[b,c];this.vertexIndices=[e,f];this.faces=[];this.faceIndices=[]};THREE.Camera=function(b,c,e,f,h){THREE.Object3D.call(this);this.fov=b||50;this.aspect=c||1;this.near=e||0.1;this.far=f||2E3;this.target=h||new THREE.Object3D;this.useTarget=!0;this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=null;this.updateProjectionMatrix()};THREE.Camera.prototype=new THREE.Object3D;
+THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.supr=THREE.Object3D.prototype;THREE.Camera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);c.multiplyScalar(b);this.position.addSelf(c);this.target.position.addSelf(c)};
+THREE.Camera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var b=this.fullWidth/this.fullHeight,c=Math.tan(this.fov*Math.PI/360)*this.near,e=-c,f=b*e,b=Math.abs(b*c-f),e=Math.abs(c-e);this.projectionMatrix=THREE.Matrix4.makeFrustum(f+this.x*b/this.fullWidth,f+(this.x+this.width)*b/this.fullWidth,c-(this.y+this.height)*e/this.fullHeight,c-this.y*e/this.fullHeight,this.near,this.far)}else this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};
+THREE.Camera.prototype.setViewOffset=function(b,c,e,f,h,m){this.fullWidth=b;this.fullHeight=c;this.x=e;this.y=f;this.width=h;this.height=m;this.updateProjectionMatrix()};
+THREE.Camera.prototype.update=function(b,c,e){if(this.useTarget)this.matrix.lookAt(this.position,this.target.position,this.up),this.matrix.setPosition(this.position),b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse),c=!0;else if(this.matrixAutoUpdate&&this.updateMatrix(),c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=
+!1,c=!0,THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse);for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};THREE.OrthoCamera=function(b,c,e,f,h,m,k){THREE.Camera.call(this,45,1,h,m,k);this.left=b;this.right=c;this.top=e;this.bottom=f;this.updateProjectionMatrix()};THREE.OrthoCamera.prototype=new THREE.Camera;THREE.OrthoCamera.prototype.constructor=THREE.OrthoCamera;
+THREE.OrthoCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makeOrtho(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.Light=function(b){THREE.Object3D.call(this);this.color=new THREE.Color(b)};THREE.Light.prototype=new THREE.Object3D;THREE.Light.prototype.constructor=THREE.Light;THREE.Light.prototype.supr=THREE.Object3D.prototype;THREE.AmbientLight=function(b){THREE.Light.call(this,b)};THREE.AmbientLight.prototype=new THREE.Light;
+THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.DirectionalLight.prototype=new THREE.Light;THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,c,e){THREE.Light.call(this,b);this.position=new THREE.Vector3;this.intensity=c||1;this.distance=e||0};
+THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;THREE.SpotLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.SpotLight.prototype=new THREE.Light;THREE.SpotLight.prototype.constructor=THREE.SpotLight;
+THREE.Material=function(b){this.id=THREE.MaterialCount++;b=b||{};this.opacity=b.opacity!==void 0?b.opacity:1;this.transparent=b.transparent!==void 0?b.transparent:!1;this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.depthTest=b.depthTest!==void 0?b.depthTest:!0;this.polygonOffset=b.polygonOffset!==void 0?b.polygonOffset:!1;this.polygonOffsetFactor=b.polygonOffsetFactor!==void 0?b.polygonOffsetFactor:0;this.polygonOffsetUnits=b.polygonOffsetUnits!==void 0?b.polygonOffsetUnits:
+0;this.alphaTest=b.alphaTest!==void 0?b.alphaTest:0};THREE.MaterialCount=0;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;THREE.MultiplyBlending=3;THREE.AdditiveAlphaBlending=4;
+THREE.LineBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.linewidth=b.linewidth!==void 0?b.linewidth:1;this.linecap=b.linecap!==void 0?b.linecap:"round";this.linejoin=b.linejoin!==void 0?b.linejoin:"round";this.vertexColors=b.vertexColors?b.vertexColors:!1};THREE.LineBasicMaterial.prototype=new THREE.Material;THREE.LineBasicMaterial.prototype.constructor=THREE.LineBasicMaterial;
+THREE.MeshBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshBasicMaterial.prototype=new THREE.Material;THREE.MeshBasicMaterial.prototype.constructor=THREE.MeshBasicMaterial;
+THREE.MeshLambertMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshLambertMaterial.prototype=new THREE.Material;THREE.MeshLambertMaterial.prototype.constructor=THREE.MeshLambertMaterial;
+THREE.MeshPhongMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.ambient=b.ambient!==void 0?new THREE.Color(b.ambient):new THREE.Color(328965);this.specular=b.specular!==void 0?new THREE.Color(b.specular):new THREE.Color(1118481);this.shininess=b.shininess!==void 0?b.shininess:30;this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;
+this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==
+void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshPhongMaterial.prototype=new THREE.Material;THREE.MeshPhongMaterial.prototype.constructor=THREE.MeshPhongMaterial;
+THREE.MeshDepthMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1};THREE.MeshDepthMaterial.prototype=new THREE.Material;THREE.MeshDepthMaterial.prototype.constructor=THREE.MeshDepthMaterial;
+THREE.MeshNormalMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading?b.shading:THREE.FlatShading;this.wireframe=b.wireframe?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth?b.wireframeLinewidth:1};THREE.MeshNormalMaterial.prototype=new THREE.Material;THREE.MeshNormalMaterial.prototype.constructor=THREE.MeshNormalMaterial;THREE.MeshFaceMaterial=function(){};
+THREE.MeshShaderMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.fragmentShader=b.fragmentShader!==void 0?b.fragmentShader:"void main() {}";this.vertexShader=b.vertexShader!==void 0?b.vertexShader:"void main() {}";this.uniforms=b.uniforms!==void 0?b.uniforms:{};this.attributes=b.attributes;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.fog=
+b.fog!==void 0?b.fog:!1;this.lights=b.lights!==void 0?b.lights:!1;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshShaderMaterial.prototype=new THREE.Material;THREE.MeshShaderMaterial.prototype.constructor=THREE.MeshShaderMaterial;
+THREE.ParticleBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.size=b.size!==void 0?b.size:1;this.sizeAttenuation=b.sizeAttenuation!==void 0?b.sizeAttenuation:!0;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1};THREE.ParticleBasicMaterial.prototype=new THREE.Material;THREE.ParticleBasicMaterial.prototype.constructor=THREE.ParticleBasicMaterial;
+THREE.ParticleCanvasMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.program=b.program!==void 0?b.program:function(){}};THREE.ParticleCanvasMaterial.prototype=new THREE.Material;THREE.ParticleCanvasMaterial.prototype.constructor=THREE.ParticleCanvasMaterial;THREE.ParticleDOMMaterial=function(b){THREE.Material.call(this);this.domElement=b};
+THREE.Texture=function(b,c,e,f,h,m){this.id=THREE.TextureCount++;this.image=b;this.mapping=c!==void 0?c:new THREE.UVMapping;this.wrapS=e!==void 0?e:THREE.ClampToEdgeWrapping;this.wrapT=f!==void 0?f:THREE.ClampToEdgeWrapping;this.magFilter=h!==void 0?h:THREE.LinearFilter;this.minFilter=m!==void 0?m:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.needsUpdate=!1};
+THREE.Texture.prototype={constructor:THREE.Texture,clone:function(){var b=new THREE.Texture(this.image,this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b}};THREE.TextureCount=0;THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
+THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;
+THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;THREE.DataTexture=function(b,c,e,f,h,m,k,n,u){THREE.Texture.call(this,null,h,m,k,n,u);this.image={data:b,width:c,height:e};this.format=f!==void 0?f:THREE.RGBAFormat};THREE.DataTexture.prototype=new THREE.Texture;THREE.DataTexture.prototype.constructor=THREE.DataTexture;
+THREE.DataTexture.prototype.clone=function(){var b=new THREE.DataTexture(this.data.slice(0),this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b};THREE.Particle=function(b){THREE.Object3D.call(this);this.materials=b instanceof Array?b:[b]};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;
+THREE.ParticleSystem=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.sortParticles=!1};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;THREE.Line=function(b,c,e){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.type=e!=void 0?e:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;
+THREE.Line.prototype.constructor=THREE.Line;
+THREE.Mesh=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c&&c.length?c:[c];this.overdraw=!1;if(this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere(),this.boundRadius=b.boundingSphere.radius,this.geometry.morphTargets.length)){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var e=0;e<this.geometry.morphTargets.length;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[e].name]=
+e}};THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.supr=THREE.Object3D.prototype;THREE.Mesh.prototype.getMorphTargetIndexByName=function(b){if(this.morphTargetDictionary[b]!==void 0)return this.morphTargetDictionary[b];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+b+" does not exist. Returning 0.");return 0};
+THREE.Bone=function(b){THREE.Object3D.call(this);this.skin=b;this.skinMatrix=new THREE.Matrix4;this.hasNoneBoneChildren=!1};THREE.Bone.prototype=new THREE.Object3D;THREE.Bone.prototype.constructor=THREE.Bone;THREE.Bone.prototype.supr=THREE.Object3D.prototype;
+THREE.Bone.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.skinMatrix.multiply(b,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;if(this.hasNoneBoneChildren){this.matrixWorld.multiply(this.skin.matrixWorld,this.skinMatrix);for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.skinMatrix,c,e):b.update(this.matrixWorld,!0,e)}else for(f=0;f<h;f++)this.children[f].update(this.skinMatrix,
+c,e)};THREE.Bone.prototype.addChild=function(b){if(this.children.indexOf(b)===-1&&(b.parent!==void 0&&b.parent.removeChild(b),b.parent=this,this.children.push(b),!(b instanceof THREE.Bone)))this.hasNoneBoneChildren=!0};
+THREE.SkinnedMesh=function(b,c){THREE.Mesh.call(this,b,c);this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var e,f,h,m,k,n;if(this.geometry.bones!==void 0){for(e=0;e<this.geometry.bones.length;e++)h=this.geometry.bones[e],m=h.pos,k=h.rotq,n=h.scl,f=this.addBone(),f.name=h.name,f.position.set(m[0],m[1],m[2]),f.quaternion.set(k[0],k[1],k[2],k[3]),f.useQuaternion=!0,n!==void 0?f.scale.set(n[0],n[1],n[2]):f.scale.set(1,1,1);for(e=0;e<this.bones.length;e++)h=this.geometry.bones[e],
+f=this.bones[e],h.parent===-1?this.addChild(f):this.bones[h.parent].addChild(f);this.boneMatrices=new Float32Array(16*this.bones.length);this.pose()}};THREE.SkinnedMesh.prototype=new THREE.Mesh;THREE.SkinnedMesh.prototype.constructor=THREE.SkinnedMesh;
+THREE.SkinnedMesh.prototype.update=function(b,c,e){if(this.visible){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.identityMatrix,!1,e):b.update(this.matrixWorld,c,e);e=this.bones.length;ba=this.bones;bm=this.boneMatrices;for(c=0;c<e;c++)ba[c].skinMatrix.flattenToArrayOffset(bm,
+c*16)}};THREE.SkinnedMesh.prototype.addBone=function(b){b===void 0&&(b=new THREE.Bone(this));this.bones.push(b);return b};
+THREE.SkinnedMesh.prototype.pose=function(){this.update(void 0,!0);for(var b,c=[],e=0;e<this.bones.length;e++)b=this.bones[e],c.push(THREE.Matrix4.makeInvert(b.skinMatrix)),b.skinMatrix.flattenToArrayOffset(this.boneMatrices,e*16);if(this.geometry.skinVerticesA===void 0){this.geometry.skinVerticesA=[];this.geometry.skinVerticesB=[];var f;for(b=0;b<this.geometry.skinIndices.length;b++){var e=this.geometry.vertices[b].position,h=this.geometry.skinIndices[b].x,m=this.geometry.skinIndices[b].y;f=new THREE.Vector3(e.x,
+e.y,e.z);this.geometry.skinVerticesA.push(c[h].multiplyVector3(f));f=new THREE.Vector3(e.x,e.y,e.z);this.geometry.skinVerticesB.push(c[m].multiplyVector3(f));this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y!==1&&(e=(1-(this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y))*0.5,this.geometry.skinWeights[b].x+=e,this.geometry.skinWeights[b].y+=e)}}};THREE.Ribbon=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c]};
+THREE.Ribbon.prototype=new THREE.Object3D;THREE.Ribbon.prototype.constructor=THREE.Ribbon;THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=new THREE.Object3D;THREE.LOD.prototype.constructor=THREE.LOD;THREE.LOD.prototype.supr=THREE.Object3D.prototype;THREE.LOD.prototype.add=function(b,c){c===void 0&&(c=0);for(var c=Math.abs(c),e=0;e<this.LODs.length;e++)if(c<this.LODs[e].visibleAtDistance)break;this.LODs.splice(e,0,{visibleAtDistance:c,object3D:b});this.addChild(b)};
+THREE.LOD.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;if(this.LODs.length>1){b=e.matrixWorldInverse;b=-(b.n31*this.position.x+b.n32*this.position.y+b.n33*this.position.z+b.n34);this.LODs[0].object3D.visible=!0;for(var f=1;f<this.LODs.length;f++)if(b>=this.LODs[f].visibleAtDistance)this.LODs[f-1].object3D.visible=!1,
+this.LODs[f].object3D.visible=!0;else break;for(;f<this.LODs.length;f++)this.LODs[f].object3D.visible=!1}for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};
+THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==void 0)this.material=b.material,this.map=void 0,this.blending=material.blending;else if(b.map!==void 0)this.map=b.map instanceof THREE.Texture?b.map:THREE.ImageUtils.loadTexture(b.map),this.material=void 0,this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.useScreenCoordinates=b.useScreenCoordinates!==void 0?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==void 0?b.mergeWith3D:!this.useScreenCoordinates;
+this.affectedByDistance=b.affectedByDistance!==void 0?b.affectedByDistance:!this.useScreenCoordinates;this.scaleByViewport=b.scaleByViewport!==void 0?b.scaleByViewport:!this.affectedByDistance;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.Sprite;
+THREE.Sprite.prototype.supr=THREE.Object3D.prototype;THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,this.scale.y);this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
+THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
+THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.collisions=this.overrideMaterial=this.fog=null;this.objects=[];this.lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
+THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1)this.objects.push(b),this.__objectsAdded.push(b);for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};
+THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else b instanceof THREE.Camera||(c=this.objects.indexOf(b),c!==-1&&(this.objects.splice(c,1),this.__objectsRemoved.push(b)));for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};THREE.Scene.prototype.addObject=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeObject=THREE.Scene.prototype.removeChild;
+THREE.Scene.prototype.addLight=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeLight=THREE.Scene.prototype.removeChild;THREE.Fog=function(b,c,e){this.color=new THREE.Color(b);this.near=c||1;this.far=e||1E3};THREE.FogExp2=function(b,c){this.color=new THREE.Color(b);this.density=c!==void 0?c:2.5E-4};
+THREE.DOMRenderer=function(){THREE.Renderer.call(this);var b=null,c=new THREE.Projector,e,f,h,m;this.domElement=document.createElement("div");this.setSize=function(b,c){e=b;f=c;h=e/2;m=f/2};this.render=function(e,f){var u,p,v,t,x,w,z,y;b=c.projectScene(e,f);u=0;for(p=b.length;u<p;u++)if(x=b[u],x instanceof THREE.RenderableParticle){z=x.x*h+h;y=x.y*m+m;v=0;for(t=x.material.length;v<t;v++)if(w=x.material[v],w instanceof THREE.ParticleDOMMaterial)w=w.domElement,w.style.left=z+"px",w.style.top=y+"px"}}};
+THREE.CanvasRenderer=function(b){function c(b){if(B!=b)w.globalAlpha=B=b}function e(b){if(D!=b){switch(b){case THREE.NormalBlending:w.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:w.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:w.globalCompositeOperation="darker"}D=b}}function f(b){if(G!=b)w.strokeStyle=G=b}function h(b){if(H!=b)w.fillStyle=H=b}var m=this,k=null,n=new THREE.Projector,b=b||{},u=b.canvas!==void 0?b.canvas:document.createElement("canvas"),
+p,v,t,x,w=u.getContext("2d"),z=new THREE.Color(0),y=0,B=1,D=0,G=null,H=null,E=null,N=null,F=null,I,C,K,U,L=new THREE.RenderableVertex,O=new THREE.RenderableVertex,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$=new THREE.Color(0),ca=new THREE.Color(0),X=new THREE.Color(0),ja=new THREE.Color(0),ea=new THREE.Color(0),qa=[],V,pa,va,ra,sa,Ca,wa,Aa,za,Fa,M=new THREE.Rectangle,Z=new THREE.Rectangle,T=new THREE.Rectangle,xa=!1,ha=new THREE.Color,ka=new THREE.Color,ya=new THREE.Color,ta=new THREE.Color,oa=new THREE.Vector3,
+Y,Ga,la,Ba,Va,Da,b=16;Y=document.createElement("canvas");Y.width=Y.height=2;Ga=Y.getContext("2d");Ga.fillStyle="rgba(0,0,0,1)";Ga.fillRect(0,0,2,2);la=Ga.getImageData(0,0,2,2);Ba=la.data;Va=document.createElement("canvas");Va.width=Va.height=b;Da=Va.getContext("2d");Da.translate(-b/2,-b/2);Da.scale(b,b);b--;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setSize=function(b,e){p=b;v=e;t=Math.floor(p/2);x=Math.floor(v/2);u.width=p;u.height=
+v;M.set(-t,-x,t,x);Z.set(-t,-x,t,x);B=1;D=0;F=N=E=H=G=null};this.setClearColor=function(b,e){z.copy(b);y=e;Z.set(-t,-x,t,x)};this.setClearColorHex=function(b,e){z.setHex(b);y=e;Z.set(-t,-x,t,x)};this.clear=function(){w.setTransform(1,0,0,-1,t,x);Z.isEmpty()||(Z.minSelf(M),Z.inflate(2),y<1&&w.clearRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight())),y>0&&(e(THREE.NormalBlending),c(1),h("rgba("+Math.floor(z.r*255)+","+Math.floor(z.g*255)+","+Math.floor(z.b*
+255)+","+y+")"),w.fillRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(b,u){function p(b){var e,c,f,k=b.lights;ka.setRGB(0,0,0);ya.setRGB(0,0,0);ta.setRGB(0,0,0);b=0;for(e=k.length;b<e;b++)c=k[b],f=c.color,c instanceof THREE.AmbientLight?(ka.r+=f.r,ka.g+=f.g,ka.b+=f.b):c instanceof THREE.DirectionalLight?(ya.r+=f.r,ya.g+=f.g,ya.b+=f.b):c instanceof THREE.PointLight&&(ta.r+=f.r,ta.g+=f.g,ta.b+=f.b)}function v(b,e,c,
+f){var k,h,m,o,n=b.lights,b=0;for(k=n.length;b<k;b++)h=n[b],m=h.color,h instanceof THREE.DirectionalLight?(o=c.dot(h.position),o<=0||(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)):h instanceof THREE.PointLight&&(o=c.dot(oa.sub(h.position,e).normalize()),o<=0||(o*=h.distance==0?1:1-Math.min(e.distanceTo(h.position)/h.distance,1),o!=0&&(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)))}function z(b,k,m){c(m.opacity);e(m.blending);var o,n,u,la,p,v;if(m instanceof THREE.ParticleBasicMaterial){if(m.map)la=
+m.map.image,p=la.width>>1,v=la.height>>1,m=k.scale.x*t,u=k.scale.y*x,o=m*p,n=u*v,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(m,-u),w.translate(-p,-v),w.drawImage(la,0,0),w.restore())}else m instanceof THREE.ParticleCanvasMaterial&&(o=k.scale.x*t,n=k.scale.y*x,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(f(m.color.getContextStyle()),h(m.color.getContextStyle()),w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(o,n),m.program(w),
+w.restore()))}function B(b,k,h,m){c(m.opacity);e(m.blending);w.beginPath();w.moveTo(b.positionScreen.x,b.positionScreen.y);w.lineTo(k.positionScreen.x,k.positionScreen.y);w.closePath();if(m instanceof THREE.LineBasicMaterial){b=m.linewidth;if(E!=b)w.lineWidth=E=b;b=m.linecap;if(N!=b)w.lineCap=N=b;b=m.linejoin;if(F!=b)w.lineJoin=F=b;f(m.color.getContextStyle());w.stroke();T.inflate(m.linewidth*2)}}function y(b,f,k,h,n,t,la,p,w){m.data.vertices+=3;m.data.faces++;c(p.opacity);e(p.blending);S=b.positionScreen.x;
+P=b.positionScreen.y;o=f.positionScreen.x;W=f.positionScreen.y;na=k.positionScreen.x;R=k.positionScreen.y;G(S,P,o,W,na,R);if(p instanceof THREE.MeshBasicMaterial)if(p.map)p.map.mapping instanceof THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map));else if(p.envMap){if(p.envMap.mapping instanceof THREE.SphericalReflectionMapping)b=u.matrixWorldInverse,oa.copy(la.vertexNormalsWorld[0]),sa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Ca=-(oa.x*b.n21+oa.y*
+b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[1]),wa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Aa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[2]),za=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Fa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,Ya(S,P,o,W,na,R,sa,Ca,wa,Aa,za,Fa,p.envMap)}else p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshLambertMaterial)p.map&&!p.wireframe&&(p.map.mapping instanceof
+THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map)),e(THREE.SubtractiveBlending)),xa?!p.wireframe&&p.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==3?(ca.r=X.r=ja.r=ka.r,ca.g=X.g=ja.g=ka.g,ca.b=X.b=ja.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ja),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,
+ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(p.color.r*ha.r,1)),$.g=Math.max(0,Math.min(p.color.g*ha.g,1)),$.b=Math.max(0,Math.min(p.color.b*ha.b,1)),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)):p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-
+Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(k.positionScreen.z,V,pa),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va);else if(p instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)}function D(b,f,k,h,n,p,la,t,w){m.data.vertices+=4;m.data.faces++;c(t.opacity);
+e(t.blending);if(t.map||t.envMap)y(b,f,h,0,1,3,la,t,w),y(n,k,p,1,2,3,la,t,w);else if(S=b.positionScreen.x,P=b.positionScreen.y,o=f.positionScreen.x,W=f.positionScreen.y,na=k.positionScreen.x,R=k.positionScreen.y,ia=h.positionScreen.x,aa=h.positionScreen.y,ma=n.positionScreen.x,fa=n.positionScreen.y,ga=p.positionScreen.x,da=p.positionScreen.y,t instanceof THREE.MeshBasicMaterial)H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color);else if(t instanceof
+THREE.MeshLambertMaterial)xa?!t.wireframe&&t.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==4?(ca.r=X.r=ja.r=ea.r=ka.r,ca.g=X.g=ja.g=ea.g=ka.g,ca.b=X.b=ja.b=ea.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v4.positionWorld,la.vertexNormalsWorld[3],ja),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ea),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,da,1,
+0,1,1,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(t.color.r*ha.r,1)),$.g=Math.max(0,Math.min(t.color.g*ha.g,1)),$.b=Math.max(0,Math.min(t.color.b*ha.b,1)),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($)):(H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color));else if(t instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),
+$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($);else if(t instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(h.positionScreen.z,V,pa),ea.r=ea.g=ea.b=1-Na(k.positionScreen.z,V,pa),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,
+da,1,0,1,1,0,1,va)}function G(b,e,c,f,k,h){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(b,e);w.closePath()}function H(b,e,c,f,k,h,m,o){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(m,o);w.lineTo(b,e);w.closePath()}function Ja(b,e,c,k){if(E!=e)w.lineWidth=E=e;if(N!=c)w.lineCap=N=c;if(F!=k)w.lineJoin=F=k;f(b.getContextStyle());w.stroke();T.inflate(e*2)}function Ka(b){h(b.getContextStyle());w.fill()}function Ya(b,e,c,f,k,m,o,n,t,p,la,u,v){if(v.image.width!=0){if(v.needsUpdate==
+!0||qa[v.id]==void 0){var x=v.wrapS==THREE.RepeatWrapping,Da=v.wrapT==THREE.RepeatWrapping;qa[v.id]=w.createPattern(v.image,x&&Da?"repeat":x&&!Da?"repeat-x":!x&&Da?"repeat-y":"no-repeat");v.needsUpdate=!1}h(qa[v.id]);var x=v.offset.x/v.repeat.x,Da=v.offset.y/v.repeat.y,M=(v.image.width-1)*v.repeat.x,v=(v.image.height-1)*v.repeat.y,o=(o+x)*M,n=(n+Da)*v,t=(t+x)*M,p=(p+Da)*v,la=(la+x)*M,u=(u+Da)*v;c-=b;f-=e;k-=b;m-=e;t-=o;p-=n;la-=o;u-=n;x=1/(t*u-la*p);v=(u*c-p*k)*x;p=(u*f-p*m)*x;c=(t*k-la*c)*x;f=(t*
+m-la*f)*x;b=b-v*o-c*n;e=e-p*o-f*n;w.save();w.transform(v,p,c,f,b,e);w.fill();w.restore()}}function Sa(b,e,c,f,k,h,m,o,n,t,p,la,u){var v,x;v=u.width-1;x=u.height-1;m*=v;o*=x;n*=v;t*=x;p*=v;la*=x;c-=b;f-=e;k-=b;h-=e;n-=m;t-=o;p-=m;la-=o;x=1/(n*la-p*t);v=(la*c-t*k)*x;t=(la*f-t*h)*x;c=(n*k-p*c)*x;f=(n*h-p*f)*x;b=b-v*m-c*o;e=e-t*m-f*o;w.save();w.transform(v,t,c,f,b,e);w.clip();w.drawImage(u,0,0);w.restore()}function Wa(b,e,c,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(e.r*255),o=~~(e.g*255),
+e=~~(e.b*255),n=~~(c.r*255),t=~~(c.g*255),c=~~(c.b*255),p=~~(f.r*255),u=~~(f.g*255),f=~~(f.b*255);Ba[0]=k<0?0:k>255?255:k;Ba[1]=h<0?0:h>255?255:h;Ba[2]=b<0?0:b>255?255:b;Ba[4]=m<0?0:m>255?255:m;Ba[5]=o<0?0:o>255?255:o;Ba[6]=e<0?0:e>255?255:e;Ba[8]=n<0?0:n>255?255:n;Ba[9]=t<0?0:t>255?255:t;Ba[10]=c<0?0:c>255?255:c;Ba[12]=p<0?0:p>255?255:p;Ba[13]=u<0?0:u>255?255:u;Ba[14]=f<0?0:f>255?255:f;Ga.putImageData(la,0,0);Da.drawImage(Y,0,0);return Va}function Na(b,e,c){b=(b-e)/(c-e);return b*b*(3-2*b)}function Ta(b){b=
+(b+1)*0.5;return b<0?0:b>1?1:b}function La(b,e){var c=e.x-b.x,f=e.y-b.y,k=c*c+f*f;k!=0&&(k=1/Math.sqrt(k),c*=k,f*=k,e.x+=c,e.y+=f,b.x-=c,b.y-=f)}var Xa,bb,ua,Ea,Ma,Ua,J,A;this.autoClear?this.clear():w.setTransform(1,0,0,-1,t,x);m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,u,this.sortElements);(xa=b.lights.length>0)&&p(b);Xa=0;for(bb=k.length;Xa<bb;Xa++){ua=k[Xa];T.empty();if(ua instanceof THREE.RenderableParticle){I=ua;I.x*=t;I.y*=x;Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],
+A.opacity!=0&&z(I,ua,A,b)}else if(ua instanceof THREE.RenderableLine){if(I=ua.v1,C=ua.v2,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],A.opacity!=0&&B(I,C,ua,A,b)}}else if(ua instanceof THREE.RenderableFace3){if(I=ua.v1,C=ua.v2,K=ua.v3,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=
+t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,K.positionScreen),La(K.positionScreen,I.positionScreen)),T.add3Points(I.positionScreen.x,I.positionScreen.y,C.positionScreen.x,C.positionScreen.y,K.positionScreen.x,K.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}else A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}}else if(ua instanceof THREE.RenderableFace4&&(I=ua.v1,C=ua.v2,K=ua.v3,U=ua.v4,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,U.positionScreen.x*=t,U.positionScreen.y*=x,L.positionScreen.copy(C.positionScreen),O.positionScreen.copy(U.positionScreen),ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,U.positionScreen),
+La(U.positionScreen,I.positionScreen),La(K.positionScreen,L.positionScreen),La(K.positionScreen,O.positionScreen)),T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),T.addPoint(K.positionScreen.x,K.positionScreen.y),T.addPoint(U.positionScreen.x,U.positionScreen.y),M.instersects(T))){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}else A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}Z.addRectangle(T)}w.setTransform(1,0,0,1,0,0)}};
+THREE.SVGRenderer=function(){function b(b,e,c){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.lights[f],h instanceof THREE.DirectionalLight?(m=e.normalWorld.dot(h.position)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m)):h instanceof THREE.PointLight&&(U.sub(h.position,e.centroidWorld),U.normalize(),m=e.normalWorld.dot(U)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m))}function c(e,c,k,o,n,t){m.data.vertices+=3;m.data.faces++;S=f(P++);S.setAttribute("d",
+"M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+"z");n instanceof THREE.MeshBasicMaterial?E.copy(n.color):n instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(t,o,N),E.r=Math.max(0,Math.min(n.color.r*N.r,1)),E.g=Math.max(0,Math.min(n.color.g*N.g,1)),E.b=Math.max(0,Math.min(n.color.b*N.b,1))):E.copy(n.color):n instanceof THREE.MeshDepthMaterial?(K=1-n.__2near/(n.__farPlusNear-o.z*n.__farMinusNear),
+E.setRGB(K,K,K)):n instanceof THREE.MeshNormalMaterial&&E.setRGB(h(o.normalWorld.x),h(o.normalWorld.y),h(o.normalWorld.z));n.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+n.wireframeLinewidth+"; stroke-opacity: "+n.opacity+"; stroke-linecap: "+n.wireframeLinecap+"; stroke-linejoin: "+n.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+n.opacity);u.appendChild(S)}function e(e,c,k,o,n,t,p){m.data.vertices+=4;m.data.faces++;
+S=f(P++);S.setAttribute("d","M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+" L "+o.positionScreen.x+","+o.positionScreen.y+"z");t instanceof THREE.MeshBasicMaterial?E.copy(t.color):t instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(p,n,N),E.r=Math.max(0,Math.min(t.color.r*N.r,1)),E.g=Math.max(0,Math.min(t.color.g*N.g,1)),E.b=Math.max(0,Math.min(t.color.b*N.b,1))):E.copy(t.color):t instanceof
+THREE.MeshDepthMaterial?(K=1-t.__2near/(t.__farPlusNear-n.z*t.__farMinusNear),E.setRGB(K,K,K)):t instanceof THREE.MeshNormalMaterial&&E.setRGB(h(n.normalWorld.x),h(n.normalWorld.y),h(n.normalWorld.z));t.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+t.wireframeLinewidth+"; stroke-opacity: "+t.opacity+"; stroke-linecap: "+t.wireframeLinecap+"; stroke-linejoin: "+t.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+
+t.opacity);u.appendChild(S)}function f(b){L[b]==null&&(L[b]=document.createElementNS("http://www.w3.org/2000/svg","path"),W==0&&L[b].setAttribute("shape-rendering","crispEdges"));return L[b]}function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}var m=this,k=null,n=new THREE.Projector,u=document.createElementNS("http://www.w3.org/2000/svg","svg"),p,v,t,x,w,z,y,B,D=new THREE.Rectangle,G=new THREE.Rectangle,H=!1,E=new THREE.Color(16777215),N=new THREE.Color(16777215),F=new THREE.Color(0),I=new THREE.Color(0),
+C=new THREE.Color(0),K,U=new THREE.Vector3,L=[],O=[],S,P,o,W=1;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setQuality=function(b){switch(b){case "high":W=1;break;case "low":W=0}};this.setSize=function(b,e){p=b;v=e;t=p/2;x=v/2;u.setAttribute("viewBox",-t+" "+-x+" "+p+" "+v);u.setAttribute("width",p);u.setAttribute("height",v);D.set(-t,-x,t,x)};this.clear=function(){for(;u.childNodes.length>0;)u.removeChild(u.childNodes[0])};this.render=
+function(b,f){var h,p,v,E,N,L,K,ca;this.autoClear&&this.clear();m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,f,this.sortElements);o=P=0;if(H=b.lights.length>0){K=b.lights;F.setRGB(0,0,0);I.setRGB(0,0,0);C.setRGB(0,0,0);h=0;for(p=K.length;h<p;h++)v=K[h],E=v.color,v instanceof THREE.AmbientLight?(F.r+=E.r,F.g+=E.g,F.b+=E.b):v instanceof THREE.DirectionalLight?(I.r+=E.r,I.g+=E.g,I.b+=E.b):v instanceof THREE.PointLight&&(C.r+=E.r,C.g+=E.g,C.b+=E.b)}h=0;for(p=k.length;h<p;h++)if(K=k[h],G.empty(),
+K instanceof THREE.RenderableParticle){w=K;w.x*=t;w.y*=-x;v=0;for(E=K.materials.length;v<E;)v++}else if(K instanceof THREE.RenderableLine){if(w=K.v1,z=K.v2,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),D.instersects(G)){v=0;for(E=K.materials.length;v<E;)if((ca=K.materials[v++])&&ca.opacity!=0){N=w;L=z;var X=o++;O[X]==null&&(O[X]=document.createElementNS("http://www.w3.org/2000/svg",
+"line"),W==0&&O[X].setAttribute("shape-rendering","crispEdges"));S=O[X];S.setAttribute("x1",N.positionScreen.x);S.setAttribute("y1",N.positionScreen.y);S.setAttribute("x2",L.positionScreen.x);S.setAttribute("y2",L.positionScreen.y);ca instanceof THREE.LineBasicMaterial&&(S.setAttribute("style","fill: none; stroke: "+ca.color.getContextStyle()+"; stroke-width: "+ca.linewidth+"; stroke-opacity: "+ca.opacity+"; stroke-linecap: "+ca.linecap+"; stroke-linejoin: "+ca.linejoin),u.appendChild(S))}}}else if(K instanceof
+THREE.RenderableFace3){if(w=K.v1,z=K.v2,y=K.v3,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),D.instersects(G)){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&
+ca.opacity!=0&&c(w,z,y,K,ca,b)}else ca&&ca.opacity!=0&&c(w,z,y,K,ca,b)}}else if(K instanceof THREE.RenderableFace4&&(w=K.v1,z=K.v2,y=K.v3,B=K.v4,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,B.positionScreen.x*=t,B.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),G.addPoint(B.positionScreen.x,
+B.positionScreen.y),D.instersects(G))){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}else ca&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}}};
+THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform int combine;\n#endif",
+envmap_fragment:"#ifdef USE_ENVMAP\nvec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = vec4( mix( gl_FragColor.xyz, cubeColor.xyz, reflectivity ), opacity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
+map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, gl_PointCoord );\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif",
+lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
+lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat pointLightWeighting = max( dot( transformedNormal, lVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef PHONG\nvPointLight[ i ] = vec4( lVector, lDistance );\n#endif\n}\n#endif\n}",
+lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mColor = vec4( diffuse, opacity );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 pointSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight * pointDistance;\npointSpecular += mSpecular * pointSpecularWeight * pointDistance;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 dirSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\nvColor = color;\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n#endif",skinning_vertex:"#ifdef USE_SKINNING\ngl_Position = ( boneGlobalMatrices[ int( skinIndex.x ) ] * skinVertexA ) * skinWeight.x;\ngl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;\ngl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;\n#endif",
+morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\nuniform float morphTargetInfluences[ 8 ];\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0, 0.0, 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif",
+default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform float shadowDarkness;\nuniform float shadowBias;\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",
+shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_SOFT\nconst float xPixelOffset = 1.0 / SHADOWMAP_WIDTH;\nconst float yPixelOffset = 1.0 / SHADOWMAP_HEIGHT;\n#endif\nvec4 shadowColor = vec4( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nif ( shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0 ) {\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nfor ( float y = -1.25; y <= 1.25; y += 1.25 )\nfor ( float x = -1.25; x <= 1.25; x += 1.25 ) {\nvec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadow += 1.0;\n}\nshadow /= 9.0;\nshadowColor = shadowColor * vec4( vec3( ( 1.0 - shadowDarkness * shadow ) ), 1.0 );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadowColor = shadowColor * vec4( vec3( shadowDarkness ), 1.0 );\n#endif\n}\n}\ngl_FragColor = gl_FragColor * shadowColor;\n#endif",
+shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif"};
+THREE.UniformsUtils={merge:function(b){var c,e,f,h={};for(c=0;c<b.length;c++)for(e in f=this.clone(b[c]),f)h[e]=f[e];return h},clone:function(b){var c,e,f,h={};for(c in b)for(e in h[c]={},b[c])f=b[c][e],h[c][e]=f instanceof THREE.Color||f instanceof THREE.Vector2||f instanceof THREE.Vector3||f instanceof THREE.Vector4||f instanceof THREE.Matrix4||f instanceof THREE.Texture?f.clone():f instanceof Array?f.slice():f;return h}};
+THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:2,texture:null},envMap:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",
+value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",value:1},scale:{type:"f",
+value:1},map:{type:"t",value:0,texture:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:3,texture:[]},shadowMatrix:{type:"m4v",value:[]},shadowBias:{type:"f",value:0.0039},shadowDarkness:{type:"f",value:0.2}}};
+THREE.ShaderLib={lensFlareVertexTexture:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = ( visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n( visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * vVisibility;\ngl_FragColor = color;\n}\n}"},
+lensFlare:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * visibility;\ngl_FragColor = color;\n}\n}"},
+sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int affectedByDistance;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( affectedByDistance == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
+fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity;\ngl_FragColor = color;\n}"},shadowPost:{vertexShader:"uniform \tmat4 \tprojectionMatrix;\nattribute \tvec3 \tposition;\nvoid main() {\ngl_Position = projectionMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform \tfloat \tdarkness;\nvoid main() {\ngl_FragColor = vec4( 0, 0, 0, darkness );\n}"},
+shadowVolumeDynamic:{uniforms:{directionalLightDirection:{type:"fv",value:[]}},vertexShader:"uniform \tvec3 \tdirectionalLightDirection;\nvoid main() {\nvec4 pos = objectMatrix * vec4( position, 1.0 );\nvec3 norm = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nvec4 extruded = vec4( directionalLightDirection * 5000.0 * step( 0.0, dot( directionalLightDirection, norm ) ), 0.0 );\ngl_Position = projectionMatrix * viewMatrix * ( pos + extruded );\n}",
+fragmentShader:"void main() {\ngl_FragColor = vec4( 1.0 );\n}"},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}",vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},
+normal:{uniforms:{opacity:{type:"f",value:1}},fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}",vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),
+fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,
+THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
+THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,"gl_FragColor = gl_FragColor * vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,
+"}"].join("\n"),vertexShader:["varying vec3 vLightWeighting;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(328965)},
+specular:{type:"c",value:new THREE.Color(1118481)},shininess:{type:"f",value:30}}]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lights_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,
+THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = -mvPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
+THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
+THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},depthRGBA:{uniforms:{},fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}",vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,
+"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n")}};
+THREE.WebGLRenderer=function(b){function c(b,e,c){var f,k,h,m=b.vertices,n=m.length,t=b.colors,p=t.length,u=b.__vertexArray,v=b.__colorArray,w=b.__sortArray,x=b.__dirtyVertices,M=b.__dirtyColors,T=b.__webglCustomAttributes,z,y;if(T)for(z in T)T[z].offset=0;if(c.sortParticles){pa.multiplySelf(c.matrixWorld);for(f=0;f<n;f++)k=m[f].position,sa.copy(k),pa.multiplyVector3(sa),w[f]=[sa.z,f];w.sort(function(b,e){return e[0]-b[0]});for(f=0;f<n;f++)k=m[w[f][1]].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;
+for(f=0;f<p;f++)h=f*3,color=t[w[f][1]],v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T){f=T[z];t=f.value.length;for(h=0;h<t;h++){index=w[h][1];p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[index]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[index];f.size===2?(f.array[p]=y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=
+y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}else{if(x)for(f=0;f<n;f++)k=m[f].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;if(M)for(f=0;f<p;f++)color=t[f],h=f*3,v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T)if(f=T[z],f.__original.needsUpdate){t=f.value.length;for(h=0;h<t;h++){p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[h]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[h];f.size===2?(f.array[p]=
+y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}if(x||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,u,e);if(M||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,v,e);if(T)for(z in T)if(f=T[z],f.__original.needsUpdate||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,
+f.buffer),o.bufferData(o.ARRAY_BUFFER,f.array,e)}function e(b,e,c,f,h){f.program||P.initMaterial(f,e,c,h);if(f.morphTargets&&!h.__webglMorphTargetInfluences){h.__webglMorphTargetInfluences=new Float32Array(P.maxMorphTargets);for(var k=0,m=P.maxMorphTargets;k<m;k++)h.__webglMorphTargetInfluences[k]=0}var k=f.program,m=k.uniforms,n=f.uniforms;k!=na&&(o.useProgram(k),na=k);o.uniformMatrix4fv(m.projectionMatrix,!1,va);if(c&&(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||
+f instanceof THREE.MeshPhongMaterial||f instanceof THREE.LineBasicMaterial||f instanceof THREE.ParticleBasicMaterial||f.fog))if(n.fogColor.value=c.color,c instanceof THREE.Fog)n.fogNear.value=c.near,n.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)n.fogDensity.value=c.density;if(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f.lights){var p,t,u,v=0,w=0,x=0,M,T,z,y=Ca,B=y.directional.colors,Z=y.directional.positions,D=y.point.colors,G=y.point.positions,H=y.point.distances,
+E=0,V=0,c=t=z=0;for(p=e.length;c<p;c++)if(t=e[c],u=t.color,M=t.position,T=t.intensity,z=t.distance,t instanceof THREE.AmbientLight)v+=u.r,w+=u.g,x+=u.b;else if(t instanceof THREE.DirectionalLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,Z[z]=M.x,Z[z+1]=M.y,Z[z+2]=M.z,E+=1;else if(t instanceof THREE.SpotLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,u=1/M.length(),Z[z]=M.x*u,Z[z+1]=M.y*u,Z[z+2]=M.z*u,E+=1;else if(t instanceof THREE.PointLight)t=V*3,D[t]=u.r*T,D[t+1]=u.g*T,D[t+2]=u.b*T,G[t]=M.x,
+G[t+1]=M.y,G[t+2]=M.z,H[V]=z,V+=1;for(c=E*3;c<B.length;c++)B[c]=0;for(c=V*3;c<D.length;c++)D[c]=0;y.point.length=V;y.directional.length=E;y.ambient[0]=v;y.ambient[1]=w;y.ambient[2]=x;e=Ca;n.enableLighting.value=e.directional.length+e.point.length;n.ambientLightColor.value=e.ambient;n.directionalLightColor.value=e.directional.colors;n.directionalLightDirection.value=e.directional.positions;n.pointLightColor.value=e.point.colors;n.pointLightPosition.value=e.point.positions;n.pointLightDistance.value=
+e.point.distances}if(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshPhongMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity,(n.map.texture=f.map)&&n.offsetRepeat.value.set(f.map.offset.x,f.map.offset.y,f.map.repeat.x,f.map.repeat.y),n.lightMap.texture=f.lightMap,n.envMap.texture=f.envMap,n.reflectivity.value=f.reflectivity,n.refractionRatio.value=f.refractionRatio,n.combine.value=f.combine,n.useRefract.value=f.envMap&&f.envMap.mapping instanceof
+THREE.CubeRefractionMapping;if(f instanceof THREE.LineBasicMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity;else if(f instanceof THREE.ParticleBasicMaterial)n.psColor.value=f.color,n.opacity.value=f.opacity,n.size.value=f.size,n.scale.value=wa.height/2,n.map.texture=f.map;else if(f instanceof THREE.MeshPhongMaterial)n.ambient.value=f.ambient,n.specular.value=f.specular,n.shininess.value=f.shininess;else if(f instanceof THREE.MeshDepthMaterial)n.mNear.value=b.near,n.mFar.value=b.far,n.opacity.value=
+f.opacity;else if(f instanceof THREE.MeshNormalMaterial)n.opacity.value=f.opacity;if(h.receiveShadow&&!f._shadowPass&&n.shadowMatrix){for(e=0;e<xa.length;e++)n.shadowMatrix.value[e]=xa[e],n.shadowMap.texture[e]=P.shadowMap[e];n.shadowDarkness.value=P.shadowMapDarkness;n.shadowBias.value=P.shadowMapBias}for(var ka in n)if(p=k.uniforms[ka])if(c=n[ka],v=c.type,e=c.value,v=="i")o.uniform1i(p,e);else if(v=="f")o.uniform1f(p,e);else if(v=="v2")o.uniform2f(p,e.x,e.y);else if(v=="v3")o.uniform3f(p,e.x,e.y,
+e.z);else if(v=="v4")o.uniform4f(p,e.x,e.y,e.z,e.w);else if(v=="c")o.uniform3f(p,e.r,e.g,e.b);else if(v=="fv1")o.uniform1fv(p,e);else if(v=="fv")o.uniform3fv(p,e);else if(v=="v3v"){if(!c._array)c._array=new Float32Array(3*e.length);v=0;for(w=e.length;v<w;v++)x=v*3,c._array[x]=e[v].x,c._array[x+1]=e[v].y,c._array[x+2]=e[v].z;o.uniform3fv(p,c._array)}else if(v=="m4"){if(!c._array)c._array=new Float32Array(16);e.flattenToArray(c._array);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="m4v"){if(!c._array)c._array=
+new Float32Array(16*e.length);v=0;for(w=e.length;v<w;v++)e[v].flattenToArrayOffset(c._array,v*16);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="t"){if(o.uniform1i(p,e),p=c.texture)if(p.image instanceof Array&&p.image.length==6){if(c=p,c.image.length==6)if(c.needsUpdate){if(!c.image.__webglTextureCube)c.image.__webglTextureCube=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);for(e=0;e<6;e++)o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,
+o.RGBA,o.RGBA,o.UNSIGNED_BYTE,c.image[e]);I(o.TEXTURE_CUBE_MAP,c,c.image[0]);c.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else p instanceof THREE.WebGLRenderTargetCube?(c=p,o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.__webglTexture)):C(p,e)}else if(v=="tv"){if(!c._array){c._array=[];v=0;for(w=c.texture.length;v<w;v++)c._array[v]=e+v}o.uniform1iv(p,c._array);v=0;for(w=c.texture.length;v<w;v++)(p=c.texture[v])&&
+C(p,c._array[v])}o.uniformMatrix4fv(m.modelViewMatrix,!1,h._modelViewMatrixArray);m.normalMatrix&&o.uniformMatrix3fv(m.normalMatrix,!1,h._normalMatrixArray);(f instanceof THREE.MeshShaderMaterial||f instanceof THREE.MeshPhongMaterial||f.envMap)&&m.cameraPosition!==null&&o.uniform3f(m.cameraPosition,b.position.x,b.position.y,b.position.z);(f instanceof THREE.MeshShaderMaterial||f.envMap||f.skinning||h.receiveShadow)&&m.objectMatrix!==null&&o.uniformMatrix4fv(m.objectMatrix,!1,h._objectMatrixArray);
+(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshShaderMaterial||f.skinning)&&m.viewMatrix!==null&&o.uniformMatrix4fv(m.viewMatrix,!1,ra);f.skinning&&(o.uniformMatrix4fv(m.cameraInverseMatrix,!1,ra),o.uniformMatrix4fv(m.boneGlobalMatrices,!1,h.boneMatrices));return k}function f(b,c,f,h,k,m){if(h.opacity!=0){var n,b=e(b,c,f,h,m).attributes;if(!h.morphTargets&&b.position>=0)o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(b.position,
+3,o.FLOAT,!1,0,0);else if(m.morphTargetBase){c=h.program.attributes;m.morphTargetBase!==-1?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[m.morphTargetBase]),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0)):c.position>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0));if(m.morphTargetForcedOrder.length)for(var f=0,p=m.morphTargetForcedOrder,t=m.morphTargetInfluences;f<h.numSupportedMorphTargets&&f<p.length;)o.bindBuffer(o.ARRAY_BUFFER,
+k.__webglMorphTargetsBuffers[p[f]]),o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0),m.__webglMorphTargetInfluences[f]=t[p[f]],f++;else{var p=[],u=-1,v=0,t=m.morphTargetInfluences,w,x=t.length,f=0;for(m.morphTargetBase!==-1&&(p[m.morphTargetBase]=!0);f<h.numSupportedMorphTargets;){for(w=0;w<x;w++)!p[w]&&t[w]>u&&(v=w,u=t[v]);o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[v]);o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0);m.__webglMorphTargetInfluences[f]=u;p[v]=1;u=
+-1;f++}}h.program.uniforms.morphTargetInfluences!==null&&o.uniform1fv(h.program.uniforms.morphTargetInfluences,m.__webglMorphTargetInfluences)}if(k.__webglCustomAttributes)for(n in k.__webglCustomAttributes)b[n]>=0&&(c=k.__webglCustomAttributes[n],o.bindBuffer(o.ARRAY_BUFFER,c.buffer),o.vertexAttribPointer(b[n],c.size,o.FLOAT,!1,0,0));b.color>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer),o.vertexAttribPointer(b.color,3,o.FLOAT,!1,0,0));b.normal>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglNormalBuffer),
+o.vertexAttribPointer(b.normal,3,o.FLOAT,!1,0,0));b.tangent>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglTangentBuffer),o.vertexAttribPointer(b.tangent,4,o.FLOAT,!1,0,0));b.uv>=0&&(k.__webglUVBuffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUVBuffer),o.vertexAttribPointer(b.uv,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv)):o.disableVertexAttribArray(b.uv));b.uv2>=0&&(k.__webglUV2Buffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUV2Buffer),o.vertexAttribPointer(b.uv2,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv2)):
+o.disableVertexAttribArray(b.uv2));h.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexABuffer),o.vertexAttribPointer(b.skinVertexA,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexBBuffer),o.vertexAttribPointer(b.skinVertexB,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinIndicesBuffer),o.vertexAttribPointer(b.skinIndex,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinWeightsBuffer),
+o.vertexAttribPointer(b.skinWeight,4,o.FLOAT,!1,0,0));m instanceof THREE.Mesh?(h.wireframe?(o.lineWidth(h.wireframeLinewidth),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglLineBuffer),o.drawElements(o.LINES,k.__webglLineCount,o.UNSIGNED_SHORT,0)):(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglFaceBuffer),o.drawElements(o.TRIANGLES,k.__webglFaceCount,o.UNSIGNED_SHORT,0)),P.data.vertices+=k.__webglFaceCount,P.data.faces+=k.__webglFaceCount/3,P.data.drawCalls++):m instanceof THREE.Line?(m=m.type==THREE.LineStrip?
+o.LINE_STRIP:o.LINES,o.lineWidth(h.linewidth),o.drawArrays(m,0,k.__webglLineCount),P.data.drawCalls++):m instanceof THREE.ParticleSystem?(o.drawArrays(o.POINTS,0,k.__webglParticleCount),P.data.drawCalls++):m instanceof THREE.Ribbon&&(o.drawArrays(o.TRIANGLE_STRIP,0,k.__webglVertexCount),P.data.drawCalls++)}}function h(b,e,c){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.createBuffer();if(!b.__webglNormalBuffer)b.__webglNormalBuffer=o.createBuffer();b.hasPos&&(o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),
+o.bufferData(o.ARRAY_BUFFER,b.positionArray,o.DYNAMIC_DRAW),o.enableVertexAttribArray(e.attributes.position),o.vertexAttribPointer(e.attributes.position,3,o.FLOAT,!1,0,0));if(b.hasNormal){o.bindBuffer(o.ARRAY_BUFFER,b.__webglNormalBuffer);if(c==THREE.FlatShading){var f,k,h,m,n,p,t,u,v,w,x=b.count*3;for(w=0;w<x;w+=9)c=b.normalArray,f=c[w],k=c[w+1],h=c[w+2],m=c[w+3],p=c[w+4],u=c[w+5],n=c[w+6],t=c[w+7],v=c[w+8],f=(f+m+n)/3,k=(k+p+t)/3,h=(h+u+v)/3,c[w]=f,c[w+1]=k,c[w+2]=h,c[w+3]=f,c[w+4]=k,c[w+5]=h,c[w+
+6]=f,c[w+7]=k,c[w+8]=h}o.bufferData(o.ARRAY_BUFFER,b.normalArray,o.DYNAMIC_DRAW);o.enableVertexAttribArray(e.attributes.normal);o.vertexAttribPointer(e.attributes.normal,3,o.FLOAT,!1,0,0)}o.drawArrays(o.TRIANGLES,0,b.count);b.count=0}function m(b){if(aa!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):o.enable(o.CULL_FACE),aa=b.doubleSided;if(ma!=b.flipSided)b.flipSided?o.frontFace(o.CW):o.frontFace(o.CCW),ma=b.flipSided}function k(b){ga!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),ga=
+b)}function n(b,e,c){da!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o.POLYGON_OFFSET_FILL),da=b);if(b&&($!=e||ca!=c))o.polygonOffset(e,c),$=e,ca=c}function u(b){V[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-b.n14);V[1].set(b.n41+b.n11,b.n42+b.n12,b.n43+b.n13,b.n44+b.n14);V[2].set(b.n41+b.n21,b.n42+b.n22,b.n43+b.n23,b.n44+b.n24);V[3].set(b.n41-b.n21,b.n42-b.n22,b.n43-b.n23,b.n44-b.n24);V[4].set(b.n41-b.n31,b.n42-b.n32,b.n43-b.n33,b.n44-b.n34);V[5].set(b.n41+b.n31,b.n42+b.n32,b.n43+b.n33,
+b.n44+b.n34);for(var e,b=0;b<6;b++)e=V[b],e.divideScalar(Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z))}function p(b){for(var e=b.matrixWorld,c=-b.geometry.boundingSphere.radius*Math.max(b.scale.x,Math.max(b.scale.y,b.scale.z)),f=0;f<6;f++)if(b=V[f].x*e.n14+V[f].y*e.n24+V[f].z*e.n34+V[f].w,b<=c)return!1;return!0}function v(b,e){b.list[b.count]=e;b.count+=1}function t(b){var e,c,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=k.count=0;for(e=f.materials.length;b<e;b++)c=f.materials[b],c.transparent?v(h,c):
+v(k,c)}function x(b){var e,c,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transparent;o.count=0;b=n.count=0;for(f=h.materials.length;b<f;b++)if(e=h.materials[b],e instanceof THREE.MeshFaceMaterial){e=0;for(c=m.materials.length;e<c;e++)(k=m.materials[e])&&(k.transparent?v(o,k):v(n,k))}else(k=e)&&(k.transparent?v(o,k):v(n,k))}function w(b,e){return e.z-b.z}function z(b,c){var n,t,v,w=0,x,z,y,D,G=b.lights;T||(T=new THREE.Camera(P.shadowCameraFov,c.aspect,P.shadowCameraNear,P.shadowCameraFar));n=0;for(t=
+G.length;n<t;n++)if(v=G[n],v instanceof THREE.SpotLight&&v.castShadow){P.shadowMap[w]||(P.shadowMap[w]=new THREE.WebGLRenderTarget(P.shadowMapWidth,P.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}));xa[w]||(xa[w]=new THREE.Matrix4);x=P.shadowMap[w];z=xa[w];T.position.copy(v.position);T.target.position.copy(v.target.position);T.update(void 0,!0);b.update(void 0,!1,T);z.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);z.multiplySelf(T.projectionMatrix);
+z.multiplySelf(T.matrixWorldInverse);T.matrixWorldInverse.flattenToArray(ra);T.projectionMatrix.flattenToArray(va);pa.multiply(T.projectionMatrix,T.matrixWorldInverse);u(pa);P.initWebGLObjects(b);K(x);o.clearColor(1,1,1,1);P.clear();o.clearColor(M.r,M.g,M.b,Z);z=b.__webglObjects.length;v=b.__webglObjectsImmediate.length;for(x=0;x<z;x++)y=b.__webglObjects[x],D=y.object,D.visible&&D.castShadow?!(D instanceof THREE.Mesh)||!D.frustumCulled||p(D)?(D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,
+T,!1),y.render=!0):y.render=!1:y.render=!1;k(!0);F(THREE.NormalBlending);for(x=0;x<z;x++)if(y=b.__webglObjects[x],y.render)D=y.object,buffer=y.buffer,m(D),y=D.customDepthMaterial?D.customDepthMaterial:D.geometry.morphTargets.length?ya:ka,f(T,G,null,y,buffer,D);for(x=0;x<v;x++)y=b.__webglObjectsImmediate[x],D=y.object,D.visible&&D.castShadow&&(D.matrixAutoUpdate&&D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,T,!1),m(D),program=e(T,G,null,ka,D),D.render(function(b){h(b,program,ka.shading)}));
+w++}}function y(b,e){var c,f,k;c=Y.attributes;var h=Y.uniforms,m=qa/ea,n,p=[],t=ea*0.5,u=qa*0.5,v=!0;o.useProgram(Y.program);na=Y.program;ga=fa=-1;Ga||(o.enableVertexAttribArray(Y.attributes.position),o.enableVertexAttribArray(Y.attributes.uv),Ga=!0);o.disable(o.CULL_FACE);o.enable(o.BLEND);o.depthMask(!0);o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.vertexAttribPointer(c.position,2,o.FLOAT,!1,16,0);o.vertexAttribPointer(c.uv,2,o.FLOAT,!1,16,8);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);
+o.uniformMatrix4fv(h.projectionMatrix,!1,va);o.activeTexture(o.TEXTURE0);o.uniform1i(h.map,0);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.useScreenCoordinates?k.z=-k.position.z:(k._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,k.matrixWorld,k._modelViewMatrixArray),k.z=-k._modelViewMatrix.n34);b.__webglSprites.sort(w);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.material===void 0&&k.map&&k.map.image&&k.map.image.width&&(k.useScreenCoordinates?(o.uniform1i(h.useScreenCoordinates,
+1),o.uniform3f(h.screenPosition,(k.position.x-t)/t,(u-k.position.y)/u,Math.max(0,Math.min(1,k.position.z)))):(o.uniform1i(h.useScreenCoordinates,0),o.uniform1i(h.affectedByDistance,k.affectedByDistance?1:0),o.uniformMatrix4fv(h.modelViewMatrix,!1,k._modelViewMatrixArray)),n=k.map.image.width/(k.scaleByViewport?qa:1),p[0]=n*m*k.scale.x,p[1]=n*k.scale.y,o.uniform2f(h.uvScale,k.uvScale.x,k.uvScale.y),o.uniform2f(h.uvOffset,k.uvOffset.x,k.uvOffset.y),o.uniform2f(h.alignment,k.alignment.x,k.alignment.y),
+o.uniform1f(h.opacity,k.opacity),o.uniform1f(h.rotation,k.rotation),o.uniform2fv(h.scale,p),k.mergeWith3D&&!v?(o.enable(o.DEPTH_TEST),v=!0):!k.mergeWith3D&&v&&(o.disable(o.DEPTH_TEST),v=!1),F(k.blending),C(k.map,0),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));o.enable(o.CULL_FACE);o.enable(o.DEPTH_TEST);o.depthMask(ia)}function B(b,e,c){b._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,b.matrixWorld,b._modelViewMatrixArray);c&&THREE.Matrix4.makeInvert3x3(b._modelViewMatrix).transposeIntoArray(b._normalMatrixArray)}
+function D(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)if(f.attributes[e].needsUpdate)return!0;return!1}function G(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)f.attributes[e].needsUpdate=!1}function H(b,e){var c;for(c=b.length-1;c>=0;c--)b[c].object==e&&b.splice(c,1)}function E(b){function e(b){var k=[];c=0;for(f=b.length;c<f;c++)b[c]==void 0?k.push("undefined"):k.push(b[c].id);return k.join("_")}
+var c,f,k,h,m,n,o,p,t={},u=b.morphTargets!==void 0?b.morphTargets.length:0;b.geometryGroups={};k=0;for(h=b.faces.length;k<h;k++)m=b.faces[k],n=m.materials,o=e(n),t[o]==void 0&&(t[o]={hash:o,counter:0}),p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],materials:n,vertices:0,numMorphTargets:u}),m=m instanceof THREE.Face3?3:4,b.geometryGroups[p].vertices+m>65535&&(t[o].counter+=1,p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],
+materials:n,vertices:0,numMorphTargets:u})),b.geometryGroups[p].faces.push(k),b.geometryGroups[p].vertices+=m;b.geometryGroupsList=[];for(var v in b.geometryGroups)b.geometryGroupsList.push(b.geometryGroups[v])}function N(b,e,c){b.push({buffer:e,object:c,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function F(b){if(b!=fa){switch(b){case THREE.AdditiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE);break;case THREE.SubtractiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,
+o.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,o.SRC_COLOR);break;default:o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}fa=b}}function I(b,e,c){(c.width&c.width-1)==0&&(c.height&c.height-1)==0?(o.texParameteri(b,o.TEXTURE_WRAP_S,S(e.wrapS)),o.texParameteri(b,o.TEXTURE_WRAP_T,S(e.wrapT)),o.texParameteri(b,o.TEXTURE_MAG_FILTER,S(e.magFilter)),o.texParameteri(b,
+o.TEXTURE_MIN_FILTER,S(e.minFilter)),o.generateMipmap(b)):(o.texParameteri(b,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_MAG_FILTER,O(e.magFilter)),o.texParameteri(b,o.TEXTURE_MIN_FILTER,O(e.minFilter)))}function C(b,e){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b.__webglTexture=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_2D,b.__webglTexture);b instanceof THREE.DataTexture?o.texImage2D(o.TEXTURE_2D,
+0,S(b.format),b.image.width,b.image.height,0,S(b.format),o.UNSIGNED_BYTE,b.image.data):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,b.image);I(o.TEXTURE_2D,b,b.image);b.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_2D,b.__webglTexture)}function K(b){var e=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.depthBuffer=!0;if(b.stencilBuffer===void 0)b.stencilBuffer=!0;b.__webglRenderbuffer=o.createRenderbuffer();
+b.__webglTexture=o.createTexture();if(e){o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture);I(o.TEXTURE_CUBE_MAP,b,b);b.__webglFramebuffer=[];for(var c=0;c<6;c++)b.__webglFramebuffer[c]=o.createFramebuffer(),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),null)}else b.__webglFramebuffer=o.createFramebuffer(),o.bindTexture(o.TEXTURE_2D,b.__webglTexture),I(o.TEXTURE_2D,b,b),o.texImage2D(o.TEXTURE_2D,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),
+null);o.bindRenderbuffer(o.RENDERBUFFER,b.__webglRenderbuffer);if(e)for(c=0;c<6;++c)o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer[c]),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+c,b.__webglTexture,0);else o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,b.__webglTexture,0);b.depthBuffer&&!b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,b.width,b.height),
+o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):b.depthBuffer&&b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,b.width,b.height),o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_STENCIL_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,b.width,b.height);e?o.bindTexture(o.TEXTURE_CUBE_MAP,null):o.bindTexture(o.TEXTURE_2D,null);o.bindRenderbuffer(o.RENDERBUFFER,null);o.bindFramebuffer(o.FRAMEBUFFER,
+null)}var f,k;b?(e=e?b.__webglFramebuffer[b.activeCubeFace]:b.__webglFramebuffer,c=b.width,b=b.height,k=f=0):(e=null,c=ea,b=qa,f=X,k=ja);e!=R&&(o.bindFramebuffer(o.FRAMEBUFFER,e),o.viewport(f,k,c,b),R=e)}function U(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture),o.generateMipmap(o.TEXTURE_CUBE_MAP),o.bindTexture(o.TEXTURE_CUBE_MAP,null)):(o.bindTexture(o.TEXTURE_2D,b.__webglTexture),o.generateMipmap(o.TEXTURE_2D),o.bindTexture(o.TEXTURE_2D,null))}function L(b,
+e){var c;b=="fragment"?c=o.createShader(o.FRAGMENT_SHADER):b=="vertex"&&(c=o.createShader(o.VERTEX_SHADER));o.shaderSource(c,e);o.compileShader(c);if(!o.getShaderParameter(c,o.COMPILE_STATUS))return console.error(o.getShaderInfoLog(c)),console.error(e),null;return c}function O(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return o.NEAREST;default:return o.LINEAR}}function S(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;case THREE.ClampToEdgeWrapping:return o.CLAMP_TO_EDGE;
+case THREE.MirroredRepeatWrapping:return o.MIRRORED_REPEAT;case THREE.NearestFilter:return o.NEAREST;case THREE.NearestMipMapNearestFilter:return o.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return o.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return o.LINEAR;case THREE.LinearMipMapNearestFilter:return o.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return o.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return o.BYTE;case THREE.UnsignedByteType:return o.UNSIGNED_BYTE;case THREE.ShortType:return o.SHORT;
+case THREE.UnsignedShortType:return o.UNSIGNED_SHORT;case THREE.IntType:return o.INT;case THREE.UnsignedShortType:return o.UNSIGNED_INT;case THREE.FloatType:return o.FLOAT;case THREE.AlphaFormat:return o.ALPHA;case THREE.RGBFormat:return o.RGB;case THREE.RGBAFormat:return o.RGBA;case THREE.LuminanceFormat:return o.LUMINANCE;case THREE.LuminanceAlphaFormat:return o.LUMINANCE_ALPHA}return 0}var P=this,o,W=[],na=null,R=null,ia=!0,aa=null,ma=null,fa=null,ga=null,da=null,$=null,ca=null,X=0,ja=0,ea=0,qa=
+0,V=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],pa=new THREE.Matrix4,va=new Float32Array(16),ra=new Float32Array(16),sa=new THREE.Vector4,Ca={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]}},b=b||{},wa=b.canvas!==void 0?b.canvas:document.createElement("canvas"),Aa=b.stencil!==void 0?b.stencil:!0,za=b.preserveDrawingBuffer!==void 0?b.preserveDrawingBuffer:!1,Fa=b.antialias!==
+void 0?b.antialias:!1,M=b.clearColor!==void 0?new THREE.Color(b.clearColor):new THREE.Color(0),Z=b.clearAlpha!==void 0?b.clearAlpha:0;_maxLights=b.maxLights!==void 0?b.maxLights:4;this.data={vertices:0,faces:0,drawCalls:0};this.maxMorphTargets=8;this.domElement=wa;this.sortObjects=this.autoClear=!0;this.shadowMapBias=0.0039;this.shadowMapDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCameraNear=1;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowMap=[];this.shadowMapEnabled=
+!1;this.shadowMapSoft=!0;var T,xa=[],b=THREE.ShaderLib.depthRGBA,ha=THREE.UniformsUtils.clone(b.uniforms),ka=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha}),ya=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha,morphTargets:!0});ka._shadowPass=!0;ya._shadowPass=!0;try{if(!(o=wa.getContext("experimental-webgl",{antialias:Fa,stencil:Aa,preserveDrawingBuffer:za})))throw"Error creating WebGL context.";
+console.log(navigator.userAgent+" | "+o.getParameter(o.VERSION)+" | "+o.getParameter(o.VENDOR)+" | "+o.getParameter(o.RENDERER)+" | "+o.getParameter(o.SHADING_LANGUAGE_VERSION))}catch(ta){console.error(ta)}o.clearColor(0,0,0,1);o.clearDepth(1);o.clearStencil(0);o.enable(o.DEPTH_TEST);o.depthFunc(o.LEQUAL);o.frontFace(o.CCW);o.cullFace(o.BACK);o.enable(o.CULL_FACE);o.enable(o.BLEND);o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA);o.clearColor(M.r,M.g,M.b,Z);this.context=
+o;var oa=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,Y={};Y.vertices=new Float32Array(16);Y.faces=new Uint16Array(6);i=0;Y.vertices[i++]=-1;Y.vertices[i++]=-1;Y.vertices[i++]=0;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=0;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=0;i=Y.vertices[i++]=0;Y.faces[i++]=0;Y.faces[i++]=1;Y.faces[i++]=2;Y.faces[i++]=0;Y.faces[i++]=2;Y.faces[i++]=
+3;Y.vertexBuffer=o.createBuffer();Y.elementBuffer=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.bufferData(o.ARRAY_BUFFER,Y.vertices,o.STATIC_DRAW);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);o.bufferData(o.ELEMENT_ARRAY_BUFFER,Y.faces,o.STATIC_DRAW);Y.program=o.createProgram();o.attachShader(Y.program,L("fragment",THREE.ShaderLib.sprite.fragmentShader));o.attachShader(Y.program,L("vertex",THREE.ShaderLib.sprite.vertexShader));o.linkProgram(Y.program);Y.attributes={};Y.uniforms=
+{};Y.attributes.position=o.getAttribLocation(Y.program,"position");Y.attributes.uv=o.getAttribLocation(Y.program,"uv");Y.uniforms.uvOffset=o.getUniformLocation(Y.program,"uvOffset");Y.uniforms.uvScale=o.getUniformLocation(Y.program,"uvScale");Y.uniforms.rotation=o.getUniformLocation(Y.program,"rotation");Y.uniforms.scale=o.getUniformLocation(Y.program,"scale");Y.uniforms.alignment=o.getUniformLocation(Y.program,"alignment");Y.uniforms.map=o.getUniformLocation(Y.program,"map");Y.uniforms.opacity=o.getUniformLocation(Y.program,
+"opacity");Y.uniforms.useScreenCoordinates=o.getUniformLocation(Y.program,"useScreenCoordinates");Y.uniforms.affectedByDistance=o.getUniformLocation(Y.program,"affectedByDistance");Y.uniforms.screenPosition=o.getUniformLocation(Y.program,"screenPosition");Y.uniforms.modelViewMatrix=o.getUniformLocation(Y.program,"modelViewMatrix");Y.uniforms.projectionMatrix=o.getUniformLocation(Y.program,"projectionMatrix");var Ga=!1;this.setSize=function(b,e){wa.width=b;wa.height=e;this.setViewport(0,0,wa.width,
+wa.height)};this.setViewport=function(b,e,c,f){X=b;ja=e;ea=c;qa=f;o.viewport(X,ja,ea,qa)};this.setScissor=function(b,e,c,f){o.scissor(b,e,c,f)};this.enableScissorTest=function(b){b?o.enable(o.SCISSOR_TEST):o.disable(o.SCISSOR_TEST)};this.enableDepthBufferWrite=function(b){ia=b;o.depthMask(b)};this.setClearColorHex=function(b,e){M.setHex(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.setClearColor=function(b,e){M.copy(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.clear=function(){o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT|
+o.STENCIL_BUFFER_BIT)};this.getContext=function(){return o};this.deallocateObject=function(b){if(b.__webglInit)if(b.__webglInit=!1,delete b._modelViewMatrix,delete b._normalMatrixArray,delete b._modelViewMatrixArray,delete b._objectMatrixArray,b instanceof THREE.Mesh)for(g in b.geometry.geometryGroups){var e=b.geometry.geometryGroups[g];o.deleteBuffer(e.__webglVertexBuffer);o.deleteBuffer(e.__webglNormalBuffer);o.deleteBuffer(e.__webglTangentBuffer);o.deleteBuffer(e.__webglColorBuffer);o.deleteBuffer(e.__webglUVBuffer);
+o.deleteBuffer(e.__webglUV2Buffer);o.deleteBuffer(e.__webglSkinVertexABuffer);o.deleteBuffer(e.__webglSkinVertexBBuffer);o.deleteBuffer(e.__webglSkinIndicesBuffer);o.deleteBuffer(e.__webglSkinWeightsBuffer);o.deleteBuffer(e.__webglFaceBuffer);o.deleteBuffer(e.__webglLineBuffer);if(e.numMorphTargets)for(var c=0,f=e.numMorphTargets;c<f;c++)o.deleteBuffer(e.__webglMorphTargetsBuffers[c])}else if(b instanceof THREE.Ribbon)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);
+else if(b instanceof THREE.Line)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);else if(b instanceof THREE.ParticleSystem)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer)};this.deallocateTexture=function(b){if(b.__webglInit)b.__webglInit=!1,o.deleteTexture(b.__webglTexture)};this.initMaterial=function(b,e,c,f){var k,h,m;b instanceof THREE.MeshDepthMaterial?m="depth":b instanceof THREE.MeshNormalMaterial?m="normal":b instanceof
+THREE.MeshBasicMaterial?m="basic":b instanceof THREE.MeshLambertMaterial?m="lambert":b instanceof THREE.MeshPhongMaterial?m="phong":b instanceof THREE.LineBasicMaterial?m="basic":b instanceof THREE.ParticleBasicMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];b.uniforms=THREE.UniformsUtils.clone(n.uniforms);b.vertexShader=n.vertexShader;b.fragmentShader=n.fragmentShader}var p,t,u;p=u=n=0;for(t=e.length;p<t;p++)h=e[p],h instanceof THREE.SpotLight&&u++,h instanceof THREE.DirectionalLight&&
+u++,h instanceof THREE.PointLight&&n++;n+u<=_maxLights?p=u:(p=Math.ceil(_maxLights*u/(n+u)),n=_maxLights-p);h={directional:p,point:n};n=u=0;for(p=e.length;n<p;n++)t=e[n],t instanceof THREE.SpotLight&&t.castShadow&&u++;var v=50;if(f!==void 0&&f instanceof THREE.SkinnedMesh)v=f.bones.length;var w;a:{p=b.fragmentShader;t=b.vertexShader;var n=b.uniforms,e=b.attributes,c={map:!!b.map,envMap:!!b.envMap,lightMap:!!b.lightMap,vertexColors:b.vertexColors,fog:c,sizeAttenuation:b.sizeAttenuation,skinning:b.skinning,
+morphTargets:b.morphTargets,maxMorphTargets:this.maxMorphTargets,maxDirLights:h.directional,maxPointLights:h.point,maxBones:v,shadowMapEnabled:this.shadowMapEnabled&&f.receiveShadow,shadowMapSoft:this.shadowMapSoft,shadowMapWidth:this.shadowMapWidth,shadowMapHeight:this.shadowMapHeight,maxShadows:u,alphaTest:b.alphaTest},x,f=[];m?f.push(m):(f.push(p),f.push(t));for(x in c)f.push(x),f.push(c[x]);m=f.join();x=0;for(f=W.length;x<f;x++)if(W[x].code==m){w=W[x].program;break a}x=o.createProgram();f=[oa?
+"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":"",c.sizeAttenuation?
+"#define USE_SIZEATTENUATION":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform mat4 cameraInverseMatrix;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinVertexA;\nattribute vec4 skinVertexB;\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
+h=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",c.fog?"#define USE_FOG":"",c.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":
+"",c.shadowMapSoft?"#define SHADOWMAP_WIDTH "+c.shadowMapWidth.toFixed(1):"",c.shadowMapSoft?"#define SHADOWMAP_HEIGHT "+c.shadowMapHeight.toFixed(1):"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");o.attachShader(x,L("fragment",h+p));o.attachShader(x,L("vertex",f+t));o.linkProgram(x);o.getProgramParameter(x,o.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+o.getProgramParameter(x,o.VALIDATE_STATUS)+", gl error ["+o.getError()+"]");x.uniforms=
+{};x.attributes={};var M,f=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition","cameraInverseMatrix","boneGlobalMatrices","morphTargetInfluences"];for(M in n)f.push(M);M=f;f=0;for(n=M.length;f<n;f++)p=M[f],x.uniforms[p]=o.getUniformLocation(x,p);f=["position","normal","uv","uv2","tangent","color","skinVertexA","skinVertexB","skinIndex","skinWeight"];for(M=0;M<c.maxMorphTargets;M++)f.push("morphTarget"+M);for(w in e)f.push(w);w=f;M=0;for(e=w.length;M<e;M++)c=
+w[M],x.attributes[c]=o.getAttribLocation(x,c);W.push({program:x,code:m});w=x}b.program=w;w=b.program.attributes;w.position>=0&&o.enableVertexAttribArray(w.position);w.color>=0&&o.enableVertexAttribArray(w.color);w.normal>=0&&o.enableVertexAttribArray(w.normal);w.tangent>=0&&o.enableVertexAttribArray(w.tangent);b.skinning&&w.skinVertexA>=0&&w.skinVertexB>=0&&w.skinIndex>=0&&w.skinWeight>=0&&(o.enableVertexAttribArray(w.skinVertexA),o.enableVertexAttribArray(w.skinVertexB),o.enableVertexAttribArray(w.skinIndex),
+o.enableVertexAttribArray(w.skinWeight));if(b.attributes)for(k in b.attributes)w[k]!==void 0&&w[k]>=0&&o.enableVertexAttribArray(w[k]);if(b.morphTargets)for(k=b.numSupportedMorphTargets=0;k<this.maxMorphTargets;k++)M="morphTarget"+k,w[M]>=0&&(o.enableVertexAttribArray(w[M]),b.numSupportedMorphTargets++)};this.clearTarget=function(b,c,e,f){K(b);b=0;c&&(b|=o.COLOR_BUFFER_BIT);e&&(b|=o.DEPTH_BUFFER_BIT);f&&(b|=o.STENCIL_BUFFER_BIT);o.clear(b)};this.render=function(b,c,o,v){var M,T,D,Z,G,H,E,V,ka=b.lights,
+C=b.fog;this.shadowMapEnabled&&z(b,c);P.data.vertices=0;P.data.faces=0;P.data.drawCalls=0;c.matrixAutoUpdate&&c.update(void 0,!0);b.update(void 0,!1,c);c.matrixWorldInverse.flattenToArray(ra);c.projectionMatrix.flattenToArray(va);pa.multiply(c.projectionMatrix,c.matrixWorldInverse);u(pa);this.initWebGLObjects(b);K(o);(this.autoClear||v)&&this.clear();G=b.__webglObjects.length;for(v=0;v<G;v++)if(M=b.__webglObjects[v],E=M.object,E.visible)if(!(E instanceof THREE.Mesh)||!E.frustumCulled||p(E)){if(E.matrixWorld.flattenToArray(E._objectMatrixArray),
+B(E,c,!0),x(M),M.render=!0,this.sortObjects)M.object.renderDepth?M.z=M.object.renderDepth:(sa.copy(E.position),pa.multiplyVector3(sa),M.z=sa.z)}else M.render=!1;else M.render=!1;this.sortObjects&&b.__webglObjects.sort(w);H=b.__webglObjectsImmediate.length;for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(E.matrixAutoUpdate&&E.matrixWorld.flattenToArray(E._objectMatrixArray),B(E,c,!0),t(M));if(b.overrideMaterial){k(b.overrideMaterial.depthTest);F(b.overrideMaterial.blending);for(v=
+0;v<G;v++)if(M=b.__webglObjects[v],M.render)E=M.object,V=M.buffer,m(E),f(c,ka,C,b.overrideMaterial,V,E);for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(m(E),T=e(c,ka,C,b.overrideMaterial,E),E.render(function(c){h(c,T,b.overrideMaterial.shading)}))}else{F(THREE.NormalBlending);for(v=G-1;v>=0;v--)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),
+f(c,ka,C,Z,V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}for(v=0;v<G;v++)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),f(c,ka,C,Z,
+V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}}b.__webglSprites.length&&y(b,c);o&&o.minFilter!==THREE.NearestFilter&&o.minFilter!==THREE.LinearFilter&&U(o)};this.initWebGLObjects=function(b){if(!b.__webglObjects)b.__webglObjects=[],b.__webglObjectsImmediate=[],b.__webglSprites=
+[];for(;b.__objectsAdded.length;){var e=b.__objectsAdded[0],f=b,k=void 0,h=void 0,m=void 0;if(!e.__webglInit)if(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrixArray=new Float32Array(9),e._modelViewMatrixArray=new Float32Array(16),e._objectMatrixArray=new Float32Array(16),e.matrixWorld.flattenToArray(e._objectMatrixArray),e instanceof THREE.Mesh)for(k in h=e.geometry,h.geometryGroups==void 0&&E(h),h.geometryGroups){m=h.geometryGroups[k];if(!m.__webglVertexBuffer){var n=m;n.__webglVertexBuffer=
+o.createBuffer();n.__webglNormalBuffer=o.createBuffer();n.__webglTangentBuffer=o.createBuffer();n.__webglColorBuffer=o.createBuffer();n.__webglUVBuffer=o.createBuffer();n.__webglUV2Buffer=o.createBuffer();n.__webglSkinVertexABuffer=o.createBuffer();n.__webglSkinVertexBBuffer=o.createBuffer();n.__webglSkinIndicesBuffer=o.createBuffer();n.__webglSkinWeightsBuffer=o.createBuffer();n.__webglFaceBuffer=o.createBuffer();n.__webglLineBuffer=o.createBuffer();if(n.numMorphTargets){var p=void 0,t=void 0;n.__webglMorphTargetsBuffers=
+[];p=0;for(t=n.numMorphTargets;p<t;p++)n.__webglMorphTargetsBuffers.push(o.createBuffer())}for(var n=m,p=e,v=void 0,u=void 0,w=void 0,x=w=void 0,M=void 0,T=void 0,z=T=t=0,y=w=u=void 0,Z=y=u=v=void 0,w=void 0,x=p.geometry,M=x.faces,y=n.faces,v=0,u=y.length;v<u;v++)w=y[v],w=M[w],w instanceof THREE.Face3?(t+=3,T+=1,z+=3):w instanceof THREE.Face4&&(t+=4,T+=2,z+=4);for(var v=n,u=p,B=y=M=void 0,V=void 0,B=void 0,w=[],M=0,y=u.materials.length;M<y;M++)if(B=u.materials[M],B instanceof THREE.MeshFaceMaterial){B=
+0;for(l=v.materials.length;B<l;B++)(V=v.materials[B])&&w.push(V)}else(V=B)&&w.push(V);v=w;n.__materials=v;a:{M=u=void 0;y=v.length;for(u=0;u<y;u++)if(M=v[u],M.map||M.lightMap||M instanceof THREE.MeshShaderMaterial){u=!0;break a}u=!1}a:{y=M=void 0;w=v.length;for(M=0;M<w;M++)if(y=v[M],!(y instanceof THREE.MeshBasicMaterial&&!y.envMap||y instanceof THREE.MeshDepthMaterial)){y=y&&y.shading!=void 0&&y.shading==THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading;break a}y=!1}a:{w=M=void 0;B=v.length;
+for(M=0;M<B;M++)if(w=v[M],w.vertexColors){w=w.vertexColors;break a}w=!1}n.__vertexArray=new Float32Array(t*3);if(y)n.__normalArray=new Float32Array(t*3);if(x.hasTangents)n.__tangentArray=new Float32Array(t*4);if(w)n.__colorArray=new Float32Array(t*3);if(u){if(x.faceUvs.length>0||x.faceVertexUvs.length>0)n.__uvArray=new Float32Array(t*2);if(x.faceUvs.length>1||x.faceVertexUvs.length>1)n.__uv2Array=new Float32Array(t*2)}if(p.geometry.skinWeights.length&&p.geometry.skinIndices.length)n.__skinVertexAArray=
+new Float32Array(t*4),n.__skinVertexBArray=new Float32Array(t*4),n.__skinIndexArray=new Float32Array(t*4),n.__skinWeightArray=new Float32Array(t*4);n.__faceArray=new Uint16Array(T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0));n.__lineArray=new Uint16Array(z*2);if(n.numMorphTargets){n.__morphTargetsArrays=[];x=0;for(M=n.numMorphTargets;x<M;x++)n.__morphTargetsArrays.push(new Float32Array(t*3))}n.__needsSmoothNormals=y==THREE.SmoothShading;n.__uvType=u;n.__vertexColorType=w;n.__normalType=
+y;n.__webglFaceCount=T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0);n.__webglLineCount=z*2;x=0;for(M=v.length;x<M;x++)if(u=v[x],u.attributes){if(n.__webglCustomAttributes===void 0)n.__webglCustomAttributes={};for(a in u.attributes){w=u.attributes[a];y={};for(Z in w)y[Z]=w[Z];if(!y.__webglInitialized||y.createUniqueBuffers)y.__webglInitialized=!0,T=1,y.type==="v2"?T=2:y.type==="v3"?T=3:y.type==="v4"?T=4:y.type==="c"&&(T=3),y.size=T,y.array=new Float32Array(t*T),y.buffer=o.createBuffer(),
+y.buffer.belongsToAttribute=a,w.needsUpdate=!0,y.__original=w;n.__webglCustomAttributes[a]=y}}n.__inittedArrays=!0;h.__dirtyVertices=!0;h.__dirtyMorphTargets=!0;h.__dirtyElements=!0;h.__dirtyUvs=!0;h.__dirtyNormals=!0;h.__dirtyTangents=!0;h.__dirtyColors=!0}N(f.__webglObjects,m,e)}else if(e instanceof THREE.Ribbon){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=
+new Float32Array(m*3),k.__webglVertexCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.Line){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=new Float32Array(m*3),k.__webglLineCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.ParticleSystem){h=e.geometry;
+if(!h.__webglVertexBuffer){k=h;k.__webglVertexBuffer=o.createBuffer();k.__webglColorBuffer=o.createBuffer();k=h;m=e;n=k.vertices.length;k.__vertexArray=new Float32Array(n*3);k.__colorArray=new Float32Array(n*3);k.__sortArray=[];k.__webglParticleCount=n;k.__materials=m.materials;Z=t=p=void 0;p=0;for(t=m.materials.length;p<t;p++)if(Z=m.materials[p],Z.attributes){if(k.__webglCustomAttributes===void 0)k.__webglCustomAttributes={};for(a in Z.attributes){originalAttribute=Z.attributes[a];attribute={};for(property in originalAttribute)attribute[property]=
+originalAttribute[property];if(!attribute.__webglInitialized||attribute.createUniqueBuffers)attribute.__webglInitialized=!0,size=1,attribute.type==="v2"?size=2:attribute.type==="v3"?size=3:attribute.type==="v4"?size=4:attribute.type==="c"&&(size=3),attribute.size=size,attribute.array=new Float32Array(n*size),attribute.buffer=o.createBuffer(),attribute.buffer.belongsToAttribute=a,originalAttribute.needsUpdate=!0,attribute.__original=originalAttribute;k.__webglCustomAttributes[a]=attribute}}h.__dirtyVertices=
+!0;h.__dirtyColors=!0}N(f.__webglObjects,h,e)}else THREE.MarchingCubes!==void 0&&e instanceof THREE.MarchingCubes?f.__webglObjectsImmediate.push({object:e,opaque:{list:[],count:0},transparent:{list:[],count:0}}):e instanceof THREE.Sprite&&f.__webglSprites.push(e);b.__objectsAdded.splice(0,1)}for(;b.__objectsRemoved.length;){f=b.__objectsRemoved[0];e=b;if(f instanceof THREE.Mesh||f instanceof THREE.ParticleSystem||f instanceof THREE.Ribbon||f instanceof THREE.Line)H(e.__webglObjects,f);else if(f instanceof
+THREE.Sprite){e=e.__webglSprites;h=void 0;for(h=e.length-1;h>=0;h--)e[h]==f&&e.splice(h,1)}else f instanceof THREE.MarchingCubes&&H(e.__webglObjectsImmediate,f);b.__objectsRemoved.splice(0,1)}e=0;for(f=b.__webglObjects.length;e<f;e++)if(k=b.__webglObjects[e].object,t=m=h=void 0,k instanceof THREE.Mesh){h=k.geometry;n=0;for(p=h.geometryGroupsList.length;n<p;n++)if(m=h.geometryGroupsList[n],t=D(m),h.__dirtyVertices||h.__dirtyMorphTargets||h.__dirtyElements||h.__dirtyUvs||h.__dirtyNormals||h.__dirtyColors||
+h.__dirtyTangents||t)if(t=m,Z=o.DYNAMIC_DRAW,T=!h.dynamic,t.__inittedArrays){var ka=x=z=void 0,C=void 0,xa=ka=void 0,K=void 0,pa=void 0,ha=void 0,I=V=B=w=y=M=u=v=void 0,L=void 0,J=C=ha=C=pa=K=void 0,A=void 0,F=A=J=K=void 0,Y=void 0,va=F=A=J=ka=ka=xa=ha=C=F=A=J=Y=F=A=J=Y=F=A=J=void 0,O=0,X=0,S=0,ra=0,R=0,ca=0,P=0,ya=0,oa=0,Q=0,U=0,F=J=0,F=void 0,W=t.__vertexArray,ja=t.__uvArray,fa=t.__uv2Array,ma=t.__normalArray,$=t.__tangentArray,sa=t.__colorArray,aa=t.__skinVertexAArray,ea=t.__skinVertexBArray,ta=
+t.__skinIndexArray,da=t.__skinWeightArray,na=t.__morphTargetsArrays,ga=t.__webglCustomAttributes,A=void 0,qa=t.__faceArray,ia=t.__lineArray,Ga=t.__needsSmoothNormals,u=t.__vertexColorType,v=t.__uvType,M=t.__normalType,wa=k.geometry,Ca=wa.__dirtyVertices,Aa=wa.__dirtyElements,za=wa.__dirtyUvs,Fa=wa.__dirtyNormals,Za=wa.__dirtyTangents,$a=wa.__dirtyColors,ab=wa.__dirtyMorphTargets,Oa=wa.vertices,cb=t.faces,fb=wa.faces,db=wa.faceVertexUvs[0],eb=wa.faceVertexUvs[1],Pa=wa.skinVerticesA,Qa=wa.skinVerticesB,
+Ra=wa.skinIndices,Ia=wa.skinWeights,Ha=wa.morphTargets;if(ga)for(va in ga)ga[va].offset=0,ga[va].offsetSrc=0;z=0;for(x=cb.length;z<x;z++)if(ka=cb[z],C=fb[ka],db&&(y=db[ka]),eb&&(w=eb[ka]),ka=C.vertexNormals,xa=C.normal,K=C.vertexColors,pa=C.color,ha=C.vertexTangents,C instanceof THREE.Face3){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,X+=9;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=
+A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],A.array[J+2]=A.value[C.c]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.offsetSrc+=3),A.offset+=3):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c]):A.boundTo==="faces"?(I=V=B=F=A.value[F],
+A.offsetSrc++):A.boundTo==="faceVertices"&&(B=A.value[F],V=A.value[F+1],I=A.value[F+2],A.offsetSrc+=3),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.offset+=6):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=
+V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z),A.offset+=9):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.offset+=12));if(ab){J=0;for(A=Ha.length;J<A;J++)B=Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+
+7]=I.y,F[U+8]=I.z;U+=9}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=
+1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,Q+=12;if($a&&u)K.length==3&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2]):A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,oa+=9;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+
+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,P+=12;if(Fa&&M)if(ka.length==3&&Ga)for(ha=0;ha<3;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<3;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<3;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<3;ha++)ka=w[ha],fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+2,R+=3,ia[ya]=O,ia[ya+1]=O+
+1,ia[ya+2]=O,ia[ya+3]=O+2,ia[ya+4]=O+1,ia[ya+5]=O+2,ya+=6,O+=3)}else if(C instanceof THREE.Face4){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,L=Oa[C.d].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,W[X+9]=L.x,W[X+10]=L.y,W[X+11]=L.z,X+=12;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],
+A.array[J+2]=A.value[C.c],A.array[J+3]=A.value[C.d]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.array[J+3]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.array[J+3]=A.value[F+3],A.offsetSrc+=4),A.offset+=4):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c],L=A.value[C.d]):A.boundTo==="faces"?(L=I=V=B=F=A.value[F],A.offsetSrc++):A.boundTo==="faceVertices"&&
+(B=A.value[F],V=A.value[F+1],I=A.value[F+2],L=A.value[F+3],A.offsetSrc+=4),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.array[J+6]=L.x,A.array[J+7]=L.y,A.offset+=8):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b,A.array[J+9]=L.r,A.array[J+10]=L.g,A.array[J+11]=L.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+
+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z,A.array[J+9]=L.x,A.array[J+10]=L.y,A.array[J+11]=L.z),A.offset+=12):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.array[J+12]=L.x,A.array[J+13]=L.y,A.array[J+14]=L.z,A.array[J+15]=L.w,A.offset+=16));if(ab){J=0;for(A=Ha.length;J<A;J++)B=
+Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,L=Ha[J].vertices[C.d].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+7]=I.y,F[U+8]=I.z,F[U+9]=L.x,F[U+10]=L.y,F[U+11]=L.z;U+=12}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],Y=Ia[C.d],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,da[Q+12]=Y.x,da[Q+13]=Y.y,da[Q+14]=Y.z,
+da[Q+15]=Y.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],Y=Ra[C.d],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,ta[Q+12]=Y.x,ta[Q+13]=Y.y,ta[Q+14]=Y.z,ta[Q+15]=Y.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],Y=Pa[C.d],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,aa[Q+12]=Y.x,aa[Q+13]=Y.y,aa[Q+14]=Y.z,aa[Q+15]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],
+C=Qa[C.d],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,ea[Q+12]=C.x,ea[Q+13]=C.y,ea[Q+14]=C.z,ea[Q+15]=1,Q+=16;if($a&&u)K.length==4&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2],K=K[3]):K=A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,sa[oa+9]=K.r,sa[oa+10]=K.g,sa[oa+11]=K.b,oa+=12;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],ha=
+ha[3],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,$[P+12]=ha.x,$[P+13]=ha.y,$[P+14]=ha.z,$[P+15]=ha.w,P+=16;if(Fa&&M)if(ka.length==4&&Ga)for(ha=0;ha<4;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<4;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<4;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<4;ha++)ka=w[ha],
+fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+3,qa[R+3]=O+1,qa[R+4]=O+2,qa[R+5]=O+3,R+=6,ia[ya]=O,ia[ya+1]=O+1,ia[ya+2]=O,ia[ya+3]=O+3,ia[ya+4]=O+1,ia[ya+5]=O+2,ia[ya+6]=O+2,ia[ya+7]=O+3,ya+=8,O+=4)}Ca&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,W,Z));if(ga)for(va in ga)A=ga[va],A.__original.needsUpdate&&(o.bindBuffer(o.ARRAY_BUFFER,A.buffer),o.bufferData(o.ARRAY_BUFFER,A.array,Z));if(ab){J=0;for(A=Ha.length;J<A;J++)o.bindBuffer(o.ARRAY_BUFFER,
+t.__webglMorphTargetsBuffers[J]),o.bufferData(o.ARRAY_BUFFER,na[J],Z)}$a&&oa>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,sa,Z));Fa&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglNormalBuffer),o.bufferData(o.ARRAY_BUFFER,ma,Z));Za&&wa.hasTangents&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglTangentBuffer),o.bufferData(o.ARRAY_BUFFER,$,Z));za&&S>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUVBuffer),o.bufferData(o.ARRAY_BUFFER,ja,Z));za&&ra>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUV2Buffer),
+o.bufferData(o.ARRAY_BUFFER,fa,Z));Aa&&(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglFaceBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,qa,Z),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglLineBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,ia,Z));Q>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexABuffer),o.bufferData(o.ARRAY_BUFFER,aa,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexBBuffer),o.bufferData(o.ARRAY_BUFFER,ea,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinIndicesBuffer),o.bufferData(o.ARRAY_BUFFER,
+ta,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinWeightsBuffer),o.bufferData(o.ARRAY_BUFFER,da,Z));T&&(delete t.__inittedArrays,delete t.__colorArray,delete t.__normalArray,delete t.__tangentArray,delete t.__uvArray,delete t.__uv2Array,delete t.__faceArray,delete t.__vertexArray,delete t.__lineArray,delete t.__skinVertexAArray,delete t.__skinVertexBArray,delete t.__skinIndexArray,delete t.__skinWeightArray)}h.__dirtyVertices=!1;h.__dirtyMorphTargets=!1;h.__dirtyElements=!1;h.__dirtyUvs=!1;h.__dirtyNormals=
+!1;h.__dirtyTangents=!1;h.__dirtyColors=!1;G(m)}else if(k instanceof THREE.Ribbon){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+
+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.Line){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);
+o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.ParticleSystem)h=k.geometry,t=D(h),(h.__dirtyVertices||h.__dirtyColors||k.sortParticles||t)&&c(h,o.DYNAMIC_DRAW,k),h.__dirtyVertices=!1,h.__dirtyColors=!1,G(h)};this.setFaceCulling=function(b,e){b?(!e||e=="ccw"?o.frontFace(o.CCW):o.frontFace(o.CW),
+b=="back"?o.cullFace(o.BACK):b=="front"?o.cullFace(o.FRONT):o.cullFace(o.FRONT_AND_BACK),o.enable(o.CULL_FACE)):o.disable(o.CULL_FACE)};this.supportsVertexTextures=function(){return oa}};
+THREE.WebGLRenderTarget=function(b,c,e){this.width=b;this.height=c;e=e||{};this.wrapS=e.wrapS!==void 0?e.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=e.wrapT!==void 0?e.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=e.magFilter!==void 0?e.magFilter:THREE.LinearFilter;this.minFilter=e.minFilter!==void 0?e.minFilter:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=e.format!==void 0?e.format:THREE.RGBAFormat;this.type=e.type!==void 0?e.type:
+THREE.UnsignedByteType;this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0;this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!0};
+THREE.WebGLRenderTarget.prototype.clone=function(){var b=new THREE.WebGLRenderTarget(this.width,this.height);b.wrapS=this.wrapS;b.wrapT=this.wrapT;b.magFilter=this.magFilter;b.minFilter=this.minFilter;b.offset.copy(this.offset);b.repeat.copy(this.repeat);b.format=this.format;b.type=this.type;b.depthBuffer=this.depthBuffer;b.stencilBuffer=this.stencilBuffer;return b};THREE.WebGLRenderTargetCube=function(b,c,e){THREE.WebGLRenderTarget.call(this,b,c,e);this.activeCubeFace=0};
+THREE.WebGLRenderTargetCube.prototype=new THREE.WebGLRenderTarget;THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(b){this.positionWorld.copy(b.positionWorld);this.positionScreen.copy(b.positionScreen)};
+THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.materials=null};
+THREE.ColorUtils={adjustHSV:function(b,c,e,f){var h=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(b,h);h.h=THREE.ColorUtils.clamp(h.h+c,0,1);h.s=THREE.ColorUtils.clamp(h.s+e,0,1);h.v=THREE.ColorUtils.clamp(h.v+f,0,1);b.setHSV(h.h,h.s,h.v)},rgbToHsv:function(b,c){var e=b.r,f=b.g,h=b.b,m=Math.max(Math.max(e,f),h),k=Math.min(Math.min(e,f),h);if(k==m)k=e=0;else{var n=m-k,k=n/m,e=e==m?(f-h)/n:f==m?2+(h-e)/n:4+(e-f)/n;e/=6;e<0&&(e+=1);e>1&&(e-=1)}c===void 0&&(c={h:0,s:0,v:0});c.h=e;c.s=k;c.v=m;return c},
+clamp:function(b,c,e){return b<c?c:b>e?e:b}};THREE.ColorUtils.__hsv={h:0,s:0,v:0};
+THREE.GeometryUtils={merge:function(b,c){var e=c instanceof THREE.Mesh,f=b.vertices.length,h=e?c.geometry:c,m=b.vertices,k=h.vertices,n=b.faces,u=h.faces,p=b.faceVertexUvs[0],h=h.faceVertexUvs[0];e&&c.matrixAutoUpdate&&c.updateMatrix();for(var v=0,t=k.length;v<t;v++){var x=new THREE.Vertex(k[v].position.clone());e&&c.matrix.multiplyVector3(x.position);m.push(x)}v=0;for(t=u.length;v<t;v++){var k=u[v],w,z,y=k.vertexNormals,x=k.vertexColors;k instanceof THREE.Face3?w=new THREE.Face3(k.a+f,k.b+f,k.c+
+f):k instanceof THREE.Face4&&(w=new THREE.Face4(k.a+f,k.b+f,k.c+f,k.d+f));w.normal.copy(k.normal);e=0;for(m=y.length;e<m;e++)z=y[e],w.vertexNormals.push(z.clone());w.color.copy(k.color);e=0;for(m=x.length;e<m;e++)z=x[e],w.vertexColors.push(z.clone());w.materials=k.materials.slice();w.centroid.copy(k.centroid);n.push(w)}v=0;for(t=h.length;v<t;v++){f=h[v];n=[];e=0;for(m=f.length;e<m;e++)n.push(new THREE.UV(f[e].u,f[e].v));p.push(n)}},clone:function(b){var c=new THREE.Geometry,e,f=b.vertices,h=b.faces,
+m=b.faceVertexUvs[0],b=0;for(e=f.length;b<e;b++){var k=new THREE.Vertex(f[b].position.clone());c.vertices.push(k)}b=0;for(e=h.length;b<e;b++){var n=h[b],u,p,v=n.vertexNormals,t=n.vertexColors;n instanceof THREE.Face3?u=new THREE.Face3(n.a,n.b,n.c):n instanceof THREE.Face4&&(u=new THREE.Face4(n.a,n.b,n.c,n.d));u.normal.copy(n.normal);f=0;for(k=v.length;f<k;f++)p=v[f],u.vertexNormals.push(p.clone());u.color.copy(n.color);f=0;for(k=t.length;f<k;f++)p=t[f],u.vertexColors.push(p.clone());u.materials=n.materials.slice();
+u.centroid.copy(n.centroid);c.faces.push(u)}b=0;for(e=m.length;b<e;b++){h=m[b];u=[];f=0;for(k=h.length;f<k;f++)u.push(new THREE.UV(h[f].u,h[f].v));c.faceVertexUvs[0].push(u)}return c},randomPointInTriangle:function(b,c,e){var f,h,m,k=new THREE.Vector3,n=THREE.GeometryUtils.__v1;f=THREE.GeometryUtils.random();h=THREE.GeometryUtils.random();f+h>1&&(f=1-f,h=1-h);m=1-f-h;k.copy(b);k.multiplyScalar(f);n.copy(c);n.multiplyScalar(h);k.addSelf(n);n.copy(e);n.multiplyScalar(m);k.addSelf(n);return k},randomPointInFace:function(b,
+c,e){var f,h,m;if(b instanceof THREE.Face3)return f=c.vertices[b.a].position,h=c.vertices[b.b].position,m=c.vertices[b.c].position,THREE.GeometryUtils.randomPointInTriangle(f,h,m);else if(b instanceof THREE.Face4){f=c.vertices[b.a].position;h=c.vertices[b.b].position;m=c.vertices[b.c].position;var c=c.vertices[b.d].position,k;e?b._area1&&b._area2?(e=b._area1,k=b._area2):(e=THREE.GeometryUtils.triangleArea(f,h,c),k=THREE.GeometryUtils.triangleArea(h,m,c),b._area1=e,b._area2=k):(e=THREE.GeometryUtils.triangleArea(f,
+h,c),k=THREE.GeometryUtils.triangleArea(h,m,c));return THREE.GeometryUtils.random()*(e+k)<e?THREE.GeometryUtils.randomPointInTriangle(f,h,c):THREE.GeometryUtils.randomPointInTriangle(h,m,c)}},randomPointsInGeometry:function(b,c){function e(b){function e(c,f){if(f<c)return c;var k=c+Math.floor((f-c)/2);return p[k]>b?e(c,k-1):p[k]<b?e(k+1,f):k}return e(0,p.length-1)}var f,h,m=b.faces,k=b.vertices,n=m.length,u=0,p=[],v,t,x,w;for(h=0;h<n;h++){f=m[h];if(f instanceof THREE.Face3)v=k[f.a].position,t=k[f.b].position,
+x=k[f.c].position,f._area=THREE.GeometryUtils.triangleArea(v,t,x);else if(f instanceof THREE.Face4)v=k[f.a].position,t=k[f.b].position,x=k[f.c].position,w=k[f.d].position,f._area1=THREE.GeometryUtils.triangleArea(v,t,w),f._area2=THREE.GeometryUtils.triangleArea(t,x,w),f._area=f._area1+f._area2;u+=f._area;p[h]=u}f=[];k={};for(h=0;h<c;h++)n=THREE.GeometryUtils.random()*u,n=e(n),f[h]=THREE.GeometryUtils.randomPointInFace(m[n],b,!0),k[n]?k[n]+=1:k[n]=1;return f},triangleArea:function(b,c,e){var f,h=THREE.GeometryUtils.__v1;
+h.sub(b,c);f=h.length();h.sub(b,e);b=h.length();h.sub(c,e);e=h.length();c=0.5*(f+b+e);return Math.sqrt(c*(c-f)*(c-b)*(c-e))},random16:function(){return(65280*Math.random()+255*Math.random())/65535}};THREE.GeometryUtils.random=THREE.GeometryUtils.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
+THREE.ImageUtils={loadTexture:function(b,c,e){var f=new Image,h=new THREE.Texture(f,c);f.onload=function(){h.needsUpdate=!0;e&&e(this)};f.crossOrigin="";f.src=b;return h},loadTextureCube:function(b,c,e){var f,h=[],m=new THREE.Texture(h,c),c=h.loadCount=0;for(f=b.length;c<f;++c)h[c]=new Image,h[c].onload=function(){h.loadCount+=1;if(h.loadCount==6)m.needsUpdate=!0;e&&e(this)},h[c].crossOrigin="",h[c].src=b[c];return m},getNormalMap:function(b,c){var e=function(b){var e=Math.sqrt(b[0]*b[0]+b[1]*b[1]+
+b[2]*b[2]);return[b[0]/e,b[1]/e,b[2]/e]};c|=1;var f=b.width,h=b.height,m=document.createElement("canvas");m.width=f;m.height=h;var k=m.getContext("2d");k.drawImage(b,0,0);for(var n=k.getImageData(0,0,f,h).data,u=k.createImageData(f,h),p=u.data,v=0;v<f;v++)for(var t=1;t<h;t++){var x=t-1<0?h-1:t-1,w=(t+1)%h,z=v-1<0?f-1:v-1,y=(v+1)%f,B=[],D=[0,0,n[(t*f+v)*4]/255*c];B.push([-1,0,n[(t*f+z)*4]/255*c]);B.push([-1,-1,n[(x*f+z)*4]/255*c]);B.push([0,-1,n[(x*f+v)*4]/255*c]);B.push([1,-1,n[(x*f+y)*4]/255*c]);
+B.push([1,0,n[(t*f+y)*4]/255*c]);B.push([1,1,n[(w*f+y)*4]/255*c]);B.push([0,1,n[(w*f+v)*4]/255*c]);B.push([-1,1,n[(w*f+z)*4]/255*c]);x=[];z=B.length;for(w=0;w<z;w++){var y=B[w],G=B[(w+1)%z],y=[y[0]-D[0],y[1]-D[1],y[2]-D[2]],G=[G[0]-D[0],G[1]-D[1],G[2]-D[2]];x.push(e([y[1]*G[2]-y[2]*G[1],y[2]*G[0]-y[0]*G[2],y[0]*G[1]-y[1]*G[0]]))}B=[0,0,0];for(w=0;w<x.length;w++)B[0]+=x[w][0],B[1]+=x[w][1],B[2]+=x[w][2];B[0]/=x.length;B[1]/=x.length;B[2]/=x.length;D=(t*f+v)*4;p[D]=(B[0]+1)/2*255|0;p[D+1]=(B[1]+0.5)*
+255|0;p[D+2]=B[2]*255|0;p[D+3]=255}k.putImageData(u,0,0);return m}};THREE.SceneUtils={showHierarchy:function(b,c){THREE.SceneUtils.traverseHierarchy(b,function(b){b.visible=c})},traverseHierarchy:function(b,c){var e,f,h=b.children.length;for(f=0;f<h;f++)e=b.children[f],c(e),THREE.SceneUtils.traverseHierarchy(e,c)}};
+if(THREE.WebGLRenderer)THREE.ShaderUtils={lib:{fresnel:{uniforms:{mRefractionRatio:{type:"f",value:1.02},mFresnelBias:{type:"f",value:0.1},mFresnelPower:{type:"f",value:2},mFresnelScale:{type:"f",value:1},tCube:{type:"t",value:1,texture:null}},fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\nvec4 refractedColor = vec4( 1.0, 1.0, 1.0, 1.0 );\nrefractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;\nrefractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;\nrefractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;\nrefractedColor.a = 1.0;\ngl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );\n}",
+vertexShader:"uniform float mRefractionRatio;\nuniform float mFresnelBias;\nuniform float mFresnelScale;\nuniform float mFresnelPower;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = normalize ( mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal );\nvec3 I = mPosition.xyz - cameraPosition;\nvReflect = reflect( I, nWorld );\nvRefract[0] = refract( normalize( I ), nWorld, mRefractionRatio );\nvRefract[1] = refract( normalize( I ), nWorld, mRefractionRatio * 0.99 );\nvRefract[2] = refract( normalize( I ), nWorld, mRefractionRatio * 0.98 );\nvReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), nWorld ), mFresnelPower );\ngl_Position = projectionMatrix * mvPosition;\n}"},
+normal:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},tDiffuse:{type:"t",value:0,texture:null},tNormal:{type:"t",value:2,texture:null},tSpecular:{type:"t",value:3,texture:null},tAO:{type:"t",value:4,texture:null},uNormalScale:{type:"f",value:1},tDisplacement:{type:"t",value:5,texture:null},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",
+value:new THREE.Color(15658734)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(328965)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform float uNormalScale;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( 1.0 );\nvec4 mColor = vec4( uDiffuseColor, uOpacity );\nvec4 mSpecular = vec4( uSpecularColor, uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse )\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\nif( enableAO )\ngl_FragColor = gl_FragColor * texture2D( tAO, vUv );\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( vTangent, vBinormal, vNormal );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointTotal = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = specularTex.r * pow( pointDotNormalHalf, uShininess );\npointTotal += pointDistance * vec4( pointLightColor[ i ], 1.0 ) * ( mColor * pointDiffuseWeight + mSpecular * pointSpecularWeight * pointDiffuseWeight );\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirTotal = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = specularTex.r * pow( dirDotNormalHalf, uShininess );\ndirTotal += vec4( directionalLightColor[ i ], 1.0 ) * ( mColor * dirDiffuseWeight + mSpecular * dirSpecularWeight * dirDiffuseWeight );\n}\n#endif\nvec4 totalLight = vec4( ambientLightColor * uAmbientColor, uOpacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirTotal;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointTotal;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:"attribute vec4 tangent;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvViewPosition = -mvPosition.xyz;\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvBinormal = normalize( vBinormal );\nvUv = uv;\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#ifdef VERTEX_TEXTURES\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\nvec4 displacedPosition = vec4( vNormal.xyz * df, 0.0 ) + mvPosition;\ngl_Position = projectionMatrix * displacedPosition;\n#else\ngl_Position = projectionMatrix * mvPosition;\n#endif\n}"},
+cube:{uniforms:{tCube:{type:"t",value:1,texture:null}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( - wPos.x, wPos.yz ) );\n}"}}};
+THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(b){return this.getPoint(this.getUtoTmapping(b))};THREE.Curve.prototype.getPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPoint(c/b));return e};THREE.Curve.prototype.getSpacedPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPointAt(c/b));return e};
+THREE.Curve.prototype.getLength=function(){var b=this.getLengths();return b[b.length-1]};THREE.Curve.prototype.getLengths=function(b){b||(b=200);if(this.cacheArcLengths&&this.cacheArcLengths.length==b+1)return this.cacheArcLengths;var c=[],e,f=this.getPoint(0),h,m=0;c.push(0);for(h=1;h<=b;h++)e=this.getPoint(h/b),m+=e.distanceTo(f),c.push(m),f=e;return this.cacheArcLengths=c};
+THREE.Curve.prototype.getUtoTmapping=function(b,c){var e=this.getLengths(),f=0,h=e.length,m;m=c?c:b*e[h-1];time=Date.now();for(var k=0,n=h-1,u;k<=n;)if(f=Math.floor(k+(n-k)/2),u=e[f]-m,u<0)k=f+1;else if(u>0)n=f-1;else{n=f;break}f=n;if(e[f]==m)return f/(h-1);k=e[f];return e=(f+(m-k)/(e[f+1]-k))/(h-1)};THREE.Curve.prototype.getNormalVector=function(b){b=this.getTangent(b);return new THREE.Vector2(-b.y,b.x)};
+THREE.Curve.prototype.getTangent=function(b){var c=b-1.0E-4;b+=1.0E-4;c<0&&(c=0);b>1&&(b=1);var c=this.getPoint(c),b=this.getPoint(b),e=new THREE.Vector2;e.sub(b,c);return e.unit()};THREE.LineCurve=function(b,c){b instanceof THREE.Vector2?(this.v1=b,this.v2=c):THREE.LineCurve.oldConstructor.apply(this,arguments)};THREE.LineCurve.oldConstructor=function(b,c,e,f){this.constructor(new THREE.Vector2(b,c),new THREE.Vector2(e,f))};THREE.LineCurve.prototype=new THREE.Curve;
+THREE.LineCurve.prototype.constructor=THREE.LineCurve;THREE.LineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2;c.sub(this.v2,this.v1);c.multiplyScalar(b).addSelf(this.v1);return c};THREE.LineCurve.prototype.getPointAt=function(b){return this.getPoint(b)};THREE.LineCurve.prototype.getTangent=function(){var b=new THREE.Vector2;b.sub(this.v2,this.v1);b.normalize();return b};
+THREE.QuadraticBezierCurve=function(b,c,e){if(!(c instanceof THREE.Vector2))var f=Array.prototype.slice.call(arguments),b=new THREE.Vector2(f[0],f[1]),c=new THREE.Vector2(f[2],f[3]),e=new THREE.Vector2(f[4],f[5]);this.v0=b;this.v1=c;this.v2=e};THREE.QuadraticBezierCurve.prototype=new THREE.Curve;THREE.QuadraticBezierCurve.prototype.constructor=THREE.QuadraticBezierCurve;
+THREE.QuadraticBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(c,b)};THREE.QuadraticBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.y,this.v1.y,this.v2.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.CubicBezierCurve=function(b,c,e,f){if(!(c instanceof THREE.Vector2))var h=Array.prototype.slice.call(arguments),b=new THREE.Vector2(h[0],h[1]),c=new THREE.Vector2(h[2],h[3]),e=new THREE.Vector2(h[4],h[5]),f=new THREE.Vector2(h[6],h[7]);this.v0=b;this.v1=c;this.v2=e;this.v3=f};THREE.CubicBezierCurve.prototype=new THREE.Curve;THREE.CubicBezierCurve.prototype.constructor=THREE.CubicBezierCurve;
+THREE.CubicBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b3(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Shape.Utils.b3(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(c,b)};THREE.CubicBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.SplineCurve=function(b){this.points=b};THREE.SplineCurve.prototype=new THREE.Curve;THREE.SplineCurve.prototype.constructor=THREE.SplineCurve;
+THREE.SplineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2,e=[],f=this.points,h;h=(f.length-1)*b;b=Math.floor(h);h-=b;e[0]=b==0?b:b-1;e[1]=b;e[2]=b>f.length-2?b:b+1;e[3]=b>f.length-3?b:b+2;c.x=THREE.Curve.Utils.interpolate(f[e[0]].x,f[e[1]].x,f[e[2]].x,f[e[3]].x,h);c.y=THREE.Curve.Utils.interpolate(f[e[0]].y,f[e[1]].y,f[e[2]].y,f[e[3]].y,h);return c};THREE.ArcCurve=function(b,c,e,f,h,m){this.aX=b;this.aY=c;this.aRadius=e;this.aStartAngle=f;this.aEndAngle=h;this.aClockwise=m};
+THREE.ArcCurve.prototype=new THREE.Curve;THREE.ArcCurve.prototype.constructor=THREE.ArcCurve;THREE.ArcCurve.prototype.getPoint=function(b){var c=this.aEndAngle-this.aStartAngle;this.aClockwise||(b=1-b);b=this.aStartAngle+b*c;return new THREE.Vector2(this.aX+this.aRadius*Math.cos(b),this.aY+this.aRadius*Math.sin(b))};
+THREE.Curve.Utils={tangentQuadraticBezier:function(b,c,e,f){return 2*(1-b)*(e-c)+2*b*(f-e)},tangentCubicBezier:function(b,c,e,f,h){return-3*c*(1-b)*(1-b)+3*e*(1-b)*(1-b)-6*b*e*(1-b)+6*b*f*(1-b)-3*b*b*f+3*b*b*h},tangentSpline:function(b){return 6*b*b-6*b+(3*b*b-4*b+1)+(-6*b*b+6*b)+(3*b*b-2*b)},interpolate:function(b,c,e,f,h){var b=(e-b)*0.5,f=(f-c)*0.5,m=h*h;return(2*c-2*e+b+f)*h*m+(-3*c+3*e-2*b-f)*m+b*h+c}};
+THREE.Curve.create=function(b,c){b.prototype=new THREE.Curve;b.prototype.constructor=b;b.prototype.getPoint=c;return b};THREE.LineCurve3=THREE.Curve.create(function(b,c){this.v1=b;this.v2=c},function(b){var c=new THREE.Vector3;c.sub(v2,v1);c.multiplyScalar(b);c.addSelf(this.v1);return c});
+THREE.QuadraticBezierCurve3=THREE.Curve.create(function(b,c,e){this.v0=b;this.v1=c;this.v2=e},function(b){var c,e;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);e=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);b=THREE.Shape.Utils.b2(b,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(c,e,b)});THREE.CurvePath=function(){this.curves=[];this.bends=[]};THREE.CurvePath.prototype=new THREE.Curve;THREE.CurvePath.prototype.constructor=THREE.CurvePath;THREE.CurvePath.prototype.add=function(b){this.curves.push(b)};
+THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){};THREE.CurvePath.prototype.getPoint=function(b){for(var c=b*this.getLength(),e=this.getCurveLengths(),b=0;b<e.length;){if(e[b]>=c)return c=e[b]-c,b=this.curves[b],c=1-c/b.getLength(),b.getPointAt(c);b++}return null};THREE.CurvePath.prototype.getLength=function(){var b=this.getCurveLengths();return b[b.length-1]};
+THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var b=[],c=0,e,f=this.curves.length;for(e=0;e<f;e++)c+=this.curves[e].getLength(),b.push(c);return this.cacheLengths=b};
+THREE.CurvePath.prototype.getBoundingBox=function(){var b=this.getPoints(),c,e,f,h;c=e=Number.NEGATIVE_INFINITY;f=h=Number.POSITIVE_INFINITY;var m,k,n,u;u=new THREE.Vector2;k=0;for(n=b.length;k<n;k++){m=b[k];if(m.x>c)c=m.x;else if(m.x<f)f=m.x;if(m.y>e)e=m.y;else if(m.y<e)h=m.y;u.addSelf(m.x,m.y)}return{minX:f,minY:h,maxX:c,maxY:e,centroid:u.divideScalar(n)}};THREE.CurvePath.prototype.createPointsGeometry=function(b){return this.createGeometry(this.getPoints(b,!0))};
+THREE.CurvePath.prototype.createSpacedPointsGeometry=function(b){return this.createGeometry(this.getSpacedPoints(b,!0))};THREE.CurvePath.prototype.createGeometry=function(b){for(var c=new THREE.Geometry,e=0;e<b.length;e++)c.vertices.push(new THREE.Vertex(new THREE.Vector3(b[e].x,b[e].y,0)));return c};THREE.CurvePath.prototype.addWrapPath=function(b){this.bends.push(b)};
+THREE.CurvePath.prototype.getTransformedPoints=function(b,c){var e=this.getPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(b,c){var e=this.getSpacedPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};
+THREE.CurvePath.prototype.getWrapPoints=function(b,c){var e=this.getBoundingBox(),f,h,m,k,n,u;f=0;for(h=b.length;f<h;f++)m=b[f],k=m.x,n=m.y,u=k/e.maxX,u=c.getUtoTmapping(u,k),k=c.getPoint(u),n=c.getNormalVector(u).multiplyScalar(n),m.x=k.x+n.x,m.y=k.y+n.y;return b};THREE.Path=function(b){THREE.CurvePath.call(this);this.actions=[];b&&this.fromPoints(b)};THREE.Path.prototype=new THREE.CurvePath;THREE.Path.prototype.constructor=THREE.Path;
+THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc"};THREE.Path.prototype.fromPoints=function(b){this.moveTo(b[0].x,b[0].y);var c,e=b.length;for(c=1;c<e;c++)this.lineTo(b[c].x,b[c].y)};THREE.Path.prototype.moveTo=function(){var b=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:b})};
+THREE.Path.prototype.lineTo=function(b,c){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args;this.curves.push(new THREE.LineCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(b,c)));this.actions.push({action:THREE.PathActions.LINE_TO,args:e})};
+THREE.Path.prototype.quadraticCurveTo=function(b,c,e,f){var h=Array.prototype.slice.call(arguments),m=this.actions[this.actions.length-1].args;this.curves.push(new THREE.QuadraticBezierCurve(new THREE.Vector2(m[m.length-2],m[m.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f)));this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:h})};
+THREE.Path.prototype.bezierCurveTo=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments),n=this.actions[this.actions.length-1].args;this.curves.push(new THREE.CubicBezierCurve(new THREE.Vector2(n[n.length-2],n[n.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f),new THREE.Vector2(h,m)));this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:k})};
+THREE.Path.prototype.splineThru=function(b){var c=Array.prototype.slice.call(arguments),e=this.actions[this.actions.length-1].args,e=[new THREE.Vector2(e[e.length-2],e[e.length-1])],e=e.concat(b);this.curves.push(new THREE.SplineCurve(e));this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:c})};THREE.Path.prototype.arc=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments);this.curves.push(new THREE.ArcCurve(b,c,e,f,h,m));this.actions.push({action:THREE.PathActions.ARC,args:k})};
+THREE.Path.prototype.getSpacedPoints=function(b){b||(b=40);for(var c=[],e=0;e<b;e++)c.push(this.getPoint(e/b));return c};
+THREE.Path.prototype.getPoints=function(b,c){var b=b||12,e=[],f,h,m,k,n,u,p,v,t,x,w,z,y;f=0;for(h=this.actions.length;f<h;f++)switch(m=this.actions[f],k=m.action,m=m.args,k){case THREE.PathActions.LINE_TO:e.push(new THREE.Vector2(m[0],m[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:n=m[2];u=m[3];t=m[0];x=m[1];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b2(y,w,t,n),y=THREE.Shape.Utils.b2(y,z,x,
+u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.BEZIER_CURVE_TO:n=m[4];u=m[5];t=m[0];x=m[1];p=m[2];v=m[3];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b3(y,w,t,p,n),y=THREE.Shape.Utils.b3(y,z,x,v,u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.CSPLINE_THRU:k=this.actions[f-1].args;k=[new THREE.Vector2(k[k.length-2],k[k.length-1])];y=b*m[0].length;k=k.concat(m[0]);m=new THREE.SplineCurve(k);
+for(k=1;k<=y;k++)e.push(m.getPointAt(k/y));break;case THREE.PathActions.ARC:k=this.actions[f-1].args;n=m[0];u=m[1];p=m[2];t=m[3];y=m[4];x=!!m[5];v=k[k.length-2];w=k[k.length-1];k.length==0&&(v=w=0);z=y-t;var B=b*2;for(k=1;k<=B;k++)y=k/B,x||(y=1-y),y=t+y*z,m=v+n+p*Math.cos(y),y=w+u+p*Math.sin(y),e.push(new THREE.Vector2(m,y))}c&&e.push(e[0]);return e};THREE.Path.prototype.transform=function(b,c){this.getBoundingBox();return this.getWrapPoints(this.getPoints(c),b)};
+THREE.Path.prototype.nltransform=function(b,c,e,f,h,m){var k=this.getPoints(),n,u,p,v,t;n=0;for(u=k.length;n<u;n++)p=k[n],v=p.x,t=p.y,p.x=b*v+c*t+e,p.y=f*t+h*v+m;return k};
+THREE.Path.prototype.debug=function(b){var c=this.getBoundingBox();b||(b=document.createElement("canvas"),b.setAttribute("width",c.maxX+100),b.setAttribute("height",c.maxY+100),document.body.appendChild(b));c=b.getContext("2d");c.fillStyle="white";c.fillRect(0,0,b.width,b.height);c.strokeStyle="black";c.beginPath();var e,f,h,b=0;for(e=this.actions.length;b<e;b++)f=this.actions[b],h=f.args,f=f.action,f!=THREE.PathActions.CSPLINE_THRU&&c[f].apply(c,h);c.stroke();c.closePath();c.strokeStyle="red";f=
+this.getPoints();b=0;for(e=f.length;b<e;b++)h=f[b],c.beginPath(),c.arc(h.x,h.y,1.5,0,Math.PI*2,!1),c.stroke(),c.closePath()};
+THREE.Path.prototype.toShapes=function(){var b,c,e,f,h=[],m=new THREE.Path;b=0;for(c=this.actions.length;b<c;b++)e=this.actions[b],f=e.args,e=e.action,e==THREE.PathActions.MOVE_TO&&m.actions.length!=0&&(h.push(m),m=new THREE.Path),m[e].apply(m,f);m.actions.length!=0&&h.push(m);if(h.length==0)return[];var k,m=[];if(THREE.Shape.Utils.isClockWise(h[0].getPoints())){b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k&&m.push(k),k=new THREE.Shape,k.actions=f.actions,k.curves=
+f.curves):k.holes.push(f);m.push(k)}else{k=new THREE.Shape;b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k.actions=f.actions,k.curves=f.curves,m.push(k),k=new THREE.Shape):k.holes.push(f)}return m};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=new THREE.Path;THREE.Shape.prototype.constructor=THREE.Path;THREE.Shape.prototype.extrude=function(b){return new THREE.ExtrudeGeometry(this,b)};
+THREE.Shape.prototype.getPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedPoints(b,this.bends);return f};THREE.Shape.prototype.getSpacedPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedSpacedPoints(b,this.bends);return f};THREE.Shape.prototype.extractAllPoints=function(b){return{shape:this.getTransformedPoints(b),holes:this.getPointsHoles(b)}};
+THREE.Shape.prototype.extractAllSpacedPoints=function(b){return{shape:this.getTransformedSpacedPoints(b),holes:this.getSpacedPointsHoles(b)}};
+THREE.Shape.Utils={removeHoles:function(b,c){var e=b.concat(),f=e.concat(),h,m,k,n,u,p,v,t,x,w,z=[];for(u=0;u<c.length;u++){p=c[u];f=f.concat(p);m=Number.POSITIVE_INFINITY;for(h=0;h<p.length;h++){x=p[h];w=[];for(t=0;t<e.length;t++)v=e[t],v=x.distanceToSquared(v),w.push(v),v<m&&(m=v,k=h,n=t)}h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;var y=[p[k],e[n],e[h]];t=THREE.FontUtils.Triangulate.area(y);var B=[p[k],p[m],e[n]];x=THREE.FontUtils.Triangulate.area(B);w=n;v=k;n+=1;k+=-1;n<0&&(n+=e.length);n%=
+e.length;k<0&&(k+=p.length);k%=p.length;h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;y=[p[k],e[n],e[h]];y=THREE.FontUtils.Triangulate.area(y);B=[p[k],p[m],e[n]];B=THREE.FontUtils.Triangulate.area(B);t+x>y+B&&(n=w,k=v,n<0&&(n+=e.length),n%=e.length,k<0&&(k+=p.length),k%=p.length,h=n-1>=0?n-1:e.length-1,m=k-1>=0?k-1:p.length-1);t=e.slice(0,n);x=e.slice(n);w=p.slice(k);v=p.slice(0,k);m=[p[k],p[m],e[n]];z.push([p[k],e[n],e[h]]);z.push(m);e=t.concat(w).concat(v).concat(x)}return{shape:e,isolatedPts:z,
+allpoints:f}},triangulateShape:function(b,c){var e=THREE.Shape.Utils.removeHoles(b,c),f=e.allpoints,h=e.isolatedPts,e=THREE.FontUtils.Triangulate(e.shape,!1),m,k,n,u,p={};m=0;for(k=f.length;m<k;m++)u=f[m].x+":"+f[m].y,p[u]!==void 0&&console.log("Duplicate point",u),p[u]=m;m=0;for(k=e.length;m<k;m++){n=e[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}m=0;for(k=h.length;m<k;m++){n=h[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}return e.concat(h)},isClockWise:function(b){return THREE.FontUtils.Triangulate.area(b)<
+0},b2p0:function(b,c){var e=1-b;return e*e*c},b2p1:function(b,c){return 2*(1-b)*b*c},b2p2:function(b,c){return b*b*c},b2:function(b,c,e,f){return this.b2p0(b,c)+this.b2p1(b,e)+this.b2p2(b,f)},b3p0:function(b,c){var e=1-b;return e*e*e*c},b3p1:function(b,c){var e=1-b;return 3*e*e*b*c},b3p2:function(b,c){return 3*(1-b)*b*b*c},b3p3:function(b,c){return b*b*b*c},b3:function(b,c,e,f,h){return this.b3p0(b,c)+this.b3p1(b,e)+this.b3p2(b,f)+this.b3p3(b,h)}};
+THREE.TextPath=function(b,c){THREE.Path.call(this);this.parameters=c||{};this.set(b)};THREE.TextPath.prototype.set=function(b,c){this.text=b;var c=c||this.parameters,e=c.curveSegments!==void 0?c.curveSegments:4,f=c.font!==void 0?c.font:"helvetiker",h=c.weight!==void 0?c.weight:"normal",m=c.style!==void 0?c.style:"normal";THREE.FontUtils.size=c.size!==void 0?c.size:100;THREE.FontUtils.divisions=e;THREE.FontUtils.face=f;THREE.FontUtils.weight=h;THREE.FontUtils.style=m};
+THREE.TextPath.prototype.toShapes=function(){for(var b=THREE.FontUtils.drawText(this.text).paths,c=[],e=0,f=b.length;e<f;e++)c=c.concat(b[e].toShapes());return c};
+THREE.AnimationHandler=function(){var b=[],c={},e={update:function(e){for(var c=0;c<b.length;c++)b[c].update(e)},addToUpdate:function(e){b.indexOf(e)===-1&&b.push(e)},removeFromUpdate:function(e){e=b.indexOf(e);e!==-1&&b.splice(e,1)},add:function(b){c[b.name]!==void 0&&console.log("THREE.AnimationHandler.add: Warning! "+b.name+" already exists in library. Overwriting.");c[b.name]=b;if(b.initialized!==!0){for(var e=0;e<b.hierarchy.length;e++){for(var f=0;f<b.hierarchy[e].keys.length;f++){if(b.hierarchy[e].keys[f].time<
+0)b.hierarchy[e].keys[f].time=0;if(b.hierarchy[e].keys[f].rot!==void 0&&!(b.hierarchy[e].keys[f].rot instanceof THREE.Quaternion)){var n=b.hierarchy[e].keys[f].rot;b.hierarchy[e].keys[f].rot=new THREE.Quaternion(n[0],n[1],n[2],n[3])}}if(b.hierarchy[e].keys[0].morphTargets!==void 0){n={};for(f=0;f<b.hierarchy[e].keys.length;f++)for(var u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++){var p=b.hierarchy[e].keys[f].morphTargets[u];n[p]=-1}b.hierarchy[e].usedMorphTargets=n;for(f=0;f<b.hierarchy[e].keys.length;f++){var v=
+{};for(p in n){for(u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++)if(b.hierarchy[e].keys[f].morphTargets[u]===p){v[p]=b.hierarchy[e].keys[f].morphTargetsInfluences[u];break}u===b.hierarchy[e].keys[f].morphTargets.length&&(v[p]=0)}b.hierarchy[e].keys[f].morphTargetsInfluences=v}}for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].time===b.hierarchy[e].keys[f-1].time&&(b.hierarchy[e].keys.splice(f,1),f--);for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].index=f}f=parseInt(b.length*
+b.fps,10);b.JIT={};b.JIT.hierarchy=[];for(e=0;e<b.hierarchy.length;e++)b.JIT.hierarchy.push(Array(f));b.initialized=!0}},get:function(b){if(typeof b==="string")return c[b]?c[b]:(console.log("THREE.AnimationHandler.get: Couldn't find animation "+b),null)},parse:function(b){var e=[];if(b instanceof THREE.SkinnedMesh)for(var c=0;c<b.bones.length;c++)e.push(b.bones[c]);else f(b,e);return e}},f=function(b,e){e.push(b);for(var c=0;c<b.children.length;c++)f(b.children[c],e)};e.LINEAR=0;e.CATMULLROM=1;e.CATMULLROM_FORWARD=
+2;return e}();THREE.Animation=function(b,c,e,f){this.root=b;this.data=THREE.AnimationHandler.get(c);this.hierarchy=THREE.AnimationHandler.parse(b);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=e!==void 0?e:THREE.AnimationHandler.LINEAR;this.JITCompile=f!==void 0?f:!0;this.points=[];this.target=new THREE.Vector3};
+THREE.Animation.prototype.play=function(b,c){if(!this.isPlaying){this.isPlaying=!0;this.loop=b!==void 0?b:!0;this.currentTime=c!==void 0?c:0;var e,f=this.hierarchy.length,h;for(e=0;e<f;e++){h=this.hierarchy[e];if(this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD)h.useQuaternion=!0;h.matrixAutoUpdate=!0;if(h.animationCache===void 0)h.animationCache={},h.animationCache.prevKey={pos:0,rot:0,scl:0},h.animationCache.nextKey={pos:0,rot:0,scl:0},h.animationCache.originalMatrix=h instanceof
+THREE.Bone?h.skinMatrix:h.matrix;var m=h.animationCache.prevKey;h=h.animationCache.nextKey;m.pos=this.data.hierarchy[e].keys[0];m.rot=this.data.hierarchy[e].keys[0];m.scl=this.data.hierarchy[e].keys[0];h.pos=this.getNextKeyWith("pos",e,1);h.rot=this.getNextKeyWith("rot",e,1);h.scl=this.getNextKeyWith("scl",e,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
+THREE.Animation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
+THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var b=0;b<this.hierarchy.length;b++)if(this.hierarchy[b].animationCache!==void 0)this.hierarchy[b]instanceof THREE.Bone?this.hierarchy[b].skinMatrix=this.hierarchy[b].animationCache.originalMatrix:this.hierarchy[b].matrix=this.hierarchy[b].animationCache.originalMatrix,delete this.hierarchy[b].animationCache};
+THREE.Animation.prototype.update=function(b){if(this.isPlaying){var c=["pos","rot","scl"],e,f,h,m,k,n,u,p,v=this.data.JIT.hierarchy,t,x;this.currentTime+=b*this.timeScale;x=this.currentTime;t=this.currentTime%=this.data.length;p=parseInt(Math.min(t*this.data.fps,this.data.length*this.data.fps),10);for(var w=0,z=this.hierarchy.length;w<z;w++)if(b=this.hierarchy[w],u=b.animationCache,this.JITCompile&&v[w][p]!==void 0)b instanceof THREE.Bone?(b.skinMatrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=
+!1):(b.matrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!0);else{if(this.JITCompile)b instanceof THREE.Bone?b.skinMatrix=b.animationCache.originalMatrix:b.matrix=b.animationCache.originalMatrix;for(var y=0;y<3;y++){e=c[y];k=u.prevKey[e];n=u.nextKey[e];if(n.time<=x){if(t<x)if(this.loop){k=this.data.hierarchy[w].keys[0];for(n=this.getNextKeyWith(e,w,1);n.time<t;)k=n,n=this.getNextKeyWith(e,w,n.index+1)}else{this.stop();return}else{do k=n,n=this.getNextKeyWith(e,w,n.index+1);while(n.time<
+t)}u.prevKey[e]=k;u.nextKey[e]=n}b.matrixAutoUpdate=!0;b.matrixWorldNeedsUpdate=!0;f=(t-k.time)/(n.time-k.time);h=k[e];m=n[e];if(f<0||f>1)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+f+" on bone "+w),f=f<0?0:1;if(e==="pos")if(e=b.position,this.interpolationType===THREE.AnimationHandler.LINEAR)e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)if(this.points[0]=
+this.getPrevKeyWith("pos",w,k.index-1).pos,this.points[1]=h,this.points[2]=m,this.points[3]=this.getNextKeyWith("pos",w,n.index+1).pos,f=f*0.33+0.33,h=this.interpolateCatmullRom(this.points,f),e.x=h[0],e.y=h[1],e.z=h[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)f=this.interpolateCatmullRom(this.points,f*1.01),this.target.set(f[0],f[1],f[2]),this.target.subSelf(e),this.target.y=0,this.target.normalize(),f=Math.atan2(this.target.x,this.target.z),b.rotation.set(0,f,0)}else if(e===
+"rot")THREE.Quaternion.slerp(h,m,b.quaternion,f);else if(e==="scl")e=b.scale,e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f}}if(this.JITCompile&&v[0][p]===void 0){this.hierarchy[0].update(void 0,!0);for(w=0;w<this.hierarchy.length;w++)v[w][p]=this.hierarchy[w]instanceof THREE.Bone?this.hierarchy[w].skinMatrix.clone():this.hierarchy[w].matrix.clone()}}};
+THREE.Animation.prototype.interpolateCatmullRom=function(b,c){var e=[],f=[],h,m,k,n,u,p;h=(b.length-1)*c;m=Math.floor(h);h-=m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>b.length-2?m:m+1;e[3]=m>b.length-3?m:m+2;m=b[e[0]];n=b[e[1]];u=b[e[2]];p=b[e[3]];e=h*h;k=h*e;f[0]=this.interpolate(m[0],n[0],u[0],p[0],h,e,k);f[1]=this.interpolate(m[1],n[1],u[1],p[1],h,e,k);f[2]=this.interpolate(m[2],n[2],u[2],p[2],h,e,k);return f};
+THREE.Animation.prototype.interpolate=function(b,c,e,f,h,m,k){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*k+(-3*(c-e)-2*b-f)*m+b*h+c};THREE.Animation.prototype.getNextKeyWith=function(b,c,e){var f=this.data.hierarchy[c].keys;for(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e=e<f.length-1?e:f.length-1:e%=f.length;e<f.length;e++)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[0]};
+THREE.Animation.prototype.getPrevKeyWith=function(b,c,e){for(var f=this.data.hierarchy[c].keys,e=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e>0?e:0:e>=0?e:e+f.length;e>=0;e--)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[f.length-1]};
+THREE.FirstPersonCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.movementSpeed=1;this.lookSpeed=0.005;this.noFly=!1;this.lookVertical=!0;this.autoForward=!1;this.activeLook=!0;this.heightSpeed=!1;this.heightCoef=1;this.heightMin=0;this.constrainVertical=!1;this.verticalMin=0;this.verticalMax=3.14;this.domElement=document;this.lastUpdate=(new Date).getTime();this.tdiff=0;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=
+b.movementSpeed;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.noFly!==void 0)this.noFly=b.noFly;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.autoForward!==void 0)this.autoForward=b.autoForward;if(b.activeLook!==void 0)this.activeLook=b.activeLook;if(b.heightSpeed!==void 0)this.heightSpeed=b.heightSpeed;if(b.heightCoef!==void 0)this.heightCoef=b.heightCoef;if(b.heightMin!==void 0)this.heightMin=b.heightMin;if(b.heightMax!==void 0)this.heightMax=b.heightMax;if(b.constrainVertical!==
+void 0)this.constrainVertical=b.constrainVertical;if(b.verticalMin!==void 0)this.verticalMin=b.verticalMin;if(b.verticalMax!==void 0)this.verticalMax=b.verticalMax;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=!1;this.windowHalfX=window.innerWidth/2;this.windowHalfY=window.innerHeight/2;this.onMouseDown=function(b){b.preventDefault();
+b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0};this.onMouseUp=function(b){b.preventDefault();b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1};this.onMouseMove=function(b){this.mouseX=b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.onKeyDown=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=
+!0;break;case 37:case 65:this.moveLeft=!0;break;case 40:case 83:this.moveBackward=!0;break;case 39:case 68:this.moveRight=!0;break;case 82:this.moveUp=!0;break;case 70:this.moveDown=!0;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=!1;break;case 37:case 65:this.moveLeft=!1;break;case 40:case 83:this.moveBackward=!1;break;case 39:case 68:this.moveRight=!1;break;case 82:this.moveUp=!1;break;case 70:this.moveDown=!1}};this.update=
+function(){var b=(new Date).getTime();this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;if(!this.freeze){this.autoSpeedFactor=this.heightSpeed?this.tdiff*((this.position.y<this.heightMin?this.heightMin:this.position.y>this.heightMax?this.heightMax:this.position.y)-this.heightMin)*this.heightCoef:0;var c=this.tdiff*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.translateZ(-(c+this.autoSpeedFactor));this.moveBackward&&this.translateZ(c);this.moveLeft&&this.translateX(-c);
+this.moveRight&&this.translateX(c);this.moveUp&&this.translateY(c);this.moveDown&&this.translateY(-c);c=this.tdiff*this.lookSpeed;this.activeLook||(c=0);this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b=this.target.position,h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*Math.sin(this.theta)}b=
+1;this.constrainVertical&&(b=3.14/(this.verticalMax-this.verticalMin));this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c*b);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=(this.phi-0)*(this.verticalMax-this.verticalMin)/3.14+this.verticalMin;b=this.target.position;h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*
+Math.sin(this.theta);this.supr.update.call(this)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),!1);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),!1);this.domElement.addEventListener("mouseup",c(this,this.onMouseUp),!1);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),!1);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),!1)};
+THREE.FirstPersonCamera.prototype=new THREE.Camera;THREE.FirstPersonCamera.prototype.constructor=THREE.FirstPersonCamera;THREE.FirstPersonCamera.prototype.supr=THREE.Camera.prototype;THREE.FirstPersonCamera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);if(this.noFly)c.y=0;this.position.addSelf(c.multiplyScalar(b));this.target.position.addSelf(c.multiplyScalar(b))};
+THREE.PathCamera=function(b){function c(b,e,c,f){var k={name:c,fps:0.6,length:f,hierarchy:[]},h,m=e.getControlPointsArray(),n=e.getLength(),u=m.length,G=0;h=u-1;e={parent:-1,keys:[]};e.keys[0]={time:0,pos:m[0],rot:[0,0,0,1],scl:[1,1,1]};e.keys[h]={time:f,pos:m[h],rot:[0,0,0,1],scl:[1,1,1]};for(h=1;h<u-1;h++)G=f*n.chunks[h]/n.total,e.keys[h]={time:G,pos:m[h]};k.hierarchy[0]=e;THREE.AnimationHandler.add(k);return new THREE.Animation(b,c,THREE.AnimationHandler.CATMULLROM_FORWARD,!1)}function e(b,e){var c,
+f,k=new THREE.Geometry;for(c=0;c<b.points.length*e;c++)f=c/(b.points.length*e),f=b.getPoint(f),k.vertices[c]=new THREE.Vertex(new THREE.Vector3(f.x,f.y,f.z));return k}function f(b,c){var f=e(c,10),k=e(c,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3});lineObj=new THREE.Line(f,h);particleObj=new THREE.ParticleSystem(k,new THREE.ParticleBasicMaterial({color:16755200,size:3}));lineObj.scale.set(1,1,1);b.addChild(lineObj);particleObj.scale.set(1,1,1);b.addChild(particleObj);k=new THREE.SphereGeometry(1,
+16,8);h=new THREE.MeshBasicMaterial({color:65280});for(i=0;i<c.points.length;i++)f=new THREE.Mesh(k,h),f.position.copy(c.points[i]),f.updateMatrix(),b.addChild(f)}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.id="PathCamera"+THREE.PathCameraIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=!0;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=
+this.lookVertical=!0;this.verticalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.horizontalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.domElement=document;if(b){if(b.duration!==void 0)this.duration=b.duration*1E3;if(b.waypoints!==void 0)this.waypoints=b.waypoints;if(b.useConstantSpeed!==void 0)this.useConstantSpeed=b.useConstantSpeed;if(b.resamplingCoef!==void 0)this.resamplingCoef=b.resamplingCoef;if(b.createDebugPath!==void 0)this.createDebugPath=b.createDebugPath;if(b.createDebugDummy!==
+void 0)this.createDebugDummy=b.createDebugDummy;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.lookHorizontal!==void 0)this.lookHorizontal=b.lookHorizontal;if(b.verticalAngleMap!==void 0)this.verticalAngleMap=b.verticalAngleMap;if(b.horizontalAngleMap!==void 0)this.horizontalAngleMap=b.horizontalAngleMap;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;this.windowHalfX=
+window.innerWidth/2;this.windowHalfY=window.innerHeight/2;var h=Math.PI*2,m=Math.PI/180;this.update=function(b,e,c){var f,k;this.lookHorizontal&&(this.lon+=this.mouseX*this.lookSpeed);this.lookVertical&&(this.lat-=this.mouseY*this.lookSpeed);this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*m;this.theta=this.lon*m;f=this.phi%h;this.phi=f>=0?f:f+h;f=this.verticalAngleMap.srcRange;k=this.verticalAngleMap.dstRange;var n=k[1]-k[0];this.phi=
+TWEEN.Easing.Quadratic.EaseInOut(((this.phi-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.horizontalAngleMap.srcRange;k=this.horizontalAngleMap.dstRange;n=k[1]-k[0];this.theta=TWEEN.Easing.Quadratic.EaseInOut(((this.theta-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.target.position;f.x=100*Math.sin(this.phi)*Math.cos(this.theta);f.y=100*Math.cos(this.phi);f.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.supr.update.call(this,b,e,c)};this.onMouseMove=function(b){this.mouseX=
+b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var b=new THREE.MeshLambertMaterial({color:30719}),k=new THREE.MeshLambertMaterial({color:65280}),n=new THREE.CubeGeometry(10,10,20),u=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(n,b);b=new THREE.Mesh(u,k);b.position.set(0,10,0);this.animation=
+c(this.animationParent,this.spline,this.id,this.duration);this.animationParent.addChild(this);this.animationParent.addChild(this.target);this.animationParent.addChild(b)}else this.animation=c(this.animationParent,this.spline,this.id,this.duration),this.animationParent.addChild(this.target),this.animationParent.addChild(this);this.createDebugPath&&f(this.debugPath,this.spline);this.domElement.addEventListener("mousemove",function(b,e){return function(){e.apply(b,arguments)}}(this,this.onMouseMove),
+!1)};THREE.PathCamera.prototype=new THREE.Camera;THREE.PathCamera.prototype.constructor=THREE.PathCamera;THREE.PathCamera.prototype.supr=THREE.Camera.prototype;THREE.PathCameraIdCounter=0;
+THREE.FlyCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.tmpQuaternion=new THREE.Quaternion;this.movementSpeed=1;this.rollSpeed=0.005;this.autoForward=this.dragToLook=!1;this.domElement=document;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=b.movementSpeed;if(b.rollSpeed!==void 0)this.rollSpeed=b.rollSpeed;if(b.dragToLook!==void 0)this.dragToLook=b.dragToLook;if(b.autoForward!==void 0)this.autoForward=
+b.autoForward;if(b.domElement!==void 0)this.domElement=b.domElement}this.useTarget=!1;this.useQuaternion=!0;this.mouseStatus=0;this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0};this.moveVector=new THREE.Vector3(0,0,0);this.rotationVector=new THREE.Vector3(0,0,0);this.lastUpdate=-1;this.tdiff=0;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.keydown=function(b){if(!b.altKey){switch(b.keyCode){case 16:this.movementSpeedMultiplier=
+0.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector();this.updateRotationVector()}};
+this.keyup=function(b){switch(b.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;
+case 69:this.moveState.rollRight=0}this.updateMovementVector();this.updateRotationVector()};this.mousedown=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus++;else switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}};this.mousemove=function(b){if(!this.dragToLook||this.mouseStatus>0){var c=this.getContainerDimensions(),h=c.size[0]/2,m=c.size[1]/2;this.moveState.yawLeft=-(b.clientX-c.offset[0]-h)/h;this.moveState.pitchDown=(b.clientY-
+c.offset[1]-m)/m;this.updateRotationVector()}};this.mouseup=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.updateRotationVector()};this.update=function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;var b=this.tdiff*this.movementSpeed,c=this.tdiff*
+this.rollSpeed;this.translateX(this.moveVector.x*b);this.translateY(this.moveVector.y*b);this.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*c,this.rotationVector.y*c,this.rotationVector.z*c,1).normalize();this.quaternion.multiplySelf(this.tmpQuaternion);this.matrix.setPosition(this.position);this.matrix.setRotationFromQuaternion(this.quaternion);this.matrixWorldNeedsUpdate=!0;this.supr.update.call(this)};this.updateMovementVector=function(){var b=this.moveState.forward||
+this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-b+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=
+document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",c(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",c(this,this.mouseup),!1);window.addEventListener("keydown",c(this,this.keydown),!1);window.addEventListener("keyup",c(this,
+this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
+THREE.RollCamera=function(b,c,e,f){THREE.Camera.call(this,b,c,e,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.matrixAutoUpdate=this.useTarget=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=-1;this.delta=0;var h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Matrix4,u=!1,p=1,v=0,t=0,x=0,w=0,z=0,y=window.innerWidth/2,B=window.innerHeight/2;this.update=
+function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.delta=(b-this.lastUpdate)/1E3;this.lastUpdate=b;this.mouseLook&&(b=this.delta*this.lookSpeed,this.rotateHorizontally(b*w),this.rotateVertically(b*z));b=this.delta*this.movementSpeed;this.translateZ(b*(v>0||this.autoForward&&!(v<0)?1:v));this.translateX(b*t);this.translateY(b*x);u&&(this.roll+=this.rollSpeed*this.delta*p);if(this.forward.y>this.constrainVertical[1])this.forward.y=this.constrainVertical[1],this.forward.normalize();
+else if(this.forward.y<this.constrainVertical[0])this.forward.y=this.constrainVertical[0],this.forward.normalize();k.copy(this.forward);m.set(0,1,0);h.cross(m,k).normalize();m.cross(k,h).normalize();this.matrix.n11=h.x;this.matrix.n12=m.x;this.matrix.n13=k.x;this.matrix.n21=h.y;this.matrix.n22=m.y;this.matrix.n23=k.y;this.matrix.n31=h.z;this.matrix.n32=m.z;this.matrix.n33=k.z;n.identity();n.n11=Math.cos(this.roll);n.n12=-Math.sin(this.roll);n.n21=Math.sin(this.roll);n.n22=Math.cos(this.roll);this.matrix.multiplySelf(n);
+this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(b){this.position.x+=this.matrix.n11*b;this.position.y+=this.matrix.n21*b;this.position.z+=this.matrix.n31*b};this.translateY=function(b){this.position.x+=this.matrix.n12*b;this.position.y+=this.matrix.n22*b;this.position.z+=this.matrix.n32*b};this.translateZ=function(b){this.position.x-=this.matrix.n13*b;this.position.y-=
+this.matrix.n23*b;this.position.z-=this.matrix.n33*b};this.rotateHorizontally=function(b){h.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);h.multiplyScalar(b);this.forward.subSelf(h);this.forward.normalize()};this.rotateVertically=function(b){m.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);m.multiplyScalar(b);this.forward.addSelf(m);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+function(b){w=(b.clientX-y)/window.innerWidth;z=(b.clientY-B)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=1;break;case 2:v=-1}},!1);this.domElement.addEventListener("mouseup",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=0;break;case 2:v=0}},!1);this.domElement.addEventListener("keydown",function(b){switch(b.keyCode){case 38:case 87:v=1;break;case 37:case 65:t=-1;break;
+case 40:case 83:v=-1;break;case 39:case 68:t=1;break;case 81:u=!0;p=1;break;case 69:u=!0;p=-1;break;case 82:x=1;break;case 70:x=-1}},!1);this.domElement.addEventListener("keyup",function(b){switch(b.keyCode){case 38:case 87:v=0;break;case 37:case 65:t=0;break;case 40:case 83:v=0;break;case 39:case 68:t=0;break;case 81:u=!1;break;case 69:u=!1;break;case 82:x=0;break;case 70:x=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
+THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}b=b||{};THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.domElement=b.domElement||document;this.screen=b.screen||{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0};this.radius=b.radius||(this.screen.width+this.screen.height)/4;this.rotateSpeed=b.rotateSpeed||1;this.zoomSpeed=b.zoomSpeed||1.2;this.panSpeed=b.panSpeed||0.3;this.noZoom=b.noZoom||!1;this.noPan=b.noPan||
+!1;this.staticMoving=b.staticMoving||!1;this.dynamicDampingFactor=b.dynamicDampingFactor||0.2;this.minDistance=b.minDistance||0;this.maxDistance=b.maxDistance||Infinity;this.keys=b.keys||[65,83,68];this.useTarget=!0;var e=!1,f=this.STATE.NONE,h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Vector2,u=new THREE.Vector2,p=new THREE.Vector2,v=new THREE.Vector2;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.getMouseOnScreen=function(b,c){return new THREE.Vector2((b-
+this.screen.offsetLeft)/this.radius*0.5,(c-this.screen.offsetTop)/this.radius*0.5)};this.getMouseProjectionOnBall=function(b,c){var e=new THREE.Vector3((b-this.screen.width*0.5-this.screen.offsetLeft)/this.radius,(this.screen.height*0.5+this.screen.offsetTop-c)/this.radius,0),f=e.length();f>1?e.normalize():e.z=Math.sqrt(1-f*f);h=this.position.clone().subSelf(this.target.position);f=this.up.clone().setLength(e.y);f.addSelf(this.up.clone().crossSelf(h).setLength(e.x));f.addSelf(h.setLength(e.z));return f};
+this.rotateCamera=function(){var b=Math.acos(m.dot(k)/m.length()/k.length());if(b){var c=(new THREE.Vector3).cross(m,k).normalize(),e=new THREE.Quaternion;b*=this.rotateSpeed;e.setFromAxisAngle(c,-b);e.multiplyVector3(h);e.multiplyVector3(this.up);e.multiplyVector3(k);this.staticMoving?m=k:(e.setFromAxisAngle(c,b*(this.dynamicDampingFactor-1)),e.multiplyVector3(m))}};this.zoomCamera=function(){var b=1+(u.y-n.y)*this.zoomSpeed;b!==1&&b>0&&(h.multiplyScalar(b),this.staticMoving?n=u:n.y+=(u.y-n.y)*this.dynamicDampingFactor)};
+this.panCamera=function(){var b=v.clone().subSelf(p);if(b.lengthSq()){b.multiplyScalar(h.length()*this.panSpeed);var c=h.clone().crossSelf(this.up).setLength(b.x);c.addSelf(this.up.clone().setLength(b.y));this.position.addSelf(c);this.target.position.addSelf(c);this.staticMoving?p=v:p.addSelf(b.sub(v,p).multiplyScalar(this.dynamicDampingFactor))}};this.checkDistances=function(){if(!this.noZoom||!this.noPan)this.position.lengthSq()>this.maxDistance*this.maxDistance&&this.position.setLength(this.maxDistance),
+h.lengthSq()<this.minDistance*this.minDistance&&this.position.add(this.target.position,h.setLength(this.minDistance))};this.update=function(b,c,e){h=this.position.clone().subSelf(this.target.position);this.rotateCamera();this.noZoom||this.zoomCamera();this.noPan||this.panCamera();this.position.add(this.target.position,h);this.checkDistances();this.supr.update.call(this,b,c,e)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+c(this,function(b){e&&(m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY),n=u=this.getMouseOnScreen(b.clientX,b.clientY),p=v=this.getMouseOnScreen(b.clientX,b.clientY),e=!1);f!==this.STATE.NONE&&(f===this.STATE.ROTATE?k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?u=this.getMouseOnScreen(b.clientX,b.clientY):f===this.STATE.PAN&&!this.noPan&&(v=this.getMouseOnScreen(b.clientX,b.clientY)))}),!1);this.domElement.addEventListener("mousedown",c(this,function(b){b.preventDefault();
+b.stopPropagation();if(f===this.STATE.NONE)f=b.button,f===this.STATE.ROTATE?m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?n=u=this.getMouseOnScreen(b.clientX,b.clientY):this.noPan||(p=v=this.getMouseOnScreen(b.clientX,b.clientY))}),!1);this.domElement.addEventListener("mouseup",c(this,function(b){b.preventDefault();b.stopPropagation();f=this.STATE.NONE}),!1);window.addEventListener("keydown",c(this,function(b){if(f===this.STATE.NONE){if(b.keyCode===this.keys[this.STATE.ROTATE])f=
+this.STATE.ROTATE;else if(b.keyCode===this.keys[this.STATE.ZOOM]&&!this.noZoom)f=this.STATE.ZOOM;else if(b.keyCode===this.keys[this.STATE.PAN]&&!this.noPan)f=this.STATE.PAN;f!==this.STATE.NONE&&(e=!0)}}),!1);window.addEventListener("keyup",c(this,function(){if(f!==this.STATE.NONE)f=this.STATE.NONE}),!1)};THREE.TrackballCamera.prototype=new THREE.Camera;THREE.TrackballCamera.prototype.constructor=THREE.TrackballCamera;THREE.TrackballCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera.prototype.STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2};THREE.QuakeCamera=THREE.FirstPersonCamera;
+THREE.CubeGeometry=function(b,c,e,f,h,m,k,n,u){function p(b,c,e,k,n,p,t,u){var w,x,y=f||1,z=h||1,O=n/2,S=p/2,P=v.vertices.length;if(b=="x"&&c=="y"||b=="y"&&c=="x")w="z";else if(b=="x"&&c=="z"||b=="z"&&c=="x")w="y",z=m||1;else if(b=="z"&&c=="y"||b=="y"&&c=="z")w="x",y=m||1;var o=y+1,W=z+1;n/=y;var na=p/z;for(x=0;x<W;x++)for(p=0;p<o;p++){var R=new THREE.Vector3;R[b]=(p*n-O)*e;R[c]=(x*na-S)*k;R[w]=t;v.vertices.push(new THREE.Vertex(R))}for(x=0;x<z;x++)for(p=0;p<y;p++)v.faces.push(new THREE.Face4(p+o*
+x+P,p+o*(x+1)+P,p+1+o*(x+1)+P,p+1+o*x+P,null,null,u)),v.faceVertexUvs[0].push([new THREE.UV(p/y,x/z),new THREE.UV(p/y,(x+1)/z),new THREE.UV((p+1)/y,(x+1)/z),new THREE.UV((p+1)/y,x/z)])}THREE.Geometry.call(this);var v=this,t=b/2,x=c/2,w=e/2,n=n?-1:1;if(k!==void 0)if(k instanceof Array)this.materials=k;else{this.materials=[];for(var z=0;z<6;z++)this.materials.push([k])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(u!=void 0)for(var y in u)this.sides[y]!=void 0&&(this.sides[y]=
+u[y]);this.sides.px&&p("z","y",1*n,-1,e,c,-t,this.materials[0]);this.sides.nx&&p("z","y",-1*n,-1,e,c,t,this.materials[1]);this.sides.py&&p("x","z",1*n,1,b,e,x,this.materials[2]);this.sides.ny&&p("x","z",1*n,-1,b,e,-x,this.materials[3]);this.sides.pz&&p("x","y",1*n,-1,b,c,w,this.materials[4]);this.sides.nz&&p("x","y",-1*n,-1,b,c,-w,this.materials[5]);(function(){for(var b=[],c=[],e=0,f=v.vertices.length;e<f;e++){for(var k=v.vertices[e],h=!1,m=0,n=b.length;m<n;m++){var p=b[m];if(k.position.x==p.position.x&&
+k.position.y==p.position.y&&k.position.z==p.position.z){c[e]=m;h=!0;break}}if(!h)c[e]=b.length,b.push(new THREE.Vertex(k.position.clone()))}e=0;for(f=v.faces.length;e<f;e++)k=v.faces[e],k.a=c[k.a],k.b=c[k.b],k.c=c[k.c],k.d=c[k.d];v.vertices=b})();this.computeCentroids();this.computeFaceNormals()};THREE.CubeGeometry.prototype=new THREE.Geometry;THREE.CubeGeometry.prototype.constructor=THREE.CubeGeometry;
+THREE.CylinderGeometry=function(b,c,e,f,h,m){function k(b,c,e){n.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}THREE.Geometry.call(this);var n=this,u,p=Math.PI*2,v=f/2;for(u=0;u<b;u++)k(Math.sin(p*u/b)*c,Math.cos(p*u/b)*c,-v);for(u=0;u<b;u++)k(Math.sin(p*u/b)*e,Math.cos(p*u/b)*e,v);var t,x,w,z,y=c-e;for(u=0;u<b;u++)t=new THREE.Vector3,t.copy(n.vertices[u].position),t.z=y,t.normalize(),x=new THREE.Vector3,x.copy(n.vertices[u+b].position),x.z=y,x.normalize(),w=new THREE.Vector3,w.copy(n.vertices[b+
+(u+1)%b].position),w.z=y,w.normalize(),z=new THREE.Vector3,z.copy(n.vertices[(u+1)%b].position),z.z=y,z.normalize(),n.faces.push(new THREE.Face4(u,u+b,b+(u+1)%b,(u+1)%b,[t,x,w,z]));if(e>0){e=new THREE.Vector3(0,0,-1);k(0,0,-v-(m||0));for(u=b;u<b+b/2;u++)n.faces.push(new THREE.Face4(2*b,(2*u-2*b)%b,(2*u-2*b+1)%b,(2*u-2*b+2)%b,[e,e,e,e]))}if(c>0){c=new THREE.Vector3(0,0,1);k(0,0,v+(h||0));for(u=b+b/2;u<2*b;u++)n.faces.push(new THREE.Face4(2*b+1,(2*u-2*b+2)%b+b,(2*u-2*b+1)%b+b,(2*u-2*b)%b+b,[c,c,c,c]))}u=
+0;for(b=this.faces.length;u<b;u++)h=[],v=this.faces[u],c=this.vertices[v.a],m=this.vertices[v.b],e=this.vertices[v.c],t=this.vertices[v.d],h.push(new THREE.UV(0.5+Math.atan2(c.position.x,c.position.y)/p,0.5+c.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(m.position.x,m.position.y)/p,0.5+m.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(e.position.x,e.position.y)/p,0.5+e.position.z/f)),v instanceof THREE.Face4&&h.push(new THREE.UV(0.5+Math.atan2(t.position.x,t.position.y)/p,0.5+t.position.z/
+f)),this.faceVertexUvs[0].push(h);this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=new THREE.Geometry;THREE.CylinderGeometry.prototype.constructor=THREE.CylinderGeometry;THREE.ExtrudeGeometry=function(b,c){if(typeof b!="undefined"){THREE.Geometry.call(this);var b=b instanceof Array?b:[b],e,f=b.length,h;this.shapebb=b[f-1].getBoundingBox();for(e=0;e<f;e++)h=b[e],this.addShape(h,c);this.computeCentroids();this.computeFaceNormals()}};
+THREE.ExtrudeGeometry.prototype=new THREE.Geometry;THREE.ExtrudeGeometry.prototype.constructor=THREE.ExtrudeGeometry;
+THREE.ExtrudeGeometry.prototype.addShape=function(b,c){function e(b,c,e){c||console.log("die");return c.clone().multiplyScalar(e).addSelf(b)}function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeometry.__v2,h=THREE.ExtrudeGeometry.__v3,m=THREE.ExtrudeGeometry.__v4,n=THREE.ExtrudeGeometry.__v5,o=THREE.ExtrudeGeometry.__v6;f.set(b.x-c.x,b.y-c.y);k.set(b.x-e.x,b.y-e.y);f=f.normalize();k=k.normalize();h.set(-f.y,f.x);m.set(k.y,-k.x);n.copy(b).addSelf(h);o.copy(b).addSelf(m);if(n.equals(o))return m.clone();
+n.copy(c).addSelf(h);o.copy(e).addSelf(m);h=f.dot(m);m=o.subSelf(n).dot(m);h==0&&(console.log("Either infinite or no solutions!"),m==0?console.log("Its finite solutions."):console.log("Too bad, no solutions."));m/=h;if(m<0)return c=Math.atan2(c.y-b.y,c.x-b.x),b=Math.atan2(e.y-b.y,e.x-b.x),c>b&&(b+=Math.PI*2),anglec=(c+b)/2,new THREE.Vector2(-Math.cos(anglec),-Math.sin(anglec));return f.multiplyScalar(m).addSelf(n).subSelf(b).clone()}function h(b){for(L=b.length;--L>=0;){ga=L;da=L-1;da<0&&(da=b.length-
+1);for(var c=0,e=w+v*2,c=0;c<e;c++){var f=na*c,k=na*(c+1),h=$+ga+f,m=$+ga+k,o=h,f=$+da+f,k=$+da+k,p=m;o+=U;f+=U;k+=U;p+=U;K.faces.push(new THREE.Face4(o,f,k,p,null,null,E));E&&(o=c/e,f=(c+1)/e,k=n+u*2,h=(K.vertices[h].position.z+u)/k,m=(K.vertices[m].position.z+u)/k,K.faceVertexUvs[0].push([new THREE.UV(h,o),new THREE.UV(m,o),new THREE.UV(m,f),new THREE.UV(h,f)]))}}}function m(b,c,e){K.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}function k(b,c,e){b+=U;c+=U;e+=U;K.faces.push(new THREE.Face3(b,
+c,e,null,null,H));if(H){var f=N.maxY,k=N.maxX,h=K.vertices[c].position.x,c=K.vertices[c].position.y,m=K.vertices[e].position.x,e=K.vertices[e].position.y;K.faceVertexUvs[0].push([new THREE.UV(K.vertices[b].position.x/k,K.vertices[b].position.y/f),new THREE.UV(h/k,c/f),new THREE.UV(m/k,e/f)])}}var n=c.amount!==void 0?c.amount:100,u=c.bevelThickness!==void 0?c.bevelThickness:6,p=c.bevelSize!==void 0?c.bevelSize:u-2,v=c.bevelSegments!==void 0?c.bevelSegments:3,t=c.bevelEnabled!==void 0?c.bevelEnabled:
+!0,x=c.curveSegments!==void 0?c.curveSegments:12,w=c.steps!==void 0?c.steps:1,z=c.bendPath,y=c.extrudePath,B,D=!1,G=c.useSpacedPoints!==void 0?c.useSpacedPoints:!1,H=c.material,E=c.extrudeMaterial,N=this.shapebb;if(y)B=y.getPoints(x),w=B.length,D=!0,t=!1;t||(p=u=v=0);var F,I,C,K=this,U=this.vertices.length;z&&b.addWrapPath(z);x=G?b.extractAllSpacedPoints(x):b.extractAllPoints(x);z=x.shape;x=x.holes;if(y=!THREE.Shape.Utils.isClockWise(z)){z=z.reverse();I=0;for(C=x.length;I<C;I++)F=x[I],THREE.Shape.Utils.isClockWise(F)&&
+(x[I]=F.reverse());y=!1}y=THREE.Shape.Utils.triangulateShape(z,x);G=z;I=0;for(C=x.length;I<C;I++)F=x[I],z=z.concat(F);var L,O,S,P,o,W,na=z.length,R=y.length,ia=[];L=0;O=G.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ia[L]=f(G[L],G[ga],G[da]);var aa=[],ma,fa=ia.concat();I=0;for(C=x.length;I<C;I++){F=x[I];ma=[];L=0;O=F.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ma[L]=f(F[L],F[ga],F[da]);aa.push(ma);fa=fa.concat(ma)}for(S=0;S<v;S++){P=S/v;o=u*(1-
+P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,-o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),m(W.x,W.y,-o)}}P=p;for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[0].y,B[0].x):m(W.x,W.y,0);for(S=1;S<=w;S++)for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[S-1].y,B[S-1].x):m(W.x,W.y,n/w*S);for(S=v-1;S>=0;S--){P=S/v;o=u*(1-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,
+n+o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),D?m(W.x,W.y+B[w-1].y,B[w-1].x+o):m(W.x,W.y,n+o)}}if(t){t=na*0;for(L=0;L<R;L++)p=y[L],k(p[2]+t,p[1]+t,p[0]+t);t=na*(w+v*2);for(L=0;L<R;L++)p=y[L],k(p[0]+t,p[1]+t,p[2]+t)}else{for(L=0;L<R;L++)p=y[L],k(p[2],p[1],p[0]);for(L=0;L<R;L++)p=y[L],k(p[0]+na*w,p[1]+na*w,p[2]+na*w)}var ga,da,$=0;h(G);$+=G.length;I=0;for(C=x.length;I<C;I++)F=x[I],h(F),$+=F.length};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;
+THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;
+THREE.IcosahedronGeometry=function(b){function c(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(new THREE.Vertex(new THREE.Vector3(b/f,c/f,e/f)))-1}function e(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}function f(b,e){var f=h.vertices[b].position,k=h.vertices[e].position;return c((f.x+k.x)/2,(f.y+k.y)/2,(f.z+k.z)/2)}var h=this,m=new THREE.Geometry;this.subdivisions=b||0;THREE.Geometry.call(this);b=(1+Math.sqrt(5))/2;c(-1,b,0);c(1,b,0);c(-1,-b,0);c(1,-b,0);c(0,-1,b);c(0,1,b);c(0,-1,
+-b);c(0,1,-b);c(b,0,-1);c(b,0,1);c(-b,0,-1);c(-b,0,1);e(0,11,5,m);e(0,5,1,m);e(0,1,7,m);e(0,7,10,m);e(0,10,11,m);e(1,5,9,m);e(5,11,4,m);e(11,10,2,m);e(10,7,6,m);e(7,1,8,m);e(3,9,4,m);e(3,4,2,m);e(3,2,6,m);e(3,6,8,m);e(3,8,9,m);e(4,9,5,m);e(2,4,11,m);e(6,2,10,m);e(8,6,7,m);e(9,8,1,m);for(var k=0;k<this.subdivisions;k++){var b=new THREE.Geometry,n;for(n in m.faces){var u=f(m.faces[n].a,m.faces[n].b),p=f(m.faces[n].b,m.faces[n].c),v=f(m.faces[n].c,m.faces[n].a);e(m.faces[n].a,u,v,b);e(m.faces[n].b,p,
+u,b);e(m.faces[n].c,v,p,b);e(u,p,v,b)}m.faces=b.faces}h.faces=m.faces;this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.IcosahedronGeometry.prototype=new THREE.Geometry;THREE.IcosahedronGeometry.prototype.constructor=THREE.IcosahedronGeometry;
+THREE.LatheGeometry=function(b,c,e){THREE.Geometry.call(this);this.steps=c||12;this.angle=e||2*Math.PI;for(var c=this.angle/this.steps,e=[],f=[],h=[],m=[],k=(new THREE.Matrix4).setRotationZ(c),n=0;n<b.length;n++)this.vertices.push(new THREE.Vertex(b[n])),e[n]=b[n].clone(),f[n]=this.vertices.length-1;for(var u=0;u<=this.angle+0.001;u+=c){for(n=0;n<e.length;n++)u<this.angle?(e[n]=k.multiplyVector3(e[n].clone()),this.vertices.push(new THREE.Vertex(e[n])),h[n]=this.vertices.length-1):h=m;u==0&&(m=f);
+for(n=0;n<f.length-1;n++)this.faces.push(new THREE.Face4(h[n],h[n+1],f[n+1],f[n])),this.faceVertexUvs[0].push([new THREE.UV(1-u/this.angle,n/b.length),new THREE.UV(1-u/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,n/b.length)]);f=h;h=[]}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=new THREE.Geometry;THREE.LatheGeometry.prototype.constructor=THREE.LatheGeometry;
+THREE.PlaneGeometry=function(b,c,e,f){THREE.Geometry.call(this);var h,m=b/2,k=c/2,e=e||1,f=f||1,n=e+1,u=f+1;b/=e;var p=c/f;for(h=0;h<u;h++)for(c=0;c<n;c++)this.vertices.push(new THREE.Vertex(new THREE.Vector3(c*b-m,-(h*p-k),0)));for(h=0;h<f;h++)for(c=0;c<e;c++)this.faces.push(new THREE.Face4(c+n*h,c+n*(h+1),c+1+n*(h+1),c+1+n*h)),this.faceVertexUvs[0].push([new THREE.UV(c/e,h/f),new THREE.UV(c/e,(h+1)/f),new THREE.UV((c+1)/e,(h+1)/f),new THREE.UV((c+1)/e,h/f)]);this.computeCentroids();this.computeFaceNormals()};
+THREE.PlaneGeometry.prototype=new THREE.Geometry;THREE.PlaneGeometry.prototype.constructor=THREE.PlaneGeometry;
+THREE.SphereGeometry=function(b,c,e){THREE.Geometry.call(this);for(var b=b||50,f,h=Math.PI,m=Math.max(3,c||8),k=Math.max(2,e||6),c=[],e=0;e<k+1;e++){f=e/k;var n=b*Math.cos(f*h),u=b*Math.sin(f*h),p=[],v=0;for(f=0;f<m;f++){var t=2*f/m,x=u*Math.sin(t*h),t=u*Math.cos(t*h);(e==0||e==k)&&f>0||(v=this.vertices.push(new THREE.Vertex(new THREE.Vector3(t,n,x)))-1);p.push(v)}c.push(p)}for(var w,z,y,h=c.length,e=0;e<h;e++)if(m=c[e].length,e>0)for(f=0;f<m;f++){p=f==m-1;k=c[e][p?0:f+1];n=c[e][p?m-1:f];u=c[e-1][p?
+m-1:f];p=c[e-1][p?0:f+1];x=e/(h-1);w=(e-1)/(h-1);z=(f+1)/m;var t=f/m,v=new THREE.UV(1-z,x),x=new THREE.UV(1-t,x),t=new THREE.UV(1-t,w),B=new THREE.UV(1-z,w);e<c.length-1&&(w=this.vertices[k].position.clone(),z=this.vertices[n].position.clone(),y=this.vertices[u].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,n,u,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,x,t]));e>1&&(w=
+this.vertices[k].position.clone(),z=this.vertices[u].position.clone(),y=this.vertices[p].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,u,p,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,t,B]))}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals();this.boundingSphere={radius:b}};THREE.SphereGeometry.prototype=new THREE.Geometry;
+THREE.SphereGeometry.prototype.constructor=THREE.SphereGeometry;
+THREE.TextGeometry=function(b,c){var e=(new THREE.TextPath(b,c)).toShapes();c.amount=c.height!==void 0?c.height:50;if(c.bevelThickness===void 0)c.bevelThickness=10;if(c.bevelSize===void 0)c.bevelSize=8;if(c.bevelEnabled===void 0)c.bevelEnabled=!1;if(c.bend){var f=e[e.length-1].getBoundingBox().maxX;c.bendPath=new THREE.QuadraticBezierCurve(new THREE.Vector2(0,0),new THREE.Vector2(f/2,120),new THREE.Vector2(f,0))}THREE.ExtrudeGeometry.call(this,e,c)};THREE.TextGeometry.prototype=new THREE.ExtrudeGeometry;
+THREE.TextGeometry.prototype.constructor=THREE.TextGeometry;
+THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},getTextShapes:function(b,c){return(new TextPath(b,c)).toShapes()},loadFace:function(b){var c=b.familyName.toLowerCase();this.faces[c]=this.faces[c]||{};this.faces[c][b.cssFontWeight]=this.faces[c][b.cssFontWeight]||{};this.faces[c][b.cssFontWeight][b.cssFontStyle]=b;return this.faces[c][b.cssFontWeight][b.cssFontStyle]=b},drawText:function(b){for(var c=
+this.getFace(),e=this.size/c.resolution,f=0,h=String(b).split(""),m=h.length,k=[],b=0;b<m;b++){var n=new THREE.Path,n=this.extractGlyphPoints(h[b],c,e,f,n);f+=n.offset;k.push(n.path)}return{paths:k,offset:f/2}},extractGlyphPoints:function(b,c,e,f,h){var m=[],k,n,u,p,v,t,x,w,z,y,B=c.glyphs[b]||c.glyphs[ctxt.options.fallbackCharacter];if(B){if(B.o){c=B._cachedOutline||(B._cachedOutline=B.o.split(" "));u=c.length;for(b=0;b<u;)switch(n=c[b++],n){case "m":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,
+p));h.moveTo(n,p);break;case "l":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,p));h.lineTo(n,p);break;case "q":n=c[b++]*e+f;p=c[b++]*e;x=c[b++]*e+f;w=c[b++]*e;h.quadraticCurveTo(x,w,n,p);if(k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++){var D=k/divisions,G=THREE.Shape.Utils.b2(D,v,x,n),D=THREE.Shape.Utils.b2(D,t,w,p);m.push(new THREE.Vector2(G,D))}}break;case "b":if(n=c[b++]*e+f,p=c[b++]*e,x=c[b++]*e+f,w=c[b++]*-e,z=c[b++]*e+f,y=c[b++]*-e,h.bezierCurveTo(n,p,
+x,w,z,y),k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++)D=k/divisions,G=THREE.Shape.Utils.b3(D,v,x,z,n),D=THREE.Shape.Utils.b3(D,t,w,y,p),m.push(new THREE.Vector2(G,D))}}}return{offset:B.ha*e,points:m,path:h}}}};
+(function(b){var c=function(b){for(var c=b.length,h=0,m=c-1,k=0;k<c;m=k++)h+=b[m].x*b[k].y-b[k].x*b[m].y;return h*0.5};b.Triangulate=function(b,f){var h=b.length;if(h<3)return null;var m=[],k=[],n=[],u,p,v;if(c(b)>0)for(p=0;p<h;p++)k[p]=p;else for(p=0;p<h;p++)k[p]=h-1-p;var t=2*h;for(p=h-1;h>2;){if(t--<=0){console.log("Warning, unable to triangulate polygon!");if(f)return n;return m}u=p;h<=u&&(u=0);p=u+1;h<=p&&(p=0);v=p+1;h<=v&&(v=0);var x;a:{x=b;var w=u,z=p,y=v,B=h,D=k,G=void 0,H=void 0,E=void 0,
+N=void 0,F=void 0,I=void 0,C=void 0,K=void 0,U=void 0,H=x[D[w]].x,E=x[D[w]].y,N=x[D[z]].x,F=x[D[z]].y,I=x[D[y]].x,C=x[D[y]].y;if(1.0E-10>(N-H)*(C-E)-(F-E)*(I-H))x=!1;else{for(G=0;G<B;G++)if(!(G==w||G==z||G==y)){var K=x[D[G]].x,U=x[D[G]].y,L=void 0,O=void 0,S=void 0,P=void 0,o=void 0,W=void 0,na=void 0,R=void 0,ia=void 0,aa=void 0,ma=void 0,fa=void 0,L=S=o=void 0,L=I-N,O=C-F,S=H-I,P=E-C,o=N-H,W=F-E,na=K-H,R=U-E,ia=K-N,aa=U-F,ma=K-I,fa=U-C,L=L*aa-O*ia,o=o*R-W*na,S=S*fa-P*ma;if(L>=0&&S>=0&&o>=0){x=!1;
+break a}}x=!0}}if(x){m.push([b[k[u]],b[k[p]],b[k[v]]]);n.push([k[u],k[p],k[v]]);u=p;for(v=p+1;v<h;u++,v++)k[u]=k[v];h--;t=2*h}}if(f)return n;return m};b.Triangulate.area=c;return b})(THREE.FontUtils);window._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};
+THREE.TorusGeometry=function(b,c,e,f,h){THREE.Geometry.call(this);this.radius=b||100;this.tube=c||40;this.segmentsR=e||8;this.segmentsT=f||6;this.arc=h||Math.PI*2;h=new THREE.Vector3;b=[];c=[];for(e=0;e<=this.segmentsR;e++)for(f=0;f<=this.segmentsT;f++){var m=f/this.segmentsT*this.arc,k=e/this.segmentsR*Math.PI*2;h.x=this.radius*Math.cos(m);h.y=this.radius*Math.sin(m);var n=new THREE.Vector3;n.x=(this.radius+this.tube*Math.cos(k))*Math.cos(m);n.y=(this.radius+this.tube*Math.cos(k))*Math.sin(m);n.z=
+this.tube*Math.sin(k);this.vertices.push(new THREE.Vertex(n));b.push(new THREE.UV(f/this.segmentsT,1-e/this.segmentsR));c.push(n.clone().subSelf(h).normalize())}for(e=1;e<=this.segmentsR;e++)for(f=1;f<=this.segmentsT;f++){var h=(this.segmentsT+1)*e+f-1,m=(this.segmentsT+1)*(e-1)+f-1,k=(this.segmentsT+1)*(e-1)+f,n=(this.segmentsT+1)*e+f,u=new THREE.Face4(h,m,k,n,[c[h],c[m],c[k],c[n]]);u.normal.addSelf(c[h]);u.normal.addSelf(c[m]);u.normal.addSelf(c[k]);u.normal.addSelf(c[n]);u.normal.normalize();this.faces.push(u);
+this.faceVertexUvs[0].push([b[h].clone(),b[m].clone(),b[k].clone(),b[n].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=new THREE.Geometry;THREE.TorusGeometry.prototype.constructor=THREE.TorusGeometry;
+THREE.TorusKnotGeometry=function(b,c,e,f,h,m,k){function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k*(2+e)*0.5*Math.cos(b),k*(2+e)*Math.sin(b)*0.5,h*k*Math.sin(c)*0.5)}THREE.Geometry.call(this);this.radius=b||200;this.tube=c||40;this.segmentsR=e||64;this.segmentsT=f||8;this.p=h||2;this.q=m||3;this.heightScale=k||1;this.grid=Array(this.segmentsR);e=new THREE.Vector3;f=new THREE.Vector3;m=new THREE.Vector3;for(b=0;b<this.segmentsR;++b){this.grid[b]=Array(this.segmentsT);for(c=0;c<
+this.segmentsT;++c){var u=b/this.segmentsR*2*this.p*Math.PI,k=c/this.segmentsT*2*Math.PI,h=n(u,k,this.q,this.p,this.radius,this.heightScale),u=n(u+0.01,k,this.q,this.p,this.radius,this.heightScale);e.x=u.x-h.x;e.y=u.y-h.y;e.z=u.z-h.z;f.x=u.x+h.x;f.y=u.y+h.y;f.z=u.z+h.z;m.cross(e,f);f.cross(m,e);m.normalize();f.normalize();u=-this.tube*Math.cos(k);k=this.tube*Math.sin(k);h.x+=u*f.x+k*m.x;h.y+=u*f.y+k*m.y;h.z+=u*f.z+k*m.z;this.grid[b][c]=this.vertices.push(new THREE.Vertex(new THREE.Vector3(h.x,h.y,
+h.z)))-1}}for(b=0;b<this.segmentsR;++b)for(c=0;c<this.segmentsT;++c){var f=(b+1)%this.segmentsR,m=(c+1)%this.segmentsT,h=this.grid[b][c],e=this.grid[f][c],f=this.grid[f][m],m=this.grid[b][m],k=new THREE.UV(b/this.segmentsR,c/this.segmentsT),u=new THREE.UV((b+1)/this.segmentsR,c/this.segmentsT),p=new THREE.UV((b+1)/this.segmentsR,(c+1)/this.segmentsT),v=new THREE.UV(b/this.segmentsR,(c+1)/this.segmentsT);this.faces.push(new THREE.Face4(h,e,f,m));this.faceVertexUvs[0].push([k,u,p,v])}this.computeCentroids();
+this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=new THREE.Geometry;THREE.TorusKnotGeometry.prototype.constructor=THREE.TorusKnotGeometry;THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
+THREE.Loader.prototype={addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/1E3).toFixed(2)+" KB";
+this.statusDomElement.innerHTML=c},extractUrlbase:function(b){b=b.split("/");b.pop();return b.join("/")},init_materials:function(b,c,e){b.materials=[];for(var f=0;f<c.length;++f)b.materials[f]=[THREE.Loader.prototype.createMaterial(c[f],e)]},hasNormals:function(b){var c,e,f=b.materials.length;for(e=0;e<f;e++)if(c=b.materials[e][0],c instanceof THREE.MeshShaderMaterial)return!0;return!1},createMaterial:function(b,c){function e(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==b}function f(b,c){var f=
+new Image;f.onload=function(){if(!e(this.width)||!e(this.height)){var c=Math.pow(2,Math.round(Math.log(this.width)/Math.LN2)),f=Math.pow(2,Math.round(Math.log(this.height)/Math.LN2));b.image.width=c;b.image.height=f;b.image.getContext("2d").drawImage(this,0,0,c,f)}else b.image=this;b.needsUpdate=!0};f.src=c}function h(b,e,k,h,m,n){var p=document.createElement("canvas");b[e]=new THREE.Texture(p);b[e].sourceFile=k;if(h){b[e].repeat.set(h[0],h[1]);if(h[0]!=1)b[e].wrapS=THREE.RepeatWrapping;if(h[1]!=
+1)b[e].wrapT=THREE.RepeatWrapping}m&&b[e].offset.set(m[0],m[1]);if(n){h={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(h[n[0]]!==void 0)b[e].wrapS=h[n[0]];if(h[n[1]]!==void 0)b[e].wrapT=h[n[1]]}f(b[e],c+"/"+k)}function m(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}var k,n,u;n="MeshLambertMaterial";k={color:15658734,opacity:1,map:null,lightMap:null,normalMap:null,wireframe:b.wireframe};b.shading&&(b.shading=="Phong"?n="MeshPhongMaterial":b.shading=="Basic"&&(n="MeshBasicMaterial"));
+if(b.blending)if(b.blending=="Additive")k.blending=THREE.AdditiveBlending;else if(b.blending=="Subtractive")k.blending=THREE.SubtractiveBlending;else if(b.blending=="Multiply")k.blending=THREE.MultiplyBlending;if(b.transparent!==void 0||b.opacity<1)k.transparent=b.transparent;if(b.depthTest!==void 0)k.depthTest=b.depthTest;if(b.vertexColors!==void 0)if(b.vertexColors=="face")k.vertexColors=THREE.FaceColors;else if(b.vertexColors)k.vertexColors=THREE.VertexColors;if(b.colorDiffuse)k.color=m(b.colorDiffuse);
+else if(b.DbgColor)k.color=b.DbgColor;if(b.colorSpecular)k.specular=m(b.colorSpecular);if(b.colorAmbient)k.ambient=m(b.colorAmbient);if(b.transparency)k.opacity=b.transparency;if(b.specularCoef)k.shininess=b.specularCoef;b.mapDiffuse&&c&&h(k,"map",b.mapDiffuse,b.mapDiffuseRepeat,b.mapDiffuseOffset,b.mapDiffuseWrap);b.mapLight&&c&&h(k,"lightMap",b.mapLight,b.mapLightRepeat,b.mapLightOffset,b.mapLightWrap);b.mapNormal&&c&&h(k,"normalMap",b.mapNormal,b.mapNormalRepeat,b.mapNormalOffset,b.mapNormalWrap);
+b.mapSpecular&&c&&h(k,"specularMap",b.mapSpecular,b.mapSpecularRepeat,b.mapSpecularOffset,b.mapSpecularWrap);if(b.mapNormal){var p=THREE.ShaderUtils.lib.normal,v=THREE.UniformsUtils.clone(p.uniforms),t=k.color;n=k.specular;u=k.ambient;var x=k.shininess;v.tNormal.texture=k.normalMap;if(b.mapNormalFactor)v.uNormalScale.value=b.mapNormalFactor;if(k.map)v.tDiffuse.texture=k.map,v.enableDiffuse.value=!0;if(k.specularMap)v.tSpecular.texture=k.specularMap,v.enableSpecular.value=!0;if(k.lightMap)v.tAO.texture=
+k.lightMap,v.enableAO.value=!0;v.uDiffuseColor.value.setHex(t);v.uSpecularColor.value.setHex(n);v.uAmbientColor.value.setHex(u);v.uShininess.value=x;if(k.opacity)v.uOpacity.value=k.opacity;k=new THREE.MeshShaderMaterial({fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:v,lights:!0,fog:!0})}else k=new THREE[n](k);return k},constructor:THREE.Loader};THREE.BinaryLoader=function(b){THREE.Loader.call(this,b)};THREE.BinaryLoader.prototype=new THREE.Loader;
+THREE.BinaryLoader.prototype.constructor=THREE.BinaryLoader;THREE.BinaryLoader.prototype.supr=THREE.Loader.prototype;
+THREE.BinaryLoader.prototype.load=function(b){var c=b.model,e=b.callback,f=b.texture_path?b.texture_path:THREE.Loader.prototype.extractUrlbase(c),h=b.bin_path?b.bin_path:THREE.Loader.prototype.extractUrlbase(c),b=(new Date).getTime(),c=new Worker(c),m=this.showProgress?THREE.Loader.prototype.updateProgress:null;c.onmessage=function(b){THREE.BinaryLoader.prototype.loadAjaxBuffers(b.data.buffers,b.data.materials,e,h,f,m)};c.onerror=function(b){alert("worker.onerror: "+b.message+"\n"+b.data);b.preventDefault()};
+c.postMessage(b)};
+THREE.BinaryLoader.prototype.loadAjaxBuffers=function(b,c,e,f,h,m){var k=new XMLHttpRequest,n=f+"/"+b,u=0;k.onreadystatechange=function(){k.readyState==4?k.status==200||k.status==0?THREE.BinaryLoader.prototype.createBinModel(k.responseText,e,h,c):alert("Couldn't load ["+n+"] ["+k.status+"]"):k.readyState==3?m&&(u==0&&(u=k.getResponseHeader("Content-Length")),m({total:u,loaded:k.responseText.length})):k.readyState==2&&(u=k.getResponseHeader("Content-Length"))};k.open("GET",n,!0);k.overrideMimeType("text/plain; charset=x-user-defined");
+k.setRequestHeader("Content-Type","text/plain");k.send(null)};
+THREE.BinaryLoader.prototype.createBinModel=function(b,c,e,f){var h=function(c){function e(b,c){var f=v(b,c),k=v(b,c+1),h=v(b,c+2),m=v(b,c+3),n=(m<<1&255|h>>7)-127;f|=(h&127)<<16|k<<8;if(f==0&&n==-127)return 0;return(1-2*(m>>7))*(1+f*Math.pow(2,-23))*Math.pow(2,n)}function h(b,c){var e=v(b,c),f=v(b,c+1),k=v(b,c+2);return(v(b,c+3)<<24)+(k<<16)+(f<<8)+e}function u(b,c){var e=v(b,c);return(v(b,c+1)<<8)+e}function p(b,c){var e=v(b,c);return e>127?e-256:e}function v(b,c){return b.charCodeAt(c)&255}function t(c){var e,
+f,k;e=h(b,c);f=h(b,c+F);k=h(b,c+I);c=u(b,c+C);D.faces.push(new THREE.Face3(e,f,k,null,null,D.materials[c]))}function x(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+F);k=h(b,c+I);m=u(b,c+C);o=h(b,c+K);p=h(b,c+U);c=h(b,c+L);m=D.materials[m];var t=E[p*3],v=E[p*3+1];p=E[p*3+2];var w=E[c*3],M=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face3(e,f,k,[new THREE.Vector3(E[o*3],E[o*3+1],E[o*3+2]),new THREE.Vector3(t,v,p),new THREE.Vector3(w,M,c)],null,m))}function w(c){var e,f,k,m;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,
+c+P);c=u(b,c+o);D.faces.push(new THREE.Face4(e,f,k,m,null,null,D.materials[c]))}function z(c){var e,f,k,m,p,t,v,w;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,c+P);p=u(b,c+o);t=h(b,c+W);v=h(b,c+na);w=h(b,c+R);c=h(b,c+ia);p=D.materials[p];var x=E[v*3],M=E[v*3+1];v=E[v*3+2];var y=E[w*3],T=E[w*3+1];w=E[w*3+2];var z=E[c*3],B=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face4(e,f,k,m,[new THREE.Vector3(E[t*3],E[t*3+1],E[t*3+2]),new THREE.Vector3(x,M,v),new THREE.Vector3(y,T,w),new THREE.Vector3(z,B,c)],null,p))}
+function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+aa);k=h(b,c+ma);c=N[e*2];m=N[e*2+1];e=N[f*2];var o=D.faceVertexUvs[0];f=N[f*2+1];var p=N[k*2];k=N[k*2+1];var t=[];t.push(new THREE.UV(c,m));t.push(new THREE.UV(e,f));t.push(new THREE.UV(p,k));o.push(t)}function B(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+fa);k=h(b,c+ga);m=h(b,c+da);c=N[e*2];o=N[e*2+1];e=N[f*2];p=N[f*2+1];f=N[k*2];var t=D.faceVertexUvs[0];k=N[k*2+1];var u=N[m*2];m=N[m*2+1];var v=[];v.push(new THREE.UV(c,o));v.push(new THREE.UV(e,p));v.push(new THREE.UV(f,
+k));v.push(new THREE.UV(u,m));t.push(v)}var D=this,G=0,H,E=[],N=[],F,I,C,K,U,L,O,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa;THREE.Geometry.call(this);THREE.Loader.prototype.init_materials(D,f,c);H={signature:b.substr(G,8),header_bytes:v(b,G+8),vertex_coordinate_bytes:v(b,G+9),normal_coordinate_bytes:v(b,G+10),uv_coordinate_bytes:v(b,G+11),vertex_index_bytes:v(b,G+12),normal_index_bytes:v(b,G+13),uv_index_bytes:v(b,G+14),material_index_bytes:v(b,G+15),nvertices:h(b,G+16),nnormals:h(b,G+16+4),nuvs:h(b,
+G+16+8),ntri_flat:h(b,G+16+12),ntri_smooth:h(b,G+16+16),ntri_flat_uv:h(b,G+16+20),ntri_smooth_uv:h(b,G+16+24),nquad_flat:h(b,G+16+28),nquad_smooth:h(b,G+16+32),nquad_flat_uv:h(b,G+16+36),nquad_smooth_uv:h(b,G+16+40)};G+=H.header_bytes;F=H.vertex_index_bytes;I=H.vertex_index_bytes*2;C=H.vertex_index_bytes*3;K=H.vertex_index_bytes*3+H.material_index_bytes;U=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes;L=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*2;O=H.vertex_index_bytes;
+S=H.vertex_index_bytes*2;P=H.vertex_index_bytes*3;o=H.vertex_index_bytes*4;W=H.vertex_index_bytes*4+H.material_index_bytes;na=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes;R=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*2;ia=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*3;aa=H.uv_index_bytes;ma=H.uv_index_bytes*2;fa=H.uv_index_bytes;ga=H.uv_index_bytes*2;da=H.uv_index_bytes*3;c=H.vertex_index_bytes*3+H.material_index_bytes;qa=H.vertex_index_bytes*
+4+H.material_index_bytes;$=H.ntri_flat*c;ca=H.ntri_smooth*(c+H.normal_index_bytes*3);X=H.ntri_flat_uv*(c+H.uv_index_bytes*3);ja=H.ntri_smooth_uv*(c+H.normal_index_bytes*3+H.uv_index_bytes*3);ea=H.nquad_flat*qa;c=H.nquad_smooth*(qa+H.normal_index_bytes*4);qa=H.nquad_flat_uv*(qa+H.uv_index_bytes*4);G+=function(c){for(var f,h,m,n=H.vertex_coordinate_bytes*3,o=c+H.nvertices*n;c<o;c+=n)f=e(b,c),h=e(b,c+H.vertex_coordinate_bytes),m=e(b,c+H.vertex_coordinate_bytes*2),D.vertices.push(new THREE.Vertex(new THREE.Vector3(f,
+h,m)));return H.nvertices*n}(G);G+=function(c){for(var e,f,k,h=H.normal_coordinate_bytes*3,m=c+H.nnormals*h;c<m;c+=h)e=p(b,c),f=p(b,c+H.normal_coordinate_bytes),k=p(b,c+H.normal_coordinate_bytes*2),E.push(e/127,f/127,k/127);return H.nnormals*h}(G);G+=function(c){for(var f,h,m=H.uv_coordinate_bytes*2,n=c+H.nuvs*m;c<n;c+=m)f=e(b,c),h=e(b,c+H.uv_coordinate_bytes),N.push(f,h);return H.nuvs*m}(G);$=G+$;ca=$+ca;X=ca+X;ja=X+ja;ea=ja+ea;c=ea+c;qa=c+qa;(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,
+f=e+H.uv_index_bytes*3,k=b+H.ntri_flat_uv*f;for(c=b;c<k;c+=f)t(c),y(c+e);return k-b})(ca);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=e+H.uv_index_bytes*3,k=b+H.ntri_smooth_uv*f;for(c=b;c<k;c+=f)x(c),y(c+e);return k-b})(X);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=e+H.uv_index_bytes*4,k=b+H.nquad_flat_uv*f;for(c=b;c<k;c+=f)w(c),B(c+e);return k-b})(c);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*
+4,f=e+H.uv_index_bytes*4,k=b+H.nquad_smooth_uv*f;for(c=b;c<k;c+=f)z(c),B(c+e);return k-b})(qa);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,f=b+H.ntri_flat*e;for(c=b;c<f;c+=e)t(c);return f-b})(G);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=b+H.ntri_smooth*e;for(c=b;c<f;c+=e)x(c);return f-b})($);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=b+H.nquad_flat*e;for(c=b;c<f;c+=e)w(c);return f-b})(ja);(function(b){var c,
+e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*4,f=b+H.nquad_smooth*e;for(c=b;c<f;c+=e)z(c);return f-b})(ea);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};h.prototype=new THREE.Geometry;h.prototype.constructor=h;c(new h(e))};
+var ColladaLoader=function(){function b(b,c,e){for(var b=$.evaluate(b,$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),f={},k=b.iterateNext(),h=0;k;){k=(new c).parse(k);if(k.id.length==0)k.id=e+h++;f[k.id]=k;k=b.iterateNext()}return f}function c(){var b=1E6,c=-b,e=0,f;for(f in qa)for(var k=qa[f],h=0;h<k.sampler.length;h++){var m=k.sampler[h];m.create();b=Math.min(b,m.startTime);c=Math.max(c,m.endTime);e=Math.max(e,m.input.length)}return{start:b,end:c,frames:e}}function e(b,c,f,k){b.world=b.world||
+new THREE.Matrix4;b.world.copy(b.matrix);if(b.channels&&b.channels.length){var h=b.channels[0].sampler.output[f];h instanceof THREE.Matrix4&&b.world.copy(h)}k&&b.world.multiply(k,b.world);c.push(b);for(k=0;k<b.nodes.length;k++)e(b.nodes[k],c,f,b.world)}function f(b,f,k){var h=V[f.url];if(!h||!h.skin)console.log("could not find skin controller!");else if(!f.skeleton||!f.skeleton.length)console.log("could not find the skeleton for the skin!");else{var m=c(),f=X.getChildById(f.skeleton[0],!0)||X.getChildBySid(f.skeleton[0],
+!0),n,o,p,t,v=new THREE.Vector3,u;for(n=0;n<b.vertices.length;n++)h.skin.bindShapeMatrix.multiplyVector3(b.vertices[n].position);for(k=0;k<m.frames;k++){var w=[],x=[];for(n=0;n<b.vertices.length;n++)x.push(new THREE.Vertex(new THREE.Vector3));e(f,w,k);n=w;o=h.skin;for(t=0;t<n.length;t++){p=n[t];u=-1;for(var y=0;y<o.joints.length;y++)if(p.sid==o.joints[y]){u=y;break}if(u>=0){y=o.invBindMatrices[u];p.invBindMatrix=y;p.skinningMatrix=new THREE.Matrix4;p.skinningMatrix.multiply(p.world,y);p.weights=[];
+for(y=0;y<o.weights.length;y++)for(var z=0;z<o.weights[y].length;z++){var B=o.weights[y][z];B.joint==u&&p.weights.push(B)}}else throw"could not find joint!";}for(n=0;n<w.length;n++)for(o=0;o<w[n].weights.length;o++)p=w[n].weights[o],t=p.index,p=p.weight,u=b.vertices[t],t=x[t],v.x=u.position.x,v.y=u.position.y,v.z=u.position.z,w[n].skinningMatrix.multiplyVector3(v),t.position.x+=v.x*p,t.position.y+=v.y*p,t.position.z+=v.z*p;b.morphTargets.push({name:"target_"+k,vertices:x})}}}function h(b){var c=new THREE.Object3D,
+e,k,m;c.name=b.id||"";c.matrixAutoUpdate=!1;c.matrix=b.matrix;for(m=0;m<b.controllers.length;m++){var n=V[b.controllers[m].url];switch(n.type){case "skin":if(pa[n.skin.source]){var o=new z;o.url=n.skin.source;o.instance_material=b.controllers[m].instance_material;b.geometries.push(o);e=b.controllers[m]}else if(V[n.skin.source]&&(k=n=V[n.skin.source],n.morph&&pa[n.morph.source]))o=new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o);break;case "morph":if(pa[n.morph.source])o=
+new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o),k=b.controllers[m];console.log("DAE: morph-controller partially supported.")}}for(m=0;m<b.geometries.length;m++){var n=b.geometries[m],o=n.instance_material,n=pa[n.url],p={},t=0,v;if(n&&n.mesh&&n.mesh.primitives){if(c.name.length==0)c.name=n.id;if(o)for(j=0;j<o.length;j++){v=o[j];var u=ra[va[v.target].instance_effect.url].shader;u.material.opacity=!u.material.opacity?1:u.material.opacity;v=p[v.symbol]=
+u.material;t++}o=v||new THREE.MeshLambertMaterial({color:14540253,shading:THREE.FlatShading});n=n.mesh.geometry3js;if(t>1){o=new THREE.MeshFaceMaterial;for(j=0;j<n.faces.length;j++)t=n.faces[j],t.materials=[p[t.daeMaterial]]}if(e!==void 0)f(n,e),o.morphTargets=!0,o=new THREE.SkinnedMesh(n,o),o.skeleton=e.skeleton,o.skinController=V[e.url],o.skinInstanceController=e,o.name="skin_"+za.length,za.push(o);else if(k!==void 0){p=n;t=k instanceof x?V[k.url]:k;if(!t||!t.morph)console.log("could not find morph controller!");
+else{t=t.morph;for(u=0;u<t.targets.length;u++){var w=pa[t.targets[u]];if(w.mesh&&w.mesh.primitives&&w.mesh.primitives.length)w=w.mesh.primitives[0].geometry,w.vertices.length===p.vertices.length&&p.morphTargets.push({name:"target_1",vertices:w.vertices})}p.morphTargets.push({name:"target_Z",vertices:p.vertices})}o.morphTargets=!0;o=new THREE.Mesh(n,o);o.name="morph_"+Aa.length;Aa.push(o)}else o=new THREE.Mesh(n,o);c.addChild(o)}}for(m=0;m<b.nodes.length;m++)c.addChild(h(b.nodes[m],b));return c}function m(){this.init_from=
+this.id=""}function k(){this.type=this.name=this.id="";this.morph=this.skin=null}function n(){this.weights=this.targets=this.source=this.method=null}function u(){this.source="";this.bindShapeMatrix=null;this.invBindMatrices=[];this.joints=[];this.weights=[]}function p(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Object3D}function v(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=[];this.transforms=[];this.geometries=[];this.channels=[];this.matrix=new THREE.Matrix4}function t(){this.type=
+this.sid="";this.data=[];this.matrix=new THREE.Matrix4}function x(){this.url="";this.skeleton=[];this.instance_material=[]}function w(){this.target=this.symbol=""}function z(){this.url="";this.instance_material=[]}function y(){this.id="";this.mesh=null}function B(b){this.geometry=b.id;this.primitives=[];this.geometry3js=this.vertices=null}function D(){}function G(){this.material="";this.count=0;this.inputs=[];this.vcount=null;this.p=[];this.geometry=new THREE.Geometry}function H(){this.source="";
+this.stride=this.count=0;this.params=[]}function E(){this.input={}}function N(){this.semantic="";this.offset=0;this.source="";this.set=0}function F(b){this.id=b;this.type=null}function I(){this.name=this.id="";this.instance_effect=null}function C(){this.color=new THREE.Color(0);this.color.setRGB(Math.random(),Math.random(),Math.random());this.color.a=1;this.texcoord=this.texture=null}function K(b,c){this.type=b;this.effect=c;this.material=null}function U(b){this.effect=b;this.format=this.init_from=
+null}function L(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter=this.wrap_t=this.wrap_s=this.source=null}function O(){this.name=this.id="";this.sampler=this.surface=this.shader=null}function S(){this.url=""}function P(){this.name=this.id="";this.source={};this.sampler=[];this.channel=[]}function o(b){this.animation=b;this.target=this.source="";this.member=this.arrIndices=this.arrSyntax=this.dotSyntax=this.sid=null}function W(b){this.id="";this.animation=b;this.inputs=[];this.endTime=
+this.startTime=this.interpolation=this.output=this.input=null;this.duration=0}function na(b){var c=b.getAttribute("id");if(ja[c]!=void 0)return ja[c];ja[c]=(new F(c)).parse(b);return ja[c]}function R(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADASchema";return null}function ia(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseFloat(b[e]));return c}function aa(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseInt(b[e],10));return c}function ma(b){return b.replace(/^\s+/,"").replace(/\s+$/,
+"").split(/\s+/)}function fa(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),10):e}function ga(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";return e}c=c||2;e=b.toString().split(".");for(e[1]=e.length>1?e[1].substr(0,c):"0";e[1].length<c;)e[1]+="0";return e.join(".")}function da(b,c){var e="";e+=ga(b.x,c)+",";e+=ga(b.y,c)+",";e+=ga(b.z,c);return e}var $=null,ca=null,X,ja={},ea={},qa={},V={},pa={},va={},ra={},sa,Ca=null,wa,Aa,za,Fa=THREE.SmoothShading;m.prototype.parse=function(b){this.id=
+b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeName=="init_from")this.init_from=e.textContent}return this};k.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.type="none";for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "skin":this.skin=(new u).parse(e);this.type=e.nodeName;break;case "morph":this.morph=(new n).parse(e),this.type=e.nodeName}}return this};n.prototype.parse=function(b){var c=
+{},e=[],f;this.method=b.getAttribute("method");this.source=b.getAttribute("source").replace(/^#/,"");for(f=0;f<b.childNodes.length;f++){var k=b.childNodes[f];if(k.nodeType==1)switch(k.nodeName){case "source":k=(new F).parse(k);c[k.id]=k;break;case "targets":e=this.parseInputs(k);break;default:console.log(k.nodeName)}}for(f=0;f<e.length;f++)switch(b=e[f],k=c[b.source],b.semantic){case "MORPH_TARGET":this.targets=k.read();break;case "MORPH_WEIGHT":this.weights=k.read()}return this};n.prototype.parseInputs=
+function(b){for(var c=[],e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":c.push((new N).parse(f))}}return c};u.prototype.parse=function(b){var c={},e,f;this.source=b.getAttribute("source").replace(/^#/,"");this.invBindMatrices=[];this.joints=[];this.weights=[];for(var k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(h.nodeType==1)switch(h.nodeName){case "bind_shape_matrix":h=ia(h.textContent);this.bindShapeMatrix=new THREE.Matrix4;this.bindShapeMatrix.set(h[0],
+h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]);break;case "source":h=(new F).parse(h);c[h.id]=h;break;case "joints":e=h;break;case "vertex_weights":f=h;break;default:console.log(h.nodeName)}}this.parseJoints(e,c);this.parseWeights(f,c);return this};u.prototype.parseJoints=function(b,c){for(var e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":var f=(new N).parse(f),k=c[f.source];if(f.semantic=="JOINT")this.joints=
+k.read();else if(f.semantic=="INV_BIND_MATRIX")this.invBindMatrices=k.read()}}};u.prototype.parseWeights=function(b,c){for(var e,f,k=[],h=0;h<b.childNodes.length;h++){var m=b.childNodes[h];if(m.nodeType==1)switch(m.nodeName){case "input":k.push((new N).parse(m));break;case "v":e=aa(m.textContent);break;case "vcount":f=aa(m.textContent)}}for(h=m=0;h<f.length;h++){for(var n=f[h],o=[],p=0;p<n;p++){for(var t={},u=0;u<k.length;u++){var v=k[u],w=e[m+v.offset];switch(v.semantic){case "JOINT":t.joint=w;break;
+case "WEIGHT":t.weight=c[v.source].data[w]}}o.push(t);m+=k.length}for(p=0;p<o.length;p++)o[p].index=h;this.weights.push(o)}};p.prototype.getChildById=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};p.prototype.getChildBySid=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};p.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");
+this.nodes=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "node":this.nodes.push((new v).parse(e))}}return this};v.prototype.getChannelForTransform=function(b){for(var c=0;c<this.channels.length;c++){var e=this.channels[c],f=e.target.split("/");f.shift();var k=f.shift(),h=k.indexOf(".")>=0,m=k.indexOf("(")>=0,n;if(h)f=k.split("."),k=f.shift(),f.shift();else if(m){n=k.split("(");k=n.shift();for(f=0;f<n.length;f++)n[f]=parseInt(n[f].replace(/\)/,
+""))}if(k==b)return e.info={sid:k,dotSyntax:h,arrSyntax:m,arrIndices:n},e}return null};v.prototype.getChildById=function(b,c){if(this.id==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};v.prototype.getChildBySid=function(b,c){if(this.sid==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};v.prototype.getTransformBySid=function(b){for(var c=0;c<this.transforms.length;c++)if(this.transforms[c].sid==
+b)return this.transforms[c];return null};v.prototype.parse=function(b){var c;this.id=b.getAttribute("id");this.sid=b.getAttribute("sid");this.name=b.getAttribute("name");this.type=b.getAttribute("type");this.type=this.type=="JOINT"?this.type:"NODE";this.nodes=[];this.transforms=[];this.geometries=[];this.controllers=[];this.matrix=new THREE.Matrix4;for(var e=0;e<b.childNodes.length;e++)if(c=b.childNodes[e],c.nodeType==1)switch(c.nodeName){case "node":this.nodes.push((new v).parse(c));break;case "instance_camera":break;
+case "instance_controller":this.controllers.push((new x).parse(c));break;case "instance_geometry":this.geometries.push((new z).parse(c));break;case "instance_light":break;case "instance_node":c=c.getAttribute("url").replace(/^#/,"");(c=$.evaluate(".//dae:library_nodes//dae:node[@id='"+c+"']",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&this.nodes.push((new v).parse(c));break;case "rotate":case "translate":case "scale":case "matrix":case "lookat":case "skew":this.transforms.push((new t).parse(c));
+break;case "extra":break;default:console.log(c.nodeName)}b=[];e=1E6;c=-1E6;for(var f in qa)for(var k=qa[f],h=0;h<k.channel.length;h++){var m=k.channel[h],n=k.sampler[h];f=m.target.split("/")[0];if(f==this.id)n.create(),m.sampler=n,e=Math.min(e,n.startTime),c=Math.max(c,n.endTime),b.push(m)}if(b.length)this.startTime=e,this.endTime=c;if((this.channels=b)&&this.channels.length){f=1E7;for(i=0;i<this.channels.length;i++){b=this.channels[i].sampler;for(e=0;e<b.input.length-1;e++)f=Math.min(f,b.input[e+
+1]-b.input[e])}e=[];for(b=this.startTime;b<this.endTime;b+=f){c=b;for(var k={},o=h=void 0,h=0;h<this.channels.length;h++)o=this.channels[h],k[o.sid]=o;m=new THREE.Matrix4;for(h=0;h<this.transforms.length;h++)if(n=this.transforms[h],o=k[n.sid],o!==void 0){for(var p=o.sampler,u,o=0;o<p.input.length-1;o++)if(p.input[o+1]>c){u=p.output[o];break}m=u!==void 0?u instanceof THREE.Matrix4?m.multiply(m,u):m.multiply(m,n.matrix):m.multiply(m,n.matrix)}else m=m.multiply(m,n.matrix);c=m;e.push({time:b,pos:[c.n14,
+c.n24,c.n34],rotq:[0,0,0,1],scl:[1,1,1]})}this.keys=e}this.updateMatrix();return this};v.prototype.updateMatrix=function(){this.matrix.identity();for(var b=0;b<this.transforms.length;b++)this.matrix.multiply(this.matrix,this.transforms[b].matrix)};t.prototype.parse=function(b){this.sid=b.getAttribute("sid");this.type=b.nodeName;this.data=ia(b.textContent);this.updateMatrix();return this};t.prototype.updateMatrix=function(){var b=0;this.matrix.identity();switch(this.type){case "matrix":this.matrix.set(this.data[0],
+this.data[1],this.data[2],this.data[3],this.data[4],this.data[5],this.data[6],this.data[7],this.data[8],this.data[9],this.data[10],this.data[11],this.data[12],this.data[13],this.data[14],this.data[15]);break;case "translate":this.matrix.setTranslation(this.data[0],this.data[1],this.data[2]);break;case "rotate":b=this.data[3]*(Math.PI/180);this.matrix.setRotationAxis(new THREE.Vector3(this.data[0],this.data[1],this.data[2]),b);break;case "scale":this.matrix.setScale(this.data[0],this.data[1],this.data[2])}return this.matrix};
+x.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.skeleton=[];this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "skeleton":this.skeleton.push(e.textContent.replace(/^#/,""));break;case "bind_material":if(e=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(var f=e.iterateNext();f;)this.instance_material.push((new w).parse(f)),f=e.iterateNext()}}return this};
+w.prototype.parse=function(b){this.symbol=b.getAttribute("symbol");this.target=b.getAttribute("target").replace(/^#/,"");return this};z.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1&&e.nodeName=="bind_material"){if(b=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(c=b.iterateNext();c;)this.instance_material.push((new w).parse(c)),
+c=b.iterateNext();break}}return this};y.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "mesh":this.mesh=(new B(this)).parse(e)}}return this};B.prototype.parse=function(b){function c(b,e){var f=da(b.position);k[f]===void 0&&(k[f]={v:b,index:e});return k[f]}this.primitives=[];var e;for(e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];switch(f.nodeName){case "source":na(f);break;case "vertices":this.vertices=
+(new E).parse(f);break;case "triangles":this.primitives.push((new G).parse(f));break;case "polygons":console.warn("polygon holes not yet supported!");case "polylist":this.primitives.push((new D).parse(f))}}var k={};this.geometry3js=new THREE.Geometry;f=ja[this.vertices.input.POSITION.source].data;for(b=e=0;e<f.length;e+=3,b++){var h=new THREE.Vertex(new THREE.Vector3(f[e],f[e+1],f[e+2]));c(h,b);this.geometry3js.vertices.push(h)}for(e=0;e<this.primitives.length;e++)primitive=this.primitives[e],primitive.setVertices(this.vertices),
+this.handlePrimitive(primitive,this.geometry3js,k);this.geometry3js.computeCentroids();this.geometry3js.computeFaceNormals();this.geometry3js.computeVertexNormals();this.geometry3js.computeBoundingBox();return this};B.prototype.handlePrimitive=function(b,c,e){var f=0,k,h,m=b.p,n=b.inputs,o,p,t,u=0,v=3,w=[];for(k=0;k<n.length;k++)o=n[k],o.semantic=="TEXCOORD"&&w.push(o.set);for(;f<m.length;){var x=[],y=[],z={};b.vcount&&(v=b.vcount[u++]);for(k=0;k<v;k++)for(h=0;h<n.length;h++)switch(o=n[h],source=
+ja[o.source],p=m[f+k*n.length+o.offset],numParams=source.accessor.params.length,t=p*numParams,o.semantic){case "VERTEX":o=da(c.vertices[p].position);x.push(e[o].index);break;case "NORMAL":y.push(new THREE.Vector3(source.data[t+0],source.data[t+1],source.data[t+2]));break;case "TEXCOORD":z[o.set]===void 0&&(z[o.set]=[]),z[o.set].push(new THREE.UV(source.data[t+0],source.data[t+1]))}h=new THREE.Face3(x[0],x[1],x[2],[y[0],y[1],y[2]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=
+z[w[h]],c.faceVertexUvs[h].push([o[0],o[1],o[2]]);if(v>3)for(k=2;k<x.length-1;k++){h=new THREE.Face3(x[0],x[k],x[k+1],[y[0],y[k],y[k+1]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=z[w[h]],c.faceVertexUvs[h].push([o[0],o[k],o[k+1]])}f+=n.length*v}};D.prototype=new G;D.prototype.constructor=D;G.prototype.setVertices=function(b){for(var c=0;c<this.inputs.length;c++)if(this.inputs[c].source==b.id)this.inputs[c].source=b.input.POSITION.source};G.prototype.parse=function(b){this.inputs=
+[];this.material=b.getAttribute("material");this.count=fa(b,"count",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "input":this.inputs.push((new N).parse(b.childNodes[c]));break;case "vcount":this.vcount=aa(e.textContent);break;case "p":this.p=aa(e.textContent)}}return this};H.prototype.parse=function(b){this.params=[];this.source=b.getAttribute("source");this.count=fa(b,"count",0);this.stride=fa(b,"stride",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];
+if(e.nodeName=="param"){var f={};f.name=e.getAttribute("name");f.type=e.getAttribute("type");this.params.push(f)}}return this};E.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++)b.childNodes[c].nodeName=="input"&&(input=(new N).parse(b.childNodes[c]),this.input[input.semantic]=input);return this};N.prototype.parse=function(b){this.semantic=b.getAttribute("semantic");this.source=b.getAttribute("source").replace(/^#/,"");this.set=fa(b,"set",-1);this.offset=
+fa(b,"offset",0);if(this.semantic=="TEXCOORD"&&this.set<0)this.set=0;return this};F.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "bool_array":for(var f=ma(e.textContent),k=[],h=0;h<f.length;h++)k.push(f[h]=="true"||f[h]=="1"?!0:!1);this.data=k;this.type=e.nodeName;break;case "float_array":this.data=ia(e.textContent);this.type=e.nodeName;break;case "int_array":this.data=aa(e.textContent);this.type=e.nodeName;
+break;case "IDREF_array":case "Name_array":this.data=ma(e.textContent);this.type=e.nodeName;break;case "technique_common":for(f=0;f<e.childNodes.length;f++)if(e.childNodes[f].nodeName=="accessor"){this.accessor=(new H).parse(e.childNodes[f]);break}}}return this};F.prototype.read=function(){var b=[],c=this.accessor.params[0];switch(c.type){case "IDREF":case "Name":case "float":return this.data;case "float4x4":for(c=0;c<this.data.length;c+=16){var e=this.data.slice(c,c+16),f=new THREE.Matrix4;f.set(e[0],
+e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);b.push(f)}break;default:console.log("Dae::Source:read dont know how to read "+c.type)}return b};I.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");for(var c=0;c<b.childNodes.length;c++)if(b.childNodes[c].nodeName=="instance_effect"){this.instance_effect=(new S).parse(b.childNodes[c]);break}return this};C.prototype.isColor=function(){return this.texture==null};C.prototype.isTexture=
+function(){return this.texture!=null};C.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "color":e=ia(e.textContent);this.color=new THREE.Color(0);this.color.setRGB(e[0],e[1],e[2]);this.color.a=e[3];break;case "texture":this.texture=e.getAttribute("texture"),this.texcoord=e.getAttribute("texcoord")}}return this};K.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==
+1)switch(e.nodeName){case "ambient":case "emission":case "diffuse":case "specular":case "transparent":this[e.nodeName]=(new C).parse(e);break;case "shininess":case "reflectivity":case "transparency":var f;f=$.evaluate(".//dae:float",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var k=f.iterateNext(),h=[];k;)h.push(k),k=f.iterateNext();f=h;f.length>0&&(this[e.nodeName]=parseFloat(f[0].textContent))}}this.create();return this};K.prototype.create=function(){var b={},c=this.transparency!==void 0&&
+this.transparency<1,e;for(e in this)switch(e){case "ambient":case "emission":case "diffuse":case "specular":var f=this[e];if(f instanceof C)if(f.isTexture()){if(this.effect.sampler&&this.effect.surface&&this.effect.sampler.source==this.effect.surface.sid&&(f=ea[this.effect.surface.init_from]))b.map=THREE.ImageUtils.loadTexture(wa+f.init_from),b.map.wrapS=THREE.RepeatWrapping,b.map.wrapT=THREE.RepeatWrapping,b.map.repeat.x=1,b.map.repeat.y=-1}else e=="diffuse"?b.color=f.color.getHex():c||(b[e]=f.color.getHex());
+break;case "shininess":case "reflectivity":b[e]=this[e];break;case "transparency":if(c)b.transparent=!0,b.opacity=this[e],c=!0}b.shading=Fa;return this.material=new THREE.MeshLambertMaterial(b)};U.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "init_from":this.init_from=e.textContent;break;case "format":this.format=e.textContent;break;default:console.log("unhandled Surface prop: "+e.nodeName)}}return this};L.prototype.parse=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":this.source=e.textContent;break;case "minfilter":this.minfilter=e.textContent;break;case "magfilter":this.magfilter=e.textContent;break;case "mipfilter":this.mipfilter=e.textContent;break;case "wrap_s":this.wrap_s=e.textContent;break;case "wrap_t":this.wrap_t=e.textContent;break;default:console.log("unhandled Sampler2D prop: "+e.nodeName)}}return this};O.prototype.create=function(){if(this.shader==
+null)return null};O.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.shader=null;for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "profile_COMMON":this.parseTechnique(this.parseProfileCOMMON(e))}}return this};O.prototype.parseNewparam=function(b){for(var c=b.getAttribute("sid"),e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "surface":this.surface=(new U(this)).parse(f);
+this.surface.sid=c;break;case "sampler2D":this.sampler=(new L(this)).parse(f);this.sampler.sid=c;break;case "extra":break;default:console.log(f.nodeName)}}};O.prototype.parseProfileCOMMON=function(b){for(var c,e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "profile_COMMON":this.parseProfileCOMMON(f);break;case "technique":c=f;break;case "newparam":this.parseNewparam(f);break;case "extra":break;default:console.log(f.nodeName)}}return c};O.prototype.parseTechnique=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "lambert":case "blinn":case "phong":this.shader=(new K(e.nodeName,this)).parse(e)}}};S.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");return this};P.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.source={};for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":e=
+(new F).parse(e);this.source[e.id]=e;break;case "sampler":this.sampler.push((new W(this)).parse(e));break;case "channel":this.channel.push((new o(this)).parse(e))}}return this};o.prototype.parse=function(b){this.source=b.getAttribute("source").replace(/^#/,"");this.target=b.getAttribute("target");var c=this.target.split("/");c.shift();var b=c.shift(),e=b.indexOf(".")>=0,f=b.indexOf("(")>=0,k,h;if(e)c=b.split("."),b=c.shift(),h=c.shift();else if(f){k=b.split("(");b=k.shift();for(c=0;c<k.length;c++)k[c]=
+parseInt(k[c].replace(/\)/,""))}this.sid=b;this.dotSyntax=e;this.arrSyntax=f;this.arrIndices=k;this.member=h;return this};W.prototype.parse=function(b){this.id=b.getAttribute("id");this.inputs=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "input":this.inputs.push((new N).parse(e))}}return this};W.prototype.create=function(){for(var b=0;b<this.inputs.length;b++){var c=this.inputs[b],e=this.animation.source[c.source];switch(c.semantic){case "INPUT":this.input=
+e.read();break;case "OUTPUT":this.output=e.read();break;case "INTERPOLATION":this.interpolation=e.read();break;case "IN_TANGENT":break;case "OUT_TANGENT":break;default:console.log(c.semantic)}}this.duration=this.endTime=this.startTime=0;if(this.input.length){this.startTime=1E8;this.endTime=-1E8;for(b=0;b<this.input.length;b++)this.startTime=Math.min(this.startTime,this.input[b]),this.endTime=Math.max(this.endTime,this.input[b]);this.duration=this.endTime-this.startTime}};return{load:function(e,f){if(document.implementation&&
+document.implementation.createDocument){document.implementation.createDocument("http://www.collada.org/2005/11/COLLADASchema","COLLADA",null);e+="?rnd="+Math.random();var n=new XMLHttpRequest;n.overrideMimeType&&n.overrideMimeType("text/xml");n.onreadystatechange=function(){if(n.readyState==4&&(n.status==0||n.status==200)){Ca=f;var o,t=e;$=n.responseXML;o=Ca;t!==void 0&&(t=t.split("/"),t.pop(),wa=t.join("/")+"/");ea=b("//dae:library_images/dae:image",m,"image");va=b("//dae:library_materials/dae:material",
+I,"material");ra=b("//dae:library_effects/dae:effect",O,"effect");pa=b("//dae:library_geometries/dae:geometry",y,"geometry");V=b("//dae:library_controllers/dae:controller",k,"controller");qa=b("//dae:library_animations/dae:animation",P,"animation");sa=b(".//dae:library_visual_scenes/dae:visual_scene",p,"visual_scene");Aa=[];za=[];(t=$.evaluate(".//dae:scene/dae:instance_visual_scene",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(t=t.getAttribute("url").replace(/^#/,""),X=sa[t]):
+X=null;ca=new THREE.Object3D;for(t=0;t<X.nodes.length;t++)ca.addChild(h(X.nodes[t]));c();for(var u in qa);u={scene:ca,morphs:Aa,skins:za,dae:{images:ea,materials:va,effects:ra,geometries:pa,controllers:V,animations:qa,visualScenes:sa,scene:X}};o&&o(u)}};n.open("GET",e,!0);n.send(null)}else alert("Don't know how to parse XML!")},setPreferredShading:function(b){Fa=b},applySkin:f,geometries:pa}};THREE.JSONLoader=function(b){THREE.Loader.call(this,b)};THREE.JSONLoader.prototype=new THREE.Loader;
+THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.supr=THREE.Loader.prototype;THREE.JSONLoader.prototype.load=function(b){var c=this,e=b.model,f=b.callback,h=b.texture_path?b.texture_path:this.extractUrlbase(e),b=new Worker(e);b.onmessage=function(b){c.createModel(b.data,f,h);c.onLoadComplete()};this.onLoadStart();b.postMessage((new Date).getTime())};
+THREE.JSONLoader.prototype.createModel=function(b,c,e){var f=new THREE.Geometry,h=b.scale!==void 0?1/b.scale:1;this.init_materials(f,b.materials,e);(function(c){if(b.version===void 0||b.version!=2)console.error("Deprecated file format.");else{var e,h,u,p,v,t,x,w,z,y,B,D,G,H,E=b.faces;t=b.vertices;var N=b.normals,F=b.colors,I=0;for(e=0;e<b.uvs.length;e++)b.uvs[e].length&&I++;for(e=0;e<I;e++)f.faceUvs[e]=[],f.faceVertexUvs[e]=[];p=0;for(v=t.length;p<v;)x=new THREE.Vertex,x.position.x=t[p++]*c,x.position.y=
+t[p++]*c,x.position.z=t[p++]*c,f.vertices.push(x);p=0;for(v=E.length;p<v;){c=E[p++];t=c&1;u=c&2;e=c&4;h=c&8;w=c&16;x=c&32;y=c&64;c&=128;t?(B=new THREE.Face4,B.a=E[p++],B.b=E[p++],B.c=E[p++],B.d=E[p++],t=4):(B=new THREE.Face3,B.a=E[p++],B.b=E[p++],B.c=E[p++],t=3);if(u)u=E[p++],B.materials=f.materials[u];u=f.faces.length;if(e)for(e=0;e<I;e++)D=b.uvs[e],z=E[p++],H=D[z*2],z=D[z*2+1],f.faceUvs[e][u]=new THREE.UV(H,z);if(h)for(e=0;e<I;e++){D=b.uvs[e];G=[];for(h=0;h<t;h++)z=E[p++],H=D[z*2],z=D[z*2+1],G[h]=
+new THREE.UV(H,z);f.faceVertexUvs[e][u]=G}if(w)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.normal=h;if(x)for(e=0;e<t;e++)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.vertexNormals.push(h);if(y)x=E[p++],x=new THREE.Color(F[x]),B.color=x;if(c)for(e=0;e<t;e++)x=E[p++],x=new THREE.Color(F[x]),B.vertexColors.push(x);f.faces.push(B)}}})(h);(function(){var c,e,h,u;if(b.skinWeights){c=0;for(e=b.skinWeights.length;c<e;c+=2)h=b.skinWeights[c],u=b.skinWeights[c+1],f.skinWeights.push(new THREE.Vector4(h,
+u,0,0))}if(b.skinIndices){c=0;for(e=b.skinIndices.length;c<e;c+=2)h=b.skinIndices[c],u=b.skinIndices[c+1],f.skinIndices.push(new THREE.Vector4(h,u,0,0))}f.bones=b.bones;f.animation=b.animation})();(function(c){if(b.morphTargets!==void 0){var e,h,u,p,v,t,x,w,z;e=0;for(h=b.morphTargets.length;e<h;e++){f.morphTargets[e]={};f.morphTargets[e].name=b.morphTargets[e].name;f.morphTargets[e].vertices=[];w=f.morphTargets[e].vertices;z=b.morphTargets[e].vertices;u=0;for(p=z.length;u<p;u+=3)v=z[u]*c,t=z[u+1]*
+c,x=z[u+2]*c,w.push(new THREE.Vertex(new THREE.Vector3(v,t,x)))}}if(b.morphColors!==void 0){e=0;for(h=b.morphColors.length;e<h;e++){f.morphColors[e]={};f.morphColors[e].name=b.morphColors[e].name;f.morphColors[e].colors=[];p=f.morphColors[e].colors;v=b.morphColors[e].colors;c=0;for(u=v.length;c<u;c+=3)t=new THREE.Color(16755200),t.setRGB(v[c],v[c+1],v[c+2]),p.push(t)}}})(h);(function(){if(b.edges!==void 0){var c,e,h;for(c=0;c<b.edges.length;c+=2)e=b.edges[c],h=b.edges[c+1],f.edges.push(new THREE.Edge(f.vertices[e],
+f.vertices[h],e,h))}})();f.computeCentroids();f.computeFaceNormals();this.hasNormals(f)&&f.computeTangents();c(f)};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){}};
+THREE.SceneLoader.prototype={load:function(b,c){var e=this,f=new Worker(b);f.postMessage(0);var h=THREE.Loader.prototype.extractUrlbase(b);f.onmessage=function(b){function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}function n(){for(w in O.objects)if(!R.objects[w])if(G=O.objects[w],G.geometry!==void 0){if(F=R.geometries[G.geometry]){var b=!1;U=[];for(aa=0;aa<G.materials.length;aa++)U[aa]=R.materials[G.materials[aa]],b=U[aa]instanceof THREE.MeshShaderMaterial;b&&F.computeTangents();H=G.position;r=
+G.rotation;q=G.quaternion;s=G.scale;q=0;U.length==0&&(U[0]=new THREE.MeshFaceMaterial);U.length>1&&(U=[new THREE.MeshFaceMaterial]);object=new THREE.Mesh(F,U);object.name=w;object.position.set(H[0],H[1],H[2]);q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]);object.scale.set(s[0],s[1],s[2]);object.visible=G.visible;R.scene.addObject(object);R.objects[w]=object;G.meshCollider&&(b=THREE.CollisionUtils.MeshColliderWBox(object),R.scene.collisions.colliders.push(b));
+if(G.castsShadow)b=new THREE.ShadowVolume(F),R.scene.addChild(b),b.position=object.position,b.rotation=object.rotation,b.scale=object.scale;G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}}else H=G.position,r=G.rotation,q=G.quaternion,s=G.scale,q=0,object=new THREE.Object3D,object.name=w,object.position.set(H[0],H[1],H[2]),q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]),object.scale.set(s[0],
+s[1],s[2]),object.visible=G.visible!==void 0?G.visible:!1,R.scene.addObject(object),R.objects[w]=object,R.empties[w]=object,G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}function u(b){return function(c){R.geometries[b]=c;n();P-=1;e.onLoadComplete();v()}}function p(b){return function(c){R.geometries[b]=c}}function v(){e.callbackProgress({totalModels:W,totalTextures:na,loadedModels:W-P,loadedTextures:na-o},R);e.onLoadProgress();P==0&&o==0&&c(R)}
+var t,x,w,z,y,B,D,G,H,E,N,F,I,C,K,U,L,O,S,P,o,W,na,R;O=b.data;K=new THREE.BinaryLoader;S=new THREE.JSONLoader;o=P=0;R={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},triggers:{},empties:{}};b=!1;for(w in O.objects)if(G=O.objects[w],G.meshCollider){b=!0;break}if(b)R.scene.collisions=new THREE.CollisionSystem;if(O.transform){b=O.transform.position;E=O.transform.rotation;var ia=O.transform.scale;b&&R.scene.position.set(b[0],b[1],b[2]);E&&R.scene.rotation.set(E[0],
+E[1],E[2]);ia&&R.scene.scale.set(ia[0],ia[1],ia[2]);(b||E||ia)&&R.scene.updateMatrix()}b=function(){o-=1;v();e.onLoadComplete()};for(y in O.cameras){E=O.cameras[y];if(E.type=="perspective")I=new THREE.Camera(E.fov,E.aspect,E.near,E.far);else if(E.type=="ortho")I=new THREE.Camera,I.projectionMatrix=THREE.Matrix4.makeOrtho(E.left,E.right,E.top,E.bottom,E.near,E.far);H=E.position;E=E.target;I.position.set(H[0],H[1],H[2]);I.target.position.set(E[0],E[1],E[2]);R.cameras[y]=I}for(z in O.lights)y=O.lights[z],
+I=y.color!==void 0?y.color:16777215,E=y.intensity!==void 0?y.intensity:1,y.type=="directional"?(H=y.direction,L=new THREE.DirectionalLight(I,E),L.position.set(H[0],H[1],H[2]),L.position.normalize()):y.type=="point"?(H=y.position,d=y.distance,L=new THREE.PointLight(I,E,d),L.position.set(H[0],H[1],H[2])):y.type=="ambient"&&(L=new THREE.AmbientLight(I)),R.scene.addLight(L),R.lights[z]=L;for(B in O.fogs)z=O.fogs[B],z.type=="linear"?C=new THREE.Fog(0,z.near,z.far):z.type=="exp2"&&(C=new THREE.FogExp2(0,
+z.density)),E=z.color,C.color.setRGB(E[0],E[1],E[2]),R.fogs[B]=C;if(R.cameras&&O.defaults.camera)R.currentCamera=R.cameras[O.defaults.camera];if(R.fogs&&O.defaults.fog)R.scene.fog=R.fogs[O.defaults.fog];E=O.defaults.bgcolor;R.bgColor=new THREE.Color;R.bgColor.setRGB(E[0],E[1],E[2]);R.bgColorAlpha=O.defaults.bgalpha;for(t in O.geometries)if(B=O.geometries[t],B.type=="bin_mesh"||B.type=="ascii_mesh")P+=1,e.onLoadStart();W=P;for(t in O.geometries)B=O.geometries[t],B.type=="cube"?(F=new THREE.CubeGeometry(B.width,
+B.height,B.depth,B.segmentsWidth,B.segmentsHeight,B.segmentsDepth,null,B.flipped,B.sides),R.geometries[t]=F):B.type=="plane"?(F=new THREE.PlaneGeometry(B.width,B.height,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="sphere"?(F=new THREE.SphereGeometry(B.radius,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="cylinder"?(F=new THREE.CylinderGeometry(B.numSegs,B.topRad,B.botRad,B.height,B.topOffset,B.botOffset),R.geometries[t]=F):B.type=="torus"?(F=new THREE.TorusGeometry(B.radius,
+B.tube,B.segmentsR,B.segmentsT),R.geometries[t]=F):B.type=="icosahedron"?(F=new THREE.IcosahedronGeometry(B.subdivisions),R.geometries[t]=F):B.type=="bin_mesh"?K.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="ascii_mesh"?S.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="embedded_mesh"&&(B=O.embeds[B.id])&&S.createModel(B,p(t),"");for(D in O.textures)if(t=O.textures[D],t.url instanceof Array){o+=t.url.length;for(K=0;K<t.url.length;K++)e.onLoadStart()}else o+=1,e.onLoadStart();
+na=o;for(D in O.textures){t=O.textures[D];if(t.mapping!=void 0&&THREE[t.mapping]!=void 0)t.mapping=new THREE[t.mapping];if(t.url instanceof Array){K=[];for(var aa=0;aa<t.url.length;aa++)K[aa]=f(t.url[aa],O.urlBaseType);K=THREE.ImageUtils.loadTextureCube(K,t.mapping,b)}else{K=THREE.ImageUtils.loadTexture(f(t.url,O.urlBaseType),t.mapping,b);if(THREE[t.minFilter]!=void 0)K.minFilter=THREE[t.minFilter];if(THREE[t.magFilter]!=void 0)K.magFilter=THREE[t.magFilter];if(t.repeat){K.repeat.set(t.repeat[0],
+t.repeat[1]);if(t.repeat[0]!=1)K.wrapS=THREE.RepeatWrapping;if(t.repeat[1]!=1)K.wrapT=THREE.RepeatWrapping}t.offset&&K.offset.set(t.offset[0],t.offset[1]);if(t.wrap){S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(S[t.wrap[0]]!==void 0)K.wrapS=S[t.wrap[0]];if(S[t.wrap[1]]!==void 0)K.wrapT=S[t.wrap[1]]}}R.textures[D]=K}for(x in O.materials){D=O.materials[x];for(N in D.parameters)if(N=="envMap"||N=="map"||N=="lightMap")D.parameters[N]=R.textures[D.parameters[N]];else if(N=="shading")D.parameters[N]=
+D.parameters[N]=="flat"?THREE.FlatShading:THREE.SmoothShading;else if(N=="blending")D.parameters[N]=THREE[D.parameters[N]]?THREE[D.parameters[N]]:THREE.NormalBlending;else if(N=="combine")D.parameters[N]=D.parameters[N]=="MixOperation"?THREE.MixOperation:THREE.MultiplyOperation;else if(N=="vertexColors")if(D.parameters[N]=="face")D.parameters[N]=THREE.FaceColors;else if(D.parameters[N])D.parameters[N]=THREE.VertexColors;if(D.parameters.opacity!==void 0&&D.parameters.opacity<1)D.parameters.transparent=
+!0;if(D.parameters.normalMap){t=THREE.ShaderUtils.lib.normal;b=THREE.UniformsUtils.clone(t.uniforms);K=D.parameters.color;S=D.parameters.specular;B=D.parameters.ambient;C=D.parameters.shininess;b.tNormal.texture=R.textures[D.parameters.normalMap];if(D.parameters.normalMapFactor)b.uNormalScale.value=D.parameters.normalMapFactor;if(D.parameters.map)b.tDiffuse.texture=D.parameters.map,b.enableDiffuse.value=!0;if(D.parameters.lightMap)b.tAO.texture=D.parameters.lightMap,b.enableAO.value=!0;if(D.parameters.specularMap)b.tSpecular.texture=
+R.textures[D.parameters.specularMap],b.enableSpecular.value=!0;b.uDiffuseColor.value.setHex(K);b.uSpecularColor.value.setHex(S);b.uAmbientColor.value.setHex(B);b.uShininess.value=C;if(D.parameters.opacity)b.uOpacity.value=D.parameters.opacity;D=new THREE.MeshShaderMaterial({fragmentShader:t.fragmentShader,vertexShader:t.vertexShader,uniforms:b,lights:!0,fog:!0})}else D=new THREE[D.type](D.parameters);R.materials[x]=D}n();e.callbackSync(R)}},constructor:THREE.SceneLoader};THREE.UTF8Loader=function(){};
+THREE.UTF8Loader.prototype=new THREE.UTF8Loader;THREE.UTF8Loader.prototype.constructor=THREE.UTF8Loader;
+THREE.UTF8Loader.prototype.load=function(b){var c=new XMLHttpRequest,e=b.model,f=b.callback,h=b.scale!==void 0?b.scale:1,m=b.offsetX!==void 0?b.offsetX:0,k=b.offsetY!==void 0?b.offsetY:0,n=b.offsetZ!==void 0?b.offsetZ:0;c.onreadystatechange=function(){c.readyState==4?c.status==200||c.status==0?THREE.UTF8Loader.prototype.createModel(c.responseText,f,h,m,k,n):alert("Couldn't load ["+e+"] ["+c.status+"]"):c.readyState!=3&&c.readyState==2&&c.getResponseHeader("Content-Length")};c.open("GET",e,!0);c.send(null)};
+THREE.UTF8Loader.prototype.decompressMesh=function(b){var c=b.charCodeAt(0);c>=57344&&(c-=2048);c++;for(var e=new Float32Array(8*c),f=1,h=0;h<8;h++){for(var m=0,k=0;k<c;++k){var n=b.charCodeAt(k+f);m+=n>>1^-(n&1);e[8*k+h]=m}f+=c}c=b.length-f;m=new Uint16Array(c);for(h=k=0;h<c;h++)n=b.charCodeAt(h+f),m[h]=k-n,n==0&&k++;return[e,m]};
+THREE.UTF8Loader.prototype.createModel=function(b,c,e,f,h,m){var k=function(){var c=this;c.materials=[];THREE.Geometry.call(this);var k=THREE.UTF8Loader.prototype.decompressMesh(b),p=[],v=[];(function(b,k,p){for(var u,v,B,D=b.length;p<D;p+=k)u=b[p],v=b[p+1],B=b[p+2],u=u/16383*e,v=v/16383*e,B=B/16383*e,u+=f,v+=h,B+=m,c.vertices.push(new THREE.Vertex(new THREE.Vector3(u,v,B)))})(k[0],8,0);(function(b,c,e){for(var f,h,k=b.length;e<k;e+=c)f=b[e],h=b[e+1],f/=1023,h/=1023,v.push(f,h)})(k[0],8,3);(function(b,
+c,e){for(var f,h,k,m=b.length;e<m;e+=c)f=b[e],h=b[e+1],k=b[e+2],f=(f-512)/511,h=(h-512)/511,k=(k-512)/511,p.push(f,h,k)})(k[0],8,5);(function(b){var e,f,h,k,m,u,G,H,E,N=b.length;for(e=0;e<N;e+=3){f=b[e];h=b[e+1];k=b[e+2];m=c;H=f;E=h;u=k;G=f;var F=h,I=k,C=m.materials[0],K=p[F*3],U=p[F*3+1],F=p[F*3+2],L=p[I*3],O=p[I*3+1],I=p[I*3+2];G=new THREE.Vector3(p[G*3],p[G*3+1],p[G*3+2]);F=new THREE.Vector3(K,U,F);I=new THREE.Vector3(L,O,I);m.faces.push(new THREE.Face3(H,E,u,[G,F,I],null,C));m=v[f*2];f=v[f*2+
+1];u=v[h*2];G=v[h*2+1];H=v[k*2];E=v[k*2+1];k=c.faceVertexUvs[0];h=u;u=G;G=[];G.push(new THREE.UV(m,f));G.push(new THREE.UV(h,u));G.push(new THREE.UV(H,E));k.push(G)}})(k[1]);this.computeCentroids();this.computeFaceNormals()};k.prototype=new THREE.Geometry;k.prototype.constructor=k;c(new k)};
+THREE.MarchingCubes=function(b,c){THREE.Object3D.call(this);this.materials=c instanceof Array?c:[c];this.init=function(b){this.isolation=80;this.size=b;this.size2=this.size*this.size;this.size3=this.size2*this.size;this.halfsize=this.size/2;this.delta=2/this.size;this.yd=this.size;this.zd=this.size2;this.field=new Float32Array(this.size3);this.normal_cache=new Float32Array(this.size3*3);this.vlist=new Float32Array(36);this.nlist=new Float32Array(36);this.firstDraw=!0;this.maxCount=4096;this.count=
+0;this.hasNormal=this.hasPos=!1;this.positionArray=new Float32Array(this.maxCount*3);this.normalArray=new Float32Array(this.maxCount*3)};this.lerp=function(b,c,h){return b+(c-b)*h};this.VIntX=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n+k*this.delta;c[m+1]=u;c[m+2]=p;h[m]=this.lerp(v[b],v[b+3],k);h[m+1]=this.lerp(v[b+1],v[b+4],k);h[m+2]=this.lerp(v[b+2],v[b+5],k)};this.VIntY=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u+k*this.delta;c[m+
+2]=p;c=b+this.yd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.VIntZ=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u;c[m+2]=p+k*this.delta;c=b+this.zd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.compNorm=function(b){var c=b*3;this.normal_cache[c]==0&&(this.normal_cache[c]=this.field[b-1]-this.field[b+1],this.normal_cache[c+1]=this.field[b-this.yd]-this.field[b+
+this.yd],this.normal_cache[c+2]=this.field[b-this.zd]-this.field[b+this.zd])};this.polygonize=function(b,c,h,m,k,n){var u=m+1,p=m+this.yd,v=m+this.zd,t=u+this.yd,x=u+this.zd,w=m+this.yd+this.zd,z=u+this.yd+this.zd,y=0,B=this.field[m],D=this.field[u],G=this.field[p],H=this.field[t],E=this.field[v],N=this.field[x],F=this.field[w],I=this.field[z];B<k&&(y|=1);D<k&&(y|=2);G<k&&(y|=8);H<k&&(y|=4);E<k&&(y|=16);N<k&&(y|=32);F<k&&(y|=128);I<k&&(y|=64);var C=THREE.edgeTable[y];if(C==0)return 0;var K=this.delta,
+U=b+K,L=c+K,K=h+K;C&1&&(this.compNorm(m),this.compNorm(u),this.VIntX(m*3,this.vlist,this.nlist,0,k,b,c,h,B,D));C&2&&(this.compNorm(u),this.compNorm(t),this.VIntY(u*3,this.vlist,this.nlist,3,k,U,c,h,D,H));C&4&&(this.compNorm(p),this.compNorm(t),this.VIntX(p*3,this.vlist,this.nlist,6,k,b,L,h,G,H));C&8&&(this.compNorm(m),this.compNorm(p),this.VIntY(m*3,this.vlist,this.nlist,9,k,b,c,h,B,G));C&16&&(this.compNorm(v),this.compNorm(x),this.VIntX(v*3,this.vlist,this.nlist,12,k,b,c,K,E,N));C&32&&(this.compNorm(x),
+this.compNorm(z),this.VIntY(x*3,this.vlist,this.nlist,15,k,U,c,K,N,I));C&64&&(this.compNorm(w),this.compNorm(z),this.VIntX(w*3,this.vlist,this.nlist,18,k,b,L,K,F,I));C&128&&(this.compNorm(v),this.compNorm(w),this.VIntY(v*3,this.vlist,this.nlist,21,k,b,c,K,E,F));C&256&&(this.compNorm(m),this.compNorm(v),this.VIntZ(m*3,this.vlist,this.nlist,24,k,b,c,h,B,E));C&512&&(this.compNorm(u),this.compNorm(x),this.VIntZ(u*3,this.vlist,this.nlist,27,k,U,c,h,D,N));C&1024&&(this.compNorm(t),this.compNorm(z),this.VIntZ(t*
+3,this.vlist,this.nlist,30,k,U,L,h,H,I));C&2048&&(this.compNorm(p),this.compNorm(w),this.VIntZ(p*3,this.vlist,this.nlist,33,k,b,L,h,G,F));y<<=4;for(k=m=0;THREE.triTable[y+k]!=-1;)b=y+k,c=b+1,h=b+2,this.posnormtriv(this.vlist,this.nlist,3*THREE.triTable[b],3*THREE.triTable[c],3*THREE.triTable[h],n),k+=3,m++;return m};this.posnormtriv=function(b,c,h,m,k,n){var u=this.count*3;this.positionArray[u]=b[h];this.positionArray[u+1]=b[h+1];this.positionArray[u+2]=b[h+2];this.positionArray[u+3]=b[m];this.positionArray[u+
+4]=b[m+1];this.positionArray[u+5]=b[m+2];this.positionArray[u+6]=b[k];this.positionArray[u+7]=b[k+1];this.positionArray[u+8]=b[k+2];this.normalArray[u]=c[h];this.normalArray[u+1]=c[h+1];this.normalArray[u+2]=c[h+2];this.normalArray[u+3]=c[m];this.normalArray[u+4]=c[m+1];this.normalArray[u+5]=c[m+2];this.normalArray[u+6]=c[k];this.normalArray[u+7]=c[k+1];this.normalArray[u+8]=c[k+2];this.hasNormal=this.hasPos=!0;this.count+=3;this.count>=this.maxCount-3&&n(this)};this.begin=function(){this.count=0;
+this.hasNormal=this.hasPos=!1};this.end=function(b){if(this.count!=0){for(var c=this.count*3;c<this.positionArray.length;c++)this.positionArray[c]=0;b(this)}};this.addBall=function(b,c,h,m,k){var n=this.size*Math.sqrt(m/k),u=h*this.size,p=c*this.size,v=b*this.size,t=Math.floor(u-n);t<1&&(t=1);u=Math.floor(u+n);u>this.size-1&&(u=this.size-1);var x=Math.floor(p-n);x<1&&(x=1);p=Math.floor(p+n);p>this.size-1&&(p=this.size-1);var w=Math.floor(v-n);w<1&&(w=1);n=Math.floor(v+n);n>this.size-1&&(n=this.size-
+1);for(var z,y,B,D,G,H;t<u;t++){v=this.size2*t;y=t/this.size-h;G=y*y;for(y=x;y<p;y++){B=v+this.size*y;z=y/this.size-c;H=z*z;for(z=w;z<n;z++)D=z/this.size-b,D=m/(1.0E-6+D*D+H+G)-k,D>0&&(this.field[B+z]+=D)}}};this.addPlaneX=function(b,c){var h,m,k,n,u,p=this.size,v=this.yd,t=this.zd,x=this.field,w=p*Math.sqrt(b/c);w>p&&(w=p);for(h=0;h<w;h++)if(m=h/p,m*=m,n=b/(1.0E-4+m)-c,n>0)for(m=0;m<p;m++){u=h+m*v;for(k=0;k<p;k++)x[t*k+u]+=n}};this.addPlaneY=function(b,c){var h,m,k,n,u,p,v=this.size,t=this.yd,x=
+this.zd,w=this.field,z=v*Math.sqrt(b/c);z>v&&(z=v);for(m=0;m<z;m++)if(h=m/v,h*=h,n=b/(1.0E-4+h)-c,n>0){u=m*t;for(h=0;h<v;h++){p=u+h;for(k=0;k<v;k++)w[x*k+p]+=n}}};this.addPlaneZ=function(b,c){var h,m,k,n,u,p;size=this.size;yd=this.yd;zd=this.zd;field=this.field;dist=size*Math.sqrt(b/c);dist>size&&(dist=size);for(k=0;k<dist;k++)if(h=k/size,h*=h,n=b/(1.0E-4+h)-c,n>0){u=zd*k;for(m=0;m<size;m++){p=u+m*yd;for(h=0;h<size;h++)field[p+h]+=n}}};this.reset=function(){var b;for(b=0;b<this.size3;b++)this.normal_cache[b*
+3]=0,this.field[b]=0};this.render=function(b){this.begin();var c,h,m,k,n,u,p,v,t,x=this.size-2;for(k=1;k<x;k++){t=this.size2*k;p=(k-this.halfsize)/this.halfsize;for(m=1;m<x;m++){v=t+this.size*m;u=(m-this.halfsize)/this.halfsize;for(h=1;h<x;h++)n=(h-this.halfsize)/this.halfsize,c=v+h,this.polygonize(n,u,p,c,this.isolation,b)}}this.end(b)};this.generateGeometry=function(){var b=0,c=new THREE.Geometry,h=[];this.render(function(m){var k,n,u,p,v,t,x,w;for(k=0;k<m.count;k++)x=k*3,v=x+1,w=x+2,n=m.positionArray[x],
+u=m.positionArray[v],p=m.positionArray[w],t=new THREE.Vector3(n,u,p),n=m.normalArray[x],u=m.normalArray[v],p=m.normalArray[w],x=new THREE.Vector3(n,u,p),x.normalize(),v=new THREE.Vertex(t),c.vertices.push(v),h.push(x);nfaces=m.count/3;for(k=0;k<nfaces;k++)x=(b+k)*3,v=x+1,w=x+2,t=h[x],n=h[v],u=h[w],x=new THREE.Face3(x,v,w,[t,n,u]),c.faces.push(x);b+=nfaces;m.count=0});return c};this.init(b)};THREE.MarchingCubes.prototype=new THREE.Object3D;THREE.MarchingCubes.prototype.constructor=THREE.MarchingCubes;
+THREE.edgeTable=new Int32Array([0,265,515,778,1030,1295,1541,1804,2060,2309,2575,2822,3082,3331,3593,3840,400,153,915,666,1430,1183,1941,1692,2460,2197,2975,2710,3482,3219,3993,3728,560,825,51,314,1590,1855,1077,1340,2620,2869,2111,2358,3642,3891,3129,3376,928,681,419,170,1958,1711,1445,1196,2988,2725,2479,2214,4010,3747,3497,3232,1120,1385,1635,1898,102,367,613,876,3180,3429,3695,3942,2154,2403,2665,2912,1520,1273,2035,1786,502,255,1013,764,3580,3317,4095,3830,2554,2291,3065,2800,1616,1881,1107,
+1370,598,863,85,348,3676,3925,3167,3414,2650,2899,2137,2384,1984,1737,1475,1226,966,719,453,204,4044,3781,3535,3270,3018,2755,2505,2240,2240,2505,2755,3018,3270,3535,3781,4044,204,453,719,966,1226,1475,1737,1984,2384,2137,2899,2650,3414,3167,3925,3676,348,85,863,598,1370,1107,1881,1616,2800,3065,2291,2554,3830,4095,3317,3580,764,1013,255,502,1786,2035,1273,1520,2912,2665,2403,2154,3942,3695,3429,3180,876,613,367,102,1898,1635,1385,1120,3232,3497,3747,4010,2214,2479,2725,2988,1196,1445,1711,1958,170,
+419,681,928,3376,3129,3891,3642,2358,2111,2869,2620,1340,1077,1855,1590,314,51,825,560,3728,3993,3219,3482,2710,2975,2197,2460,1692,1941,1183,1430,666,915,153,400,3840,3593,3331,3082,2822,2575,2309,2060,1804,1541,1295,1030,778,515,265,0]);
+THREE.triTable=new Int32Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,9,8,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,2,10,0,2,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,8,3,2,10,8,10,9,8,-1,-1,-1,-1,-1,-1,-1,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,8,11,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,11,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,-1,1,11,2,1,9,11,9,8,11,-1,-1,-1,-1,-1,-1,-1,3,10,1,11,10,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,10,1,0,8,10,8,11,10,-1,-1,-1,-1,-1,-1,-1,3,9,0,3,11,9,11,10,9,-1,-1,-1,-1,-1,-1,-1,9,8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,7,3,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,1,9,4,7,1,7,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,4,7,3,0,4,1,2,10,-1,-1,-1,-1,-1,-1,-1,9,2,10,9,0,2,8,4,7,
+-1,-1,-1,-1,-1,-1,-1,2,10,9,2,9,7,2,7,3,7,9,4,-1,-1,-1,-1,8,4,7,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,4,7,11,2,4,2,0,4,-1,-1,-1,-1,-1,-1,-1,9,0,1,8,4,7,2,3,11,-1,-1,-1,-1,-1,-1,-1,4,7,11,9,4,11,9,11,2,9,2,1,-1,-1,-1,-1,3,10,1,3,11,10,7,8,4,-1,-1,-1,-1,-1,-1,-1,1,11,10,1,4,11,1,0,4,7,11,4,-1,-1,-1,-1,4,7,8,9,0,11,9,11,10,11,0,3,-1,-1,-1,-1,4,7,11,4,11,9,9,11,10,-1,-1,-1,-1,-1,-1,-1,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,5,4,1,5,0,-1,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,8,5,4,8,3,5,3,1,5,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,10,4,9,5,-1,-1,-1,-1,-1,-1,-1,5,2,10,5,4,2,4,0,2,-1,-1,-1,-1,-1,-1,-1,2,10,5,3,2,5,3,5,4,3,4,8,-1,-1,-1,-1,9,5,4,2,3,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,0,8,11,4,9,5,-1,-1,-1,-1,-1,-1,-1,0,5,4,0,1,5,2,3,11,-1,-1,-1,-1,-1,-1,-1,2,1,5,2,5,8,2,8,11,4,8,5,-1,-1,-1,-1,10,3,11,10,1,3,9,5,4,-1,-1,-1,-1,-1,-1,-1,4,9,5,0,8,1,8,10,1,8,11,10,-1,-1,-1,-1,5,4,0,5,0,11,5,11,10,11,0,3,-1,-1,-1,-1,5,4,8,5,
+8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,9,7,8,5,7,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,3,0,9,5,3,5,7,3,-1,-1,-1,-1,-1,-1,-1,0,7,8,0,1,7,1,5,7,-1,-1,-1,-1,-1,-1,-1,1,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,7,8,9,5,7,10,1,2,-1,-1,-1,-1,-1,-1,-1,10,1,2,9,5,0,5,3,0,5,7,3,-1,-1,-1,-1,8,0,2,8,2,5,8,5,7,10,5,2,-1,-1,-1,-1,2,10,5,2,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,7,9,5,7,8,9,3,11,2,-1,-1,-1,-1,-1,-1,-1,9,5,7,9,7,2,9,2,0,2,7,11,-1,-1,-1,-1,2,3,11,0,1,8,1,7,8,1,5,7,-1,-1,-1,-1,11,2,1,11,1,7,7,1,5,-1,-1,-1,-1,-1,-1,
+-1,9,5,8,8,5,7,10,1,3,10,3,11,-1,-1,-1,-1,5,7,0,5,0,9,7,11,0,1,0,10,11,10,0,-1,11,10,0,11,0,3,10,5,0,8,0,7,5,7,0,-1,11,10,5,7,11,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,0,1,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,1,9,8,5,10,6,-1,-1,-1,-1,-1,-1,-1,1,6,5,2,6,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,6,5,1,2,6,3,0,8,-1,-1,-1,-1,-1,-1,-1,9,6,5,9,0,6,0,2,6,-1,-1,-1,-1,-1,-1,-1,5,9,8,5,8,2,5,2,6,3,2,8,-1,-1,-1,-1,2,3,11,10,6,
+5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,0,8,11,2,0,10,6,5,-1,-1,-1,-1,-1,-1,-1,0,1,9,2,3,11,5,10,6,-1,-1,-1,-1,-1,-1,-1,5,10,6,1,9,2,9,11,2,9,8,11,-1,-1,-1,-1,6,3,11,6,5,3,5,1,3,-1,-1,-1,-1,-1,-1,-1,0,8,11,0,11,5,0,5,1,5,11,6,-1,-1,-1,-1,3,11,6,0,3,6,0,6,5,0,5,9,-1,-1,-1,-1,6,5,9,6,9,11,11,9,8,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,4,7,3,6,5,10,-1,-1,-1,-1,-1,-1,-1,1,9,0,5,10,6,8,4,7,-1,-1,-1,-1,-1,-1,-1,10,6,5,1,9,7,1,7,3,7,9,4,-1,-1,-1,-1,6,1,2,6,5,1,4,7,8,-1,-1,-1,-1,
+-1,-1,-1,1,2,5,5,2,6,3,0,4,3,4,7,-1,-1,-1,-1,8,4,7,9,0,5,0,6,5,0,2,6,-1,-1,-1,-1,7,3,9,7,9,4,3,2,9,5,9,6,2,6,9,-1,3,11,2,7,8,4,10,6,5,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,2,4,2,0,2,7,11,-1,-1,-1,-1,0,1,9,4,7,8,2,3,11,5,10,6,-1,-1,-1,-1,9,2,1,9,11,2,9,4,11,7,11,4,5,10,6,-1,8,4,7,3,11,5,3,5,1,5,11,6,-1,-1,-1,-1,5,1,11,5,11,6,1,0,11,7,11,4,0,4,11,-1,0,5,9,0,6,5,0,3,6,11,6,3,8,4,7,-1,6,5,9,6,9,11,4,7,9,7,11,9,-1,-1,-1,-1,10,4,9,6,4,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,10,6,4,9,10,0,8,3,-1,-1,-1,-1,-1,-1,-1,
+10,0,1,10,6,0,6,4,0,-1,-1,-1,-1,-1,-1,-1,8,3,1,8,1,6,8,6,4,6,1,10,-1,-1,-1,-1,1,4,9,1,2,4,2,6,4,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,9,2,4,9,2,6,4,-1,-1,-1,-1,0,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,3,2,8,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,10,4,9,10,6,4,11,2,3,-1,-1,-1,-1,-1,-1,-1,0,8,2,2,8,11,4,9,10,4,10,6,-1,-1,-1,-1,3,11,2,0,1,6,0,6,4,6,1,10,-1,-1,-1,-1,6,4,1,6,1,10,4,8,1,2,1,11,8,11,1,-1,9,6,4,9,3,6,9,1,3,11,6,3,-1,-1,-1,-1,8,11,1,8,1,0,11,6,1,9,1,4,6,4,1,-1,3,11,6,3,6,0,0,6,4,-1,-1,-1,-1,-1,-1,-1,
+6,4,8,11,6,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,10,6,7,8,10,8,9,10,-1,-1,-1,-1,-1,-1,-1,0,7,3,0,10,7,0,9,10,6,7,10,-1,-1,-1,-1,10,6,7,1,10,7,1,7,8,1,8,0,-1,-1,-1,-1,10,6,7,10,7,1,1,7,3,-1,-1,-1,-1,-1,-1,-1,1,2,6,1,6,8,1,8,9,8,6,7,-1,-1,-1,-1,2,6,9,2,9,1,6,7,9,0,9,3,7,3,9,-1,7,8,0,7,0,6,6,0,2,-1,-1,-1,-1,-1,-1,-1,7,3,2,6,7,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,11,10,6,8,10,8,9,8,6,7,-1,-1,-1,-1,2,0,7,2,7,11,0,9,7,6,7,10,9,10,7,-1,1,8,0,1,7,8,1,10,7,6,7,10,2,3,11,-1,11,2,1,11,1,7,10,6,1,6,7,1,-1,-1,-1,-1,
+8,9,6,8,6,7,9,1,6,11,6,3,1,3,6,-1,0,9,1,11,6,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,0,7,0,6,3,11,0,11,6,0,-1,-1,-1,-1,7,11,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,1,9,8,3,1,11,7,6,-1,-1,-1,-1,-1,-1,-1,10,1,2,6,11,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,3,0,8,6,11,7,-1,-1,-1,-1,-1,-1,-1,2,9,0,2,10,9,6,11,7,-1,-1,-1,-1,-1,-1,-1,6,11,7,2,10,3,10,8,3,10,9,8,-1,-1,-1,-1,7,
+2,3,6,2,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,8,7,6,0,6,2,0,-1,-1,-1,-1,-1,-1,-1,2,7,6,2,3,7,0,1,9,-1,-1,-1,-1,-1,-1,-1,1,6,2,1,8,6,1,9,8,8,7,6,-1,-1,-1,-1,10,7,6,10,1,7,1,3,7,-1,-1,-1,-1,-1,-1,-1,10,7,6,1,7,10,1,8,7,1,0,8,-1,-1,-1,-1,0,3,7,0,7,10,0,10,9,6,10,7,-1,-1,-1,-1,7,6,10,7,10,8,8,10,9,-1,-1,-1,-1,-1,-1,-1,6,8,4,11,8,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,6,11,3,0,6,0,4,6,-1,-1,-1,-1,-1,-1,-1,8,6,11,8,4,6,9,0,1,-1,-1,-1,-1,-1,-1,-1,9,4,6,9,6,3,9,3,1,11,3,6,-1,-1,-1,-1,6,8,4,6,11,8,2,10,1,-1,-1,-1,
+-1,-1,-1,-1,1,2,10,3,0,11,0,6,11,0,4,6,-1,-1,-1,-1,4,11,8,4,6,11,0,2,9,2,10,9,-1,-1,-1,-1,10,9,3,10,3,2,9,4,3,11,3,6,4,6,3,-1,8,2,3,8,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,0,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,4,2,4,6,4,3,8,-1,-1,-1,-1,1,9,4,1,4,2,2,4,6,-1,-1,-1,-1,-1,-1,-1,8,1,3,8,6,1,8,4,6,6,10,1,-1,-1,-1,-1,10,1,0,10,0,6,6,0,4,-1,-1,-1,-1,-1,-1,-1,4,6,3,4,3,8,6,10,3,0,3,9,10,9,3,-1,10,9,4,6,10,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,5,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,5,11,7,6,
+-1,-1,-1,-1,-1,-1,-1,5,0,1,5,4,0,7,6,11,-1,-1,-1,-1,-1,-1,-1,11,7,6,8,3,4,3,5,4,3,1,5,-1,-1,-1,-1,9,5,4,10,1,2,7,6,11,-1,-1,-1,-1,-1,-1,-1,6,11,7,1,2,10,0,8,3,4,9,5,-1,-1,-1,-1,7,6,11,5,4,10,4,2,10,4,0,2,-1,-1,-1,-1,3,4,8,3,5,4,3,2,5,10,5,2,11,7,6,-1,7,2,3,7,6,2,5,4,9,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,6,0,6,2,6,8,7,-1,-1,-1,-1,3,6,2,3,7,6,1,5,0,5,4,0,-1,-1,-1,-1,6,2,8,6,8,7,2,1,8,4,8,5,1,5,8,-1,9,5,4,10,1,6,1,7,6,1,3,7,-1,-1,-1,-1,1,6,10,1,7,6,1,0,7,8,7,0,9,5,4,-1,4,0,10,4,10,5,0,3,10,6,10,7,3,7,10,
+-1,7,6,10,7,10,8,5,4,10,4,8,10,-1,-1,-1,-1,6,9,5,6,11,9,11,8,9,-1,-1,-1,-1,-1,-1,-1,3,6,11,0,6,3,0,5,6,0,9,5,-1,-1,-1,-1,0,11,8,0,5,11,0,1,5,5,6,11,-1,-1,-1,-1,6,11,3,6,3,5,5,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,11,9,11,8,11,5,6,-1,-1,-1,-1,0,11,3,0,6,11,0,9,6,5,6,9,1,2,10,-1,11,8,5,11,5,6,8,0,5,10,5,2,0,2,5,-1,6,11,3,6,3,5,2,10,3,10,5,3,-1,-1,-1,-1,5,8,9,5,2,8,5,6,2,3,8,2,-1,-1,-1,-1,9,5,6,9,6,0,0,6,2,-1,-1,-1,-1,-1,-1,-1,1,5,8,1,8,0,5,6,8,3,8,2,6,2,8,-1,1,5,6,2,1,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+1,3,6,1,6,10,3,8,6,5,6,9,8,9,6,-1,10,1,0,10,0,6,9,5,0,5,6,0,-1,-1,-1,-1,0,3,8,5,6,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,5,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,7,5,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,11,7,5,8,3,0,-1,-1,-1,-1,-1,-1,-1,5,11,7,5,10,11,1,9,0,-1,-1,-1,-1,-1,-1,-1,10,7,5,10,11,7,9,8,1,8,3,1,-1,-1,-1,-1,11,1,2,11,7,1,7,5,1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,7,1,7,5,7,2,11,-1,-1,-1,-1,9,7,5,9,2,7,9,0,2,2,11,7,-1,-1,-1,-1,7,5,2,7,2,11,5,9,2,3,2,8,9,8,2,-1,2,5,10,2,3,5,3,7,5,-1,-1,
+-1,-1,-1,-1,-1,8,2,0,8,5,2,8,7,5,10,2,5,-1,-1,-1,-1,9,0,1,5,10,3,5,3,7,3,10,2,-1,-1,-1,-1,9,8,2,9,2,1,8,7,2,10,2,5,7,5,2,-1,1,3,5,3,7,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,7,0,7,1,1,7,5,-1,-1,-1,-1,-1,-1,-1,9,0,3,9,3,5,5,3,7,-1,-1,-1,-1,-1,-1,-1,9,8,7,5,9,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,8,4,5,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,5,0,4,5,11,0,5,10,11,11,3,0,-1,-1,-1,-1,0,1,9,8,4,10,8,10,11,10,4,5,-1,-1,-1,-1,10,11,4,10,4,5,11,3,4,9,4,1,3,1,4,-1,2,5,1,2,8,5,2,11,8,4,5,8,-1,-1,-1,-1,0,4,11,0,11,3,4,5,11,
+2,11,1,5,1,11,-1,0,2,5,0,5,9,2,11,5,4,5,8,11,8,5,-1,9,4,5,2,11,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,5,10,3,5,2,3,4,5,3,8,4,-1,-1,-1,-1,5,10,2,5,2,4,4,2,0,-1,-1,-1,-1,-1,-1,-1,3,10,2,3,5,10,3,8,5,4,5,8,0,1,9,-1,5,10,2,5,2,4,1,9,2,9,4,2,-1,-1,-1,-1,8,4,5,8,5,3,3,5,1,-1,-1,-1,-1,-1,-1,-1,0,4,5,1,0,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,5,8,5,3,9,0,5,0,3,5,-1,-1,-1,-1,9,4,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,11,7,4,9,11,9,10,11,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,7,9,11,7,9,10,11,-1,-1,-1,-1,1,10,11,1,11,
+4,1,4,0,7,4,11,-1,-1,-1,-1,3,1,4,3,4,8,1,10,4,7,4,11,10,11,4,-1,4,11,7,9,11,4,9,2,11,9,1,2,-1,-1,-1,-1,9,7,4,9,11,7,9,1,11,2,11,1,0,8,3,-1,11,7,4,11,4,2,2,4,0,-1,-1,-1,-1,-1,-1,-1,11,7,4,11,4,2,8,3,4,3,2,4,-1,-1,-1,-1,2,9,10,2,7,9,2,3,7,7,4,9,-1,-1,-1,-1,9,10,7,9,7,4,10,2,7,8,7,0,2,0,7,-1,3,7,10,3,10,2,7,4,10,1,10,0,4,0,10,-1,1,10,2,8,7,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,7,1,3,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,0,8,1,8,7,1,-1,-1,-1,-1,4,0,3,7,4,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,8,7,-1,-1,-1,
+-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,11,9,10,-1,-1,-1,-1,-1,-1,-1,0,1,10,0,10,8,8,10,11,-1,-1,-1,-1,-1,-1,-1,3,1,10,11,3,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,11,1,11,9,9,11,8,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,1,2,9,2,11,9,-1,-1,-1,-1,0,2,11,8,0,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,10,8,9,-1,-1,-1,-1,-1,-1,-1,9,10,2,0,9,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,0,1,8,1,10,8,-1,-1,-1,-1,1,10,
+2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,8,9,1,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,9,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,3,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);
+THREE.Trident=function(b){function c(c){return new THREE.Mesh(new THREE.CylinderGeometry(30,0.1,b.length/20,b.length/5),new THREE.MeshBasicMaterial({color:c}))}function e(b,c){var e=new THREE.Geometry;e.vertices=[new THREE.Vertex,new THREE.Vertex(b)];return new THREE.Line(e,new THREE.LineBasicMaterial({color:c}))}THREE.Object3D.call(this);var f=Math.PI/2,h,b=b||THREE.Trident.defaultParams;if(b!==THREE.Trident.defaultParams)for(h in THREE.Trident.defaultParams)b.hasOwnProperty(h)||(b[h]=THREE.Trident.defaultParams[h]);
+this.scale=new THREE.Vector3(b.scale,b.scale,b.scale);this.addChild(e(new THREE.Vector3(b.length,0,0),b.xAxisColor));this.addChild(e(new THREE.Vector3(0,b.length,0),b.yAxisColor));this.addChild(e(new THREE.Vector3(0,0,b.length),b.zAxisColor));if(b.showArrows)h=c(b.xAxisColor),h.rotation.y=-f,h.position.x=b.length,this.addChild(h),h=c(b.yAxisColor),h.rotation.x=f,h.position.y=b.length,this.addChild(h),h=c(b.zAxisColor),h.rotation.y=Math.PI,h.position.z=b.length,this.addChild(h)};
+THREE.Trident.prototype=new THREE.Object3D;THREE.Trident.prototype.constructor=THREE.Trident;THREE.Trident.defaultParams={xAxisColor:16711680,yAxisColor:65280,zAxisColor:255,showArrows:!0,length:100,scale:1};THREE.PlaneCollider=function(b,c){this.point=b;this.normal=c};THREE.SphereCollider=function(b,c){this.center=b;this.radius=c;this.radiusSq=c*c};THREE.BoxCollider=function(b,c){this.min=b;this.max=c;this.dynamic=!0;this.normal=new THREE.Vector3};
+THREE.MeshCollider=function(b,c){this.mesh=b;this.box=c;this.numFaces=this.mesh.geometry.faces.length;this.normal=new THREE.Vector3};THREE.CollisionSystem=function(){this.collisionNormal=new THREE.Vector3;this.colliders=[];this.hits=[]};THREE.Collisions=new THREE.CollisionSystem;THREE.CollisionSystem.prototype.merge=function(b){this.colliders=this.colliders.concat(b.colliders);this.hits=this.hits.concat(b.hits)};
+THREE.CollisionSystem.prototype.rayCastAll=function(b){b.direction.normalize();this.hits.length=0;var c,e,f,h,m=0;c=0;for(e=this.colliders.length;c<e;c++)if(h=this.colliders[c],f=this.rayCast(b,h),f<Number.MAX_VALUE)h.distance=f,f>m?this.hits.push(h):this.hits.unshift(h),m=f;return this.hits};
+THREE.CollisionSystem.prototype.rayCastNearest=function(b){var c=this.rayCastAll(b);if(c.length==0)return null;for(var e=0;c[e]instanceof THREE.MeshCollider;){var f=this.rayMesh(b,c[e]);if(f.dist<Number.MAX_VALUE){c[e].distance=f.dist;c[e].faceIndex=f.faceIndex;break}e++}if(e>c.length)return null;return c[e]};
+THREE.CollisionSystem.prototype.rayCast=function(b,c){if(c instanceof THREE.PlaneCollider)return this.rayPlane(b,c);else if(c instanceof THREE.SphereCollider)return this.raySphere(b,c);else if(c instanceof THREE.BoxCollider)return this.rayBox(b,c);else if(c instanceof THREE.MeshCollider&&c.box)return this.rayBox(b,c.box)};
+THREE.CollisionSystem.prototype.rayMesh=function(b,c){for(var e=this.makeRayLocal(b,c.mesh),f=Number.MAX_VALUE,h,m=0;m<c.numFaces;m++){var k=c.mesh.geometry.faces[m],n=c.mesh.geometry.vertices[k.a].position,u=c.mesh.geometry.vertices[k.b].position,p=c.mesh.geometry.vertices[k.c].position,v=k instanceof THREE.Face4?c.mesh.geometry.vertices[k.d].position:null;k instanceof THREE.Face3?(k=this.rayTriangle(e,n,u,p,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize())):
+k instanceof THREE.Face4&&(k=this.rayTriangle(e,n,u,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()),k=this.rayTriangle(e,u,p,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()))}return{dist:f,faceIndex:h}};
+THREE.CollisionSystem.prototype.rayTriangle=function(b,c,e,f,h,m,k){var n=THREE.CollisionSystem.__v1,u=THREE.CollisionSystem.__v2;m.set(0,0,0);n.sub(e,c);u.sub(f,e);m.cross(n,u);n=m.dot(b.direction);if(!(n<0))if(k.doubleSided||k.flipSided)m.multiplyScalar(-1),n*=-1;else return Number.MAX_VALUE;k=m.dot(c)-m.dot(b.origin);if(!(k<=0))return Number.MAX_VALUE;if(!(k>=n*h))return Number.MAX_VALUE;k/=n;n=THREE.CollisionSystem.__v3;n.copy(b.direction);n.multiplyScalar(k);n.addSelf(b.origin);Math.abs(m.x)>
+Math.abs(m.y)?Math.abs(m.x)>Math.abs(m.z)?(b=n.y-c.y,m=e.y-c.y,h=f.y-c.y,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y):Math.abs(m.y)>Math.abs(m.z)?(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y);c=m*f-e*h;if(c==0)return Number.MAX_VALUE;c=1/c;f=(b*f-n*h)*c;if(!(f>=0))return Number.MAX_VALUE;c*=m*n-e*b;if(!(c>=0))return Number.MAX_VALUE;if(!(1-f-c>=0))return Number.MAX_VALUE;return k};
+THREE.CollisionSystem.prototype.makeRayLocal=function(b,c){var e=THREE.CollisionSystem.__m;THREE.Matrix4.makeInvert(c.matrixWorld,e);var f=THREE.CollisionSystem.__r;f.origin.copy(b.origin);f.direction.copy(b.direction);e.multiplyVector3(f.origin);e.rotateAxis(f.direction);f.direction.normalize();return f};
+THREE.CollisionSystem.prototype.rayBox=function(b,c){var e;c.dynamic&&c.mesh&&c.mesh.matrixWorld?e=this.makeRayLocal(b,c.mesh):(e=THREE.CollisionSystem.__r,e.origin.copy(b.origin),e.direction.copy(b.direction));var f=0,h=0,m=0,k=0,n=0,u=0,p=!0;e.origin.x<c.min.x?(f=c.min.x-e.origin.x,f/=e.direction.x,p=!1,k=-1):e.origin.x>c.max.x&&(f=c.max.x-e.origin.x,f/=e.direction.x,p=!1,k=1);e.origin.y<c.min.y?(h=c.min.y-e.origin.y,h/=e.direction.y,p=!1,n=-1):e.origin.y>c.max.y&&(h=c.max.y-e.origin.y,h/=e.direction.y,
+p=!1,n=1);e.origin.z<c.min.z?(m=c.min.z-e.origin.z,m/=e.direction.z,p=!1,u=-1):e.origin.z>c.max.z&&(m=c.max.z-e.origin.z,m/=e.direction.z,p=!1,u=1);if(p)return-1;p=0;h>f&&(p=1,f=h);m>f&&(p=2,f=m);switch(p){case 0:n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(k,0,0);break;case 1:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*
+f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(0,n,0);break;case 2:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;c.normal.set(0,0,u)}return f};THREE.CollisionSystem.prototype.rayPlane=function(b,c){var e=b.direction.dot(c.normal),f=c.point.dot(c.normal);if(e<0)e=(f-b.origin.dot(c.normal))/e;else return Number.MAX_VALUE;return e>0?e:Number.MAX_VALUE};
+THREE.CollisionSystem.prototype.raySphere=function(b,c){var e=c.center.clone().subSelf(b.origin);if(e.lengthSq<c.radiusSq)return-1;var f=e.dot(b.direction.clone());if(f<=0)return Number.MAX_VALUE;e=c.radiusSq-(e.lengthSq()-f*f);if(e>=0)return Math.abs(f)-Math.sqrt(e);return Number.MAX_VALUE};THREE.CollisionSystem.__v1=new THREE.Vector3;THREE.CollisionSystem.__v2=new THREE.Vector3;THREE.CollisionSystem.__v3=new THREE.Vector3;THREE.CollisionSystem.__nr=new THREE.Vector3;THREE.CollisionSystem.__m=new THREE.Matrix4;
+THREE.CollisionSystem.__r=new THREE.Ray;THREE.CollisionUtils={};THREE.CollisionUtils.MeshOBB=function(b){b.geometry.computeBoundingBox();var c=b.geometry.boundingBox,e=new THREE.Vector3(c.x[0],c.y[0],c.z[0]),c=new THREE.Vector3(c.x[1],c.y[1],c.z[1]),e=new THREE.BoxCollider(e,c);e.mesh=b;return e};THREE.CollisionUtils.MeshAABB=function(b){var c=THREE.CollisionUtils.MeshOBB(b);c.min.addSelf(b.position);c.max.addSelf(b.position);c.dynamic=!1;return c};
+THREE.CollisionUtils.MeshColliderWBox=function(b){return new THREE.MeshCollider(b,THREE.CollisionUtils.MeshOBB(b))};
+if(THREE.WebGLRenderer)THREE.AnaglyphWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);var c=this,e=this.setSize,f=this.render,h=new THREE.Camera,m=new THREE.Camera,k=new THREE.Matrix4,n=new THREE.Matrix4,u,p,v;h.useTarget=m.useTarget=!1;h.matrixAutoUpdate=m.matrixAutoUpdate=!1;var b={minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat},t=new THREE.WebGLRenderTarget(512,512,b),x=new THREE.WebGLRenderTarget(512,512,b),w=new THREE.Camera(53,1,1,1E4);w.position.z=
+2;_material=new THREE.MeshShaderMaterial({uniforms:{mapLeft:{type:"t",value:0,texture:t},mapRight:{type:"t",value:1,texture:x}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, 1.0 - uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D mapLeft;\nuniform sampler2D mapRight;\nvarying vec2 vUv;\nvoid main() {\nvec4 colorL, colorR;\nvec2 uv = vUv;\ncolorL = texture2D( mapLeft, uv );\ncolorR = texture2D( mapRight, uv );\ngl_FragColor = vec4( colorL.g * 0.7 + colorL.b * 0.3, colorR.g, colorR.b, colorL.a + colorR.a ) * 1.1;\n}"});
+var z=new THREE.Scene;z.addObject(new THREE.Mesh(new THREE.PlaneGeometry(2,2),_material));this.setSize=function(b,f){e.call(c,b,f);t.width=b;t.height=f;x.width=b;x.height=f};this.render=function(b,e){e.update(null,!0);if(u!==e.aspect||p!==e.near||v!==e.fov){u=e.aspect;p=e.near;v=e.fov;var D=e.projectionMatrix.clone(),G=125/30*0.5,H=G*p/125,E=p*Math.tan(v*Math.PI/360),N;k.n14=G;n.n14=-G;G=-E*u+H;N=E*u+H;D.n11=2*p/(N-G);D.n13=(N+G)/(N-G);h.projectionMatrix=D.clone();G=-E*u-H;N=E*u-H;D.n11=2*p/(N-G);
+D.n13=(N+G)/(N-G);m.projectionMatrix=D.clone()}h.matrix=e.matrixWorld.clone().multiplySelf(n);h.update(null,!0);h.position.copy(e.position);h.near=p;h.far=e.far;f.call(c,b,h,t,!0);m.matrix=e.matrixWorld.clone().multiplySelf(k);m.update(null,!0);m.position.copy(e.position);m.near=p;m.far=e.far;f.call(c,b,m,x,!0);f.call(c,z,w)}};
+if(THREE.WebGLRenderer)THREE.CrosseyedWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);this.autoClear=!1;var c=this,e=this.setSize,f=this.render,h,m,k=new THREE.Camera,n=new THREE.Camera;c.separation=10;if(b&&b.separation!==void 0)c.separation=b.separation;(new THREE.Camera(53,window.innerWidth/2/window.innerHeight,1,1E4)).position.z=-10;this.setSize=function(b,f){e.call(c,b,f);h=b/2;m=f};this.render=function(b,e){this.clear();k.fov=e.fov;k.aspect=0.5*e.aspect;k.near=e.near;k.far=e.far;
+k.updateProjectionMatrix();k.position.copy(e.position);k.target.position.copy(e.target.position);k.translateX(c.separation);n.projectionMatrix=k.projectionMatrix;n.position.copy(e.position);n.target.position.copy(e.target.position);n.translateX(-c.separation);this.setViewport(0,0,h,m);f.call(c,b,k);this.setViewport(h,0,h,m);f.call(c,b,n,!1)}};
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/a-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/a-green.css
new file mode 100644
index 00000000000..b0dbb071d5b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/a-green.css
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/animations.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/animations.css
new file mode 100644
index 00000000000..44e3ad9cbde
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/animations.css
@@ -0,0 +1,80 @@
+/* Duration classes */
+
+.once {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: 1;
+}
+
+.infinite {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+}
+
+.infinite-reversed {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+.fast {
+ animation-duration: 0.5s;
+}
+
+/* Animation declarations */
+
+@keyframes pulse {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0.25;
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotateY(0);
+ }
+ to {
+ transform: rotateY(360deg);
+ }
+}
+
+@keyframes rotate {
+ from {
+ transform: rotateZ(45deg);
+ }
+ to {
+ transform: rotateZ(405deg);
+ }
+}
+
+@keyframes slant {
+ from {
+ transform: rotate3d(0.23, 1.2, 0.83, 40deg);
+ }
+ to {
+ transform: rotate3d(1, 0.75, 1.3, 240deg);
+ }
+}
+
+/* Animation classes */
+
+.pulse {
+ animation-name: pulse;
+}
+
+.spin {
+ animation-name: spin;
+}
+
+.rotate {
+ animation-name: rotate;
+}
+
+.slant {
+ animation-name: slant;
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/b-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/b-green.css
new file mode 100644
index 00000000000..a0473f5ca26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/b-green.css
@@ -0,0 +1 @@
+.b { color: green; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.mp4 b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.mp4
new file mode 100644
index 00000000000..0512bb92cdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.mp4
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.ogv b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.ogv
new file mode 100644
index 00000000000..4f964f107c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.ogv
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.webm b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.webm
new file mode 100644
index 00000000000..7f75126a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/big-buck-bunny-240p.webm
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/c-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/c-red.css
new file mode 100644
index 00000000000..d4ba5c64e95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/c-red.css
@@ -0,0 +1 @@
+.c { color: red; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/cat.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/cat.png
new file mode 100644
index 00000000000..85dd7324815
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/cat.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-green.css
new file mode 100644
index 00000000000..537104e6633
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-green.css
@@ -0,0 +1 @@
+.import { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-red.css
new file mode 100644
index 00000000000..9945ef47114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/import-red.css
@@ -0,0 +1 @@
+.import { color: red; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-gg-gr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-gg-gr.png
new file mode 100644
index 00000000000..a6d65b0d4a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-gg-gr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rgr-grg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rgr-grg.png
new file mode 100644
index 00000000000..9b88fbd8114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rgr-grg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rrg-rgg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rrg-rgg.png
new file mode 100644
index 00000000000..fcf4f3fd7d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-grg-rrg-rgg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-rgr-grg-rgr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-rgr-grg-rgr.png
new file mode 100644
index 00000000000..d454e3a630c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-rgr-grg-rgr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-tr.png
new file mode 100644
index 00000000000..8b4b25364e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/pattern-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50%.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50%.png
new file mode 100644
index 00000000000..cf2eea6b438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50%.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50px.png
new file mode 100644
index 00000000000..9f46583665c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-h-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-100px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-100px.png
new file mode 100644
index 00000000000..a837eca2225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-100px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-50px.png
new file mode 100644
index 00000000000..84141028020
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/ruler-v-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-purple.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-purple.png
new file mode 100644
index 00000000000..0f522d78728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-purple.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-teal.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-teal.png
new file mode 100644
index 00000000000..e567f51b91b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-teal.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-white.png
new file mode 100644
index 00000000000..5853cbb238c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/square-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/static-cube.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/static-cube.js
new file mode 100644
index 00000000000..10b045301c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/static-cube.js
@@ -0,0 +1,52 @@
+// This source is the javascript needed to build a simple moving
+// cube in **three.js** based on this
+// [example](https://raw.github.com/mrdoob/three.js/r44/examples/canvas_geometry_cube.html)
+// It is the source about this [blog post](/blog/2011/08/06/lets-do-a-cube/).
+
+// ## Now lets start
+
+// declare a bunch of variable we will need later
+var container;
+var camera, scene, renderer;
+var cube;
+
+// ## Initialize everything
+function init() {
+ // create the camera
+ camera = new THREE.Camera( 70, 4/3, 100, 1000 );
+ camera.position.z = 350;
+
+ // create the Scene
+ scene = new THREE.Scene();
+
+ // create the Cube
+ cube = new THREE.Mesh( new THREE.CubeGeometry( 200, 200, 200 ), new THREE.MeshNormalMaterial() );
+
+ // add the object to the scene
+ scene.addObject( cube );
+
+ // create the container element
+ container = document.querySelector("#container");
+
+ // init the WebGL renderer and append it to the Dom
+ renderer = new THREE.WebGLRenderer();
+ renderer.setSize( container.getBoundingClientRect().width, container.getBoundingClientRect().height );
+ container.appendChild( renderer.domElement );
+}
+
+
+// ## Render the 3D Scene
+function render() {
+ // animate the cube
+ cube.rotation.x = 0.5;
+ cube.rotation.y = 0.8;
+ cube.rotation.z = 0.2;
+
+ // actually display the scene in the DOM element
+ renderer.render( scene, camera );
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ init();
+ render();
+}) \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/support/README b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/support/README
new file mode 100644
index 00000000000..ea8cb9ef357
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/support/README
@@ -0,0 +1,4 @@
+The swatch-green.png file in this directory is really a RED swatch,
+and the swatch-red.png file is really a green swatch.
+
+This directory is used to test relative URIs. \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/svg-external-styles.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/svg-external-styles.css
new file mode 100644
index 00000000000..22978f89b04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/svg-external-styles.css
@@ -0,0 +1,19 @@
+.rotate {
+ transform: rotate(90deg);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+}
+
+.translateY {
+ transform: translateY(-100px);
+}
+
+.invalid {
+ transform: scale(invalid);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-blue.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-blue.png
new file mode 100644
index 00000000000..bf2759634d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-blue.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-green.png
new file mode 100644
index 00000000000..0aa79b0c86b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-lime.png
new file mode 100644
index 00000000000..55fd7fdaedf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-orange.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-orange.png
new file mode 100644
index 00000000000..d3cd498b52b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-orange.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-red.png
new file mode 100644
index 00000000000..1caf25c992a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-white.png
new file mode 100644
index 00000000000..1a7d4323d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-yellow.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-yellow.png
new file mode 100644
index 00000000000..1591aa0e2e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/swatch-yellow.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-bl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-bl.png
new file mode 100644
index 00000000000..904e24e996a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-bl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-br.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-br.png
new file mode 100644
index 00000000000..f413ff5c1a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-br.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-inner-half-size.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-inner-half-size.png
new file mode 100644
index 00000000000..e473bf80efc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-inner-half-size.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-outer.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-outer.png
new file mode 100644
index 00000000000..82eeace7fc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-outer.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tl.png
new file mode 100644
index 00000000000..f6ac0ef7e8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tr.png
new file mode 100644
index 00000000000..59843ae54b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/test-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-iframe-001-contents.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-iframe-001-contents.html
new file mode 100644
index 00000000000..deb104be2f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-iframe-001-contents.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Iframe (contents)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ height: 200px;
+ width: 200px;
+ background: red;
+ transform: translate(500px, 500px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.png
new file mode 100644
index 00000000000..8f939993332
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.svg
new file mode 100644
index 00000000000..8f759c959c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-lime-square.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<rect fill="lime" height="100" width="100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-down.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-down.svg
new file mode 100644
index 00000000000..5fb4ad826b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-down.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 100,0 50,100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left-small.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left-small.svg
new file mode 100644
index 00000000000..855b566133c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left-small.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="50px" width="50px" viewBox="0 0 50 50">
+<polygon fill="blue" points="0,25 50,50 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left.svg
new file mode 100644
index 00000000000..48c24e1d9e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,50 100,100 100,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-right.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-right.svg
new file mode 100644
index 00000000000..dd056a9ff78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 0,100 100,50"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-up.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-up.svg
new file mode 100644
index 00000000000..b3cecc986df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/support/transform-triangle-up.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,100 100,100 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-document-styles-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-document-styles-ref.xht
new file mode 100644
index 00000000000..054ff1cc517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-document-styles-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-external-styles-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-external-styles-ref.xht
new file mode 100644
index 00000000000..054ff1cc517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-external-styles-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-combination-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-combination-ref.xht
new file mode 100644
index 00000000000..55de445a30d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-combination-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" fill="green" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ex-unit-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ex-unit-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-relative-ref.xht
new file mode 100644
index 00000000000..4f22ed4cc9e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-relative-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="50" fill="green" height="100"></rect>
+ <rect width="50" fill="blue" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-transform-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-transform-ref.xht
new file mode 100644
index 00000000000..640f0e52fdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-gradientTransform-transform-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar to the left of a vertical yellow bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="50" fill="green" height="100"></rect>
+ <rect width="50" fill="yellow" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-250x250-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-250x250-ref.xht
new file mode 100644
index 00000000000..44a85450415
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-250x250-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-ref.xht
new file mode 100644
index 00000000000..f0086ee18a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-green-square-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="40" width="80" fill="green" x="40" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-inline-styles-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-inline-styles-ref.xht
new file mode 100644
index 00000000000..054ff1cc517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-inline-styles-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-clipped-rect-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-clipped-rect-ref.xht
new file mode 100644
index 00000000000..70173afe96b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-clipped-rect-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="40" fill="green" x="100" height="40"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-four-color-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-four-color-ref.xht
new file mode 100644
index 00000000000..8199146488b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-matrix-four-color-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-cm-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-cm-ref.xht
new file mode 100644
index 00000000000..b1f4a066e72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-cm-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="2cm" fill="url(#grad)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-in-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-in-ref.xht
new file mode 100644
index 00000000000..65486697b86
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-in-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="1.5in" fill="url(#grad)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-pt-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-pt-ref.xht
new file mode 100644
index 00000000000..4deb2753a25
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-pt-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="80pt" fill="url(#grad)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-ref.xht
new file mode 100644
index 00000000000..080406feb99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-length-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-invalid-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-invalid-ref.xht
new file mode 100644
index 00000000000..62d6c231d7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-invalid-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="150" fill="url(#grad)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-ref.xht
new file mode 100644
index 00000000000..62d6c231d7b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-origin-relative-length-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="150" fill="url(#grad)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-combination-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-combination-ref.xht
new file mode 100644
index 00000000000..55de445a30d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-combination-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" fill="green" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ex-unit-ref.xht
new file mode 100644
index 00000000000..e268008b030
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ex-unit-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="160" fill="green" height="160"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-relative-ref.xht
new file mode 100644
index 00000000000..939f42f4734
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-patternTransform-relative-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-3args-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-3args-ref.xht
new file mode 100644
index 00000000000..c2619e8ac5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-3args-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="80" fill="green" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-45-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-45-ref.xht
new file mode 100644
index 00000000000..50139b2c42f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-45-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-90-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-90-ref.xht
new file mode 100644
index 00000000000..080ce8e43e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-rotate-angle-90-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-scale-ref.xht
new file mode 100644
index 00000000000..c438d06f47e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-scale-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewx-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewx-ref.xht
new file mode 100644
index 00000000000..5d976210555
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewx-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewxy-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewxy-ref.xht
new file mode 100644
index 00000000000..faca5f75777
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewxy-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewy-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewy-ref.xht
new file mode 100644
index 00000000000..20489c6a6de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-skewy-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100%" fill="green" height="100%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-transform-list-separations-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-transform-list-separations-ref.xht
new file mode 100644
index 00000000000..b04ef816a00
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-transform-list-separations-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="100" width="100" fill="url(#grad)" x="100" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-abs-unit-combinations-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-abs-unit-combinations-ref.xht
new file mode 100644
index 00000000000..481ad728d9e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-abs-unit-combinations-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="75" fill="green" x="100" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ex-unit-ref.xht
new file mode 100644
index 00000000000..3d1aabf3c79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ex-unit-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg ahem" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="40" width="100" fill="green" x="40" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-ref.xht
new file mode 100644
index 00000000000..41e14d2a049
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="75" width="150" fill="green" x="50" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-relative-ref.xht
new file mode 100644
index 00000000000..204b0779015
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-multiple-relative-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="100" width="200" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ref.xht
new file mode 100644
index 00000000000..b843c859263
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="100" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-relative-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-relative-ref.xht
new file mode 100644
index 00000000000..27652246791
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translate-relative-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="100" width="100" fill="green" x="50" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ex-unit-ref.xht
new file mode 100644
index 00000000000..0ac05ec1fd5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ex-unit-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg ahem" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" x="40" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ref.xht
new file mode 100644
index 00000000000..98385a36d59
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatex-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" x="50" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ex-unit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ex-unit-ref.xht
new file mode 100644
index 00000000000..cb56ca422a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ex-unit-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg ahem" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="40" width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ref.xht
new file mode 100644
index 00000000000..b11652aa549
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/svg-translatey-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="50" width="100" fill="green" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-3d-rotateY-stair-above-ref-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-3d-rotateY-stair-above-ref-001.xht
new file mode 100644
index 00000000000..973a0fc03f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-3d-rotateY-stair-above-ref-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test transform-3d-rotatey-stair-above-ref-001"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Apple" href="http://www.apple.com/" />
+ <style type="text/css"><![CDATA[
+div {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+ ]]></style>
+ </head>
+ <body>
+<div></div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-abspos-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-abspos-ref.xht
new file mode 100644
index 00000000000..72fa3ba2e60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-abspos-ref.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-001-ref.xht
new file mode 100644
index 00000000000..6de4a3ad208
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-001-ref.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test transform-applies-to-001-ref"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ }
+ div p {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ }
+ #ref {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>You should see a green box. There should be no red.</p>
+ <div>
+ <p id="ref"></p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-002-ref.xht
new file mode 100644
index 00000000000..891054ce939
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-applies-to-002-ref.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Reftest Reference</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test transform-applies-to-002-ref"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ color: green;
+ }
+ div p {
+ width: 10em;
+ font-family: Ahem;
+ position: absolute;
+ top: 0;
+ left: 0;
+ line-height: 2;
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>
+ You should see two lines of 5 green boxes each. You should see no
+ red.
+ </p>
+ <div>
+ <p>X X <span>X X X X X X</span> X X</p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-006-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-006-notref.xht
new file mode 100644
index 00000000000..5eef45a491e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-006-notref.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ html {
+ background: white;
+ height: 100%;
+ width: 100%;
+ }
+ body {
+ background: url(support/transform-triangle-up.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-1.xht
new file mode 100644
index 00000000000..f2d94c08d98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-1.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ background: url(support/transform-triangle-up.svg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-2.xht
new file mode 100644
index 00000000000..66d433b1315
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-background-ref-2.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <style>
+ html {
+ background: url(support/transform-triangle-up.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-blank-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-blank-ref.xht
new file mode 100644
index 00000000000..ab361e874db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-blank-ref.xht
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-1.xht
new file mode 100644
index 00000000000..52d39caecd3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-1.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ div.test {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div style="transform: skewX(15deg);">
+ <div style="transform: rotate(90deg);">
+ <div style="transform: scale(2);">
+ <div style="transform: translate(100px);">
+ <div class="test">
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-2.xht
new file mode 100644
index 00000000000..55ccd453aac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-notref-2.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ body &gt; div &gt; div {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-ref.xht
new file mode 100644
index 00000000000..10aa948ded8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-compound-ref.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:robert@ocallahan.org" rel="author" title="Robert O'Callahan" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ div.test {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div style="transform: translate(100px);">
+ <div style="transform: scale(2);">
+ <div style="transform: rotate(90deg);">
+ <div style="transform: skewX(15deg);">
+ <div class="test">
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-descendant-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-descendant-ref.xht
new file mode 100644
index 00000000000..0ef767847f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-descendant-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ background: green;
+ height: 100px;
+ width: 100px;
+ }
+ span {
+ background: yellow;
+ }
+ body &gt; div &gt; div {
+ position: relative;
+ top: 150px;
+ left: 20px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div><span>span 1</span></div>
+ </div>
+ <span>span 2</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-notref.xht
new file mode 100644
index 00000000000..b938cc3fd39
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-notref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-ref.xht
new file mode 100644
index 00000000000..babd0b83c9d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-display-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-fixed-bg-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-fixed-bg-ref.xht
new file mode 100644
index 00000000000..28048d04953
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-fixed-bg-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) 50px 50px;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-notref.xht
new file mode 100644
index 00000000000..b562b9eb186
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-notref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ float: left;
+ }
+ div::before {
+ float: left;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-ref.xht
new file mode 100644
index 00000000000..e209a280bb4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-001-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ float: left;
+ }
+ div:first-child {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>abc</div>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-notref.xht
new file mode 100644
index 00000000000..5a41c7bc3c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-notref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ span::before {
+ display: block;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-ref.xht
new file mode 100644
index 00000000000..08a3e941790
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-generated-002-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <div>abc</div>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-iframe-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-iframe-ref.xht
new file mode 100644
index 00000000000..cd7384c0482
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-iframe-ref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ iframe {
+ overflow: hidden;
+ height: 200px;
+ width: 300px;
+ }
+ </style>
+ </head><body><iframe src="about:blank"></iframe>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-image-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-image-ref.xht
new file mode 100644
index 00000000000..75da8de0a43
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-image-ref.xht
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <img src="support/transform-triangle-right.svg" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-origin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-origin-ref.xht
new file mode 100644
index 00000000000..ad672af5f13
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-origin-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ position: relative;
+ top: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-ref.xht
new file mode 100644
index 00000000000..a90ea1a2092
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inherit-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-notref.xht
new file mode 100644
index 00000000000..ed1cdc8223d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-notref.xht
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <p>This is some text<br />that is not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-ref.xht
new file mode 100644
index 00000000000..a8b4bd9a9fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-inline-ref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ p + p {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>This is some text<br />that is not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-001-ref.xht
new file mode 100644
index 00000000000..970733879e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-001-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=text</p>
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-002-ref.xht
new file mode 100644
index 00000000000..888755adcdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-002-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=file</p>
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-003-ref.xht
new file mode 100644
index 00000000000..b7d9346dc91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-003-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=search</p>
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-004-ref.xht
new file mode 100644
index 00000000000..bd938eac146
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-004-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=tel</p>
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-005-ref.xht
new file mode 100644
index 00000000000..a4a0e819166
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-005-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=url</p>
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-006-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-006-ref.xht
new file mode 100644
index 00000000000..78b06d420af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-006-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=email</p>
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-007-ref.xht
new file mode 100644
index 00000000000..f7260820af8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-007-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=password</p>
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-008-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-008-ref.xht
new file mode 100644
index 00000000000..e94e21e73c6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-008-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime</p>
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-009-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-009-ref.xht
new file mode 100644
index 00000000000..585e78fe4f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-009-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=date</p>
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-010-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-010-ref.xht
new file mode 100644
index 00000000000..14139dfada6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-010-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=month</p>
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-011-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-011-ref.xht
new file mode 100644
index 00000000000..a3bec14f3ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-011-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=week</p>
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-012-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-012-ref.xht
new file mode 100644
index 00000000000..992c7f96e39
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-012-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=time</p>
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-013-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-013-ref.xht
new file mode 100644
index 00000000000..e833dd5b01e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-013-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime-local</p>
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-014-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-014-ref.xht
new file mode 100644
index 00000000000..2fc7a8b81d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-014-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=number</p>
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-015-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-015-ref.xht
new file mode 100644
index 00000000000..0d936175c0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-015-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=range</p>
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-016-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-016-ref.xht
new file mode 100644
index 00000000000..9d7b48b0249
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-016-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=color</p>
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-017-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-017-ref.xht
new file mode 100644
index 00000000000..5ba472f878c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-017-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=checkbox</p>
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-018-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-018-ref.xht
new file mode 100644
index 00000000000..cfadf94526b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-018-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=radio</p>
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-019-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-019-ref.xht
new file mode 100644
index 00000000000..bc6fe7064d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-input-019-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ input {
+ margin: 10px;
+ position: relative;
+ }
+ p + input + input {
+ left: -10px;
+ }
+ p + input + input + input {
+ left: 10px;
+ }
+ p + input + input + input + input {
+ top: -10px;
+ }
+ p + input + input + input + input + input {
+ top: 10px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=submit</p>
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-lime-square-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-lime-square-ref.xht
new file mode 100644
index 00000000000..ccac9ab9a65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-lime-square-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-001-ref.xht
new file mode 100644
index 00000000000..abba48aea52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-001-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-002-ref.xht
new file mode 100644
index 00000000000..b045e6ee28f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-002-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ top: 100px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-003-ref.xht
new file mode 100644
index 00000000000..5352632909d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-003-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ left: 47px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-004-ref.xht
new file mode 100644
index 00000000000..624f812875c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-004-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ top: 23px;
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-notref.xht
new file mode 100644
index 00000000000..9ddd90d465d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-notref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-ref.xht
new file mode 100644
index 00000000000..6921e3d7362
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-005-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: skewX(45deg);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-006-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-006-ref.xht
new file mode 100644
index 00000000000..dda1bdaa70f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-006-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: skewY(45deg);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-007-ref.xht
new file mode 100644
index 00000000000..9910fc2068e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-007-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ position: relative;
+ right: 50px;
+ bottom: 150px;
+ width: 200px;
+ height: 400px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-notref.xht
new file mode 100644
index 00000000000..fc6d6e70776
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-notref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ }
+ body &gt; div {
+ transform: matrix(1, 0, 0, 1, 50, 0);
+ }
+ body &gt; div &gt; div {
+ transform: matrix(1, 0, 0, 1, 50, 0);
+ }
+ body &gt; div &gt; div &gt; div {
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-ref.xht
new file mode 100644
index 00000000000..1e7145311d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-matrix-008-ref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-007-ref.xht
new file mode 100644
index 00000000000..eb861d252bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-007-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test Reference File</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<style>
+ #test {
+ background-color: green;
+ height: 50px;
+ margin: 50px;
+ width: 50px;
+ }
+ #container {
+ background-color: gray;
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div id="container"><div id="test"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-01-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-01-ref.xht
new file mode 100644
index 00000000000..f35b143c290
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-01-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>Reference File</title>
+ <link href="mailto:youremail@address.com" rel="author" title="CJ Gammon" />
+ <style type="text/css">
+
+ #container{
+ position: relative;
+ }
+
+ .square{
+ position: absolute;
+ }
+
+ #green{
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+
+ <div id="container">
+ <div class="square" id="green"></div>
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-notref.xht
new file mode 100644
index 00000000000..ec46c56e587
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-notref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-1.xht
new file mode 100644
index 00000000000..b5ae0b5c4ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-1.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 0% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-2.xht
new file mode 100644
index 00000000000..df0673aa570
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-2.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 50% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-3.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-3.xht
new file mode 100644
index 00000000000..27febcb4a75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-name-ref-3.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: 100% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-1.xht
new file mode 100644
index 00000000000..216765fd92c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-1.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-2.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-2.xht
new file mode 100644
index 00000000000..216765fd92c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref-2.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref.xht
new file mode 100644
index 00000000000..14843cadf44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-origin-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform-origin</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <style type="text/css">
+ body {margin:0}
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div class="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-001-ref.xht
new file mode 100644
index 00000000000..d61cc345b81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-001-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: auto;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 150px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-002-ref.xht
new file mode 100644
index 00000000000..04a2ee2d275
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-overflow-002-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: scroll;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 150px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-notref.xht
new file mode 100644
index 00000000000..40047d3fc23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-notref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-ref.xht
new file mode 100644
index 00000000000..5ea408ab190
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-percent-ref.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-propagate-inherit-boolean-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-propagate-inherit-boolean-ref.xht
new file mode 100644
index 00000000000..157bb0a08fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-propagate-inherit-boolean-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="http://dbaron.org/" rel="author" title="L. David Baron" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ p {
+ font-size: 20px;
+ margin: 0;
+ height: 0;
+ width: 100px;
+ position: relative;
+ left: 80px;
+ }
+ p + p {
+ font-size: 40px;
+ position: relative;
+ left: 160px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>One</p>
+ <p>Two</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-001-ref.xht
new file mode 100644
index 00000000000..7cacd8d7659
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-001-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ html {
+ background: url(support/transform-triangle-right.svg) top right;
+ }
+ body {
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-003-ref.xht
new file mode 100644
index 00000000000..69163500ca8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-003-ref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left-small.svg);
+ }
+ body {
+ margin: 0;
+ }
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;/body&gt;
+&lt;/html&gt;
+</style></head><body></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-004-ref.xht
new file mode 100644
index 00000000000..e9be30153a9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-root-bg-004-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ background: url(support/transform-triangle-left.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-notref.xht
new file mode 100644
index 00000000000..577a67456d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-notref.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-ref.xht
new file mode 100644
index 00000000000..97158a22789
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-001-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: rotate(45deg);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-notref.xht
new file mode 100644
index 00000000000..2fd4409693d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-notref.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-ref.xht
new file mode 100644
index 00000000000..a49fa672f15
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rotate-007-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rounding-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rounding-ref.xht
new file mode 100644
index 00000000000..e5afbb3b563
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-rounding-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ position: relative;
+ left: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-percent-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-percent-ref.xht
new file mode 100644
index 00000000000..6a9c50f286f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-percent-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-ref.xht
new file mode 100644
index 00000000000..e72f253b8f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 50px;
+ height: 50px;
+ margin: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-test-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-test-ref.xht
new file mode 100644
index 00000000000..d8edd27cff9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scale-test-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:oleg@the-incredible.me" rel="author" title="Oleg Janeiko" />
+ <style type="text/css">
+ div {
+ background-color: green;
+ float: left;
+ margin: 50px;
+ width: 33px;
+ height: 33px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green squares of the same size.</p>
+ <div></div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scalex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scalex-ref.xht
new file mode 100644
index 00000000000..dbb9c029a64
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scalex-ref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 50px;
+ height: 100px;
+ margin-left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scaley-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scaley-ref.xht
new file mode 100644
index 00000000000..f77433d8d2d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-scaley-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 50px;
+ margin-top: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-singular-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-singular-ref.xht
new file mode 100644
index 00000000000..d00f0ddaa78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-singular-ref.xht
@@ -0,0 +1,7 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head><body>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-stresstest-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-stresstest-ref.xht
new file mode 100644
index 00000000000..e7d3c6e457f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-stresstest-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ height: 200px;
+ width: 200px;
+ background: gold;
+ position: relative;
+ left: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-notref.xht
new file mode 100644
index 00000000000..aa8ff254bd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-notref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-ref.xht
new file mode 100644
index 00000000000..a13fbba840c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-001-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-002-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-002-notref.xht
new file mode 100644
index 00000000000..d894f352b36
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-002-notref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ table {
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-notref.xht
new file mode 100644
index 00000000000..91ff6267d63
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-notref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-ref.xht
new file mode 100644
index 00000000000..0c46dcc67c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-004-ref.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-005-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-005-notref.xht
new file mode 100644
index 00000000000..528c6f610b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-005-notref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ table {
+ display: inline-table;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-notref.xht
new file mode 100644
index 00000000000..6b355b26240
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-notref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ table, tbody, tr, td {
+ margin: 0;
+ padding: 0;
+ border-spacing: 0;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-ref.xht
new file mode 100644
index 00000000000..6840ecfbb78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-009-ref.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ div {
+ transform: rotateX(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-010-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-010-notref.xht
new file mode 100644
index 00000000000..1b265f355ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-010-notref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div &gt; div {
+ display: table;
+ }
+ body &gt; div &gt; div &gt; div {
+ display: table-row;
+ }
+ body &gt; div &gt; div &gt; div &gt; div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-011-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-011-notref.xht
new file mode 100644
index 00000000000..9365e6673a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-table-011-notref.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body &gt; div &gt; div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-block-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-block-ref.xht
new file mode 100644
index 00000000000..5eca72638bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-block-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: inline-block;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-table-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-table-ref.xht
new file mode 100644
index 00000000000..b88b5751599
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-inline-table-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-list-item-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-list-item-ref.xht
new file mode 100644
index 00000000000..3f3833e34c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-list-item-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: list-item;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-caption-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-caption-ref.xht
new file mode 100644
index 00000000000..6b1fa95e931
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-caption-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-caption;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-cell-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-cell-ref.xht
new file mode 100644
index 00000000000..30b05bfdac1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-cell-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-footer-group-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-footer-group-ref.xht
new file mode 100644
index 00000000000..97794d153ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-footer-group-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-footer-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-header-group-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-header-group-ref.xht
new file mode 100644
index 00000000000..dcdba846c11
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-header-group-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-header-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-ref.xht
new file mode 100644
index 00000000000..fde42a55db9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-group-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-group-ref.xht
new file mode 100644
index 00000000000..b3dc7f6bf87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-group-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-row-group;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-ref.xht
new file mode 100644
index 00000000000..f4c97e7f2dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-transformable-table-row-ref.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ body &gt; div {
+ position: relative;
+ top: 50px;
+ left: 50px;
+ }
+ body &gt; div &gt; div {
+ display: table-row;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translate-ref.xht
new file mode 100644
index 00000000000..ffecdc3c990
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translate-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="position: relative; left: 50px; top: 50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatex-ref.xht
new file mode 100644
index 00000000000..9ad6ad97ff9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatex-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="position:relative; left:50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatey-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatey-ref.xht
new file mode 100644
index 00000000000..2ca3144b0d0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform-translatey-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="position:relative; top:50px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-001-ref.xht
new file mode 100644
index 00000000000..972378ddf0f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-001-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: matrix(1,2,3,4,5,6); width: 100px; height: 100px;
+ background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-002-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-002-ref.xht
new file mode 100644
index 00000000000..8768493ca94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-002-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: translate3d(4px,5px,6px) scale3d(1,2,3);
+ width: 100px; height: 100px; background: lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-003-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-003-ref.xht
new file mode 100644
index 00000000000..699e0c38627
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-003-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: perspective(200px) rotatey(-45deg) scalex(1.41421356);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-004-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-004-ref.xht
new file mode 100644
index 00000000000..fd0a7e7aeed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-004-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: perspective(200px) rotatex(45deg) scaley(1.41421356);
+ transform-origin: bottom"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-005-ref.xht
new file mode 100644
index 00000000000..ad0f32a807a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-matrix3d-005-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="padding: 25px">
+ <div style="height: 50px; width: 50px; background: gold"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-001-ref.xht
new file mode 100644
index 00000000000..52f5e3c2562
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-001-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-009-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-009-ref.xht
new file mode 100644
index 00000000000..bbf31981b2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-009-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body style="width: 400px">
+ <div style="perspective: 1000px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-origin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-origin-ref.xht
new file mode 100644
index 00000000000..608c686ab65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-perspective-origin-ref.xht
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: top left;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-001-ref.xht
new file mode 100644
index 00000000000..a1a0fd5257d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-001-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatex(180deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-013-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-013-ref.xht
new file mode 100644
index 00000000000..efccb2974de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-preserve3d-013-ref.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <!-- sqrt(2) == 0.70710678; 200/sqrt(2) == 141.421356.
+ 'transform' is needed on the outer div so the scrollbars are shrunk
+ appropriately. -->
+ </head>
+ <body>
+ <div style="overflow: scroll; transform: scaley(0.70710678);
+ transform-origin: top">
+ <div style="height: 200px">
+ <div style="height: 141.421356px; width: 100px; background: lime">
+ </div>
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-notref.xht
new file mode 100644
index 00000000000..0187deb04d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-notref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-ref.xht
new file mode 100644
index 00000000000..b0e825ddb78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-perspective-ref.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+
+ perspective: 500px;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+
+ transform: rotateY(40deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-ref.xht
new file mode 100644
index 00000000000..18ad775c1d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-transformorigin-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-transformorigin-ref.xht
new file mode 100644
index 00000000000..18668709354
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatex-transformorigin-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); transform-origin: top right;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatey-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatey-ref.xht
new file mode 100644
index 00000000000..64b5d6d6a3f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-rotatey-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-notref.xht
new file mode 100644
index 00000000000..19e11bb295e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-notref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-ref.xht
new file mode 100644
index 00000000000..e222a6012cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-001-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: scaleX(2) scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-005-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-005-ref.xht
new file mode 100644
index 00000000000..01e5febe584
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-005-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-007-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-007-ref.xht
new file mode 100644
index 00000000000..de0b485ae19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-scale-007-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: scaleY(-1); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-sorting-006-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-sorting-006-ref.xht
new file mode 100644
index 00000000000..ce2abddd70f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-sorting-006-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <!--
+ In a correct implementation, the bottom borders here will be invisible, because
+ the later divs get painted on top. This is to catch an incorrect pass in
+ Safari on Windows, which draws the test file and the ref with the same error
+ (painting the back halves on top) and so passes if the back halves are solid
+ red and green.
+ -->
+ </head>
+ <body>
+ <div style="height: 70px; width: 50px; background: red;
+ border-bottom: 30px solid black;
+ transform: rotateX(45deg) rotateY(45deg);
+ transform-origin: right"></div>
+ <div style="height: 70px; width: 50px; background: green;
+ border-bottom: 30px solid black;
+ transform: translate(50px, -100px) rotateX(45deg) rotateY(-45deg);
+ transform-origin: left"></div>
+ <div style="height: 100px; width: 50px; background: red;
+ transform: translate(50px, -200px) rotateX(45deg) rotateY(45deg);
+ transform-origin: left"></div>
+ <div style="height: 100px; width: 50px; background: green;
+ transform: translateY(-300px) rotateX(45deg) rotateY(-45deg);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translate3d-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translate3d-ref.xht
new file mode 100644
index 00000000000..6e27b70c408
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translate3d-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="transform: rotatex(45deg); transform-origin: 10px 30px -10px;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-notref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-notref.xht
new file mode 100644
index 00000000000..736115b4aba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-notref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: translatez(-20px) rotatex(45deg) translatez(20px); transform-origin: 0 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-ref.xht
new file mode 100644
index 00000000000..713b75faa51
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transform3d-translatez-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reftest Reference</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: 0 0 -10px; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-degree-90-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-degree-90-ref.xht
new file mode 100644
index 00000000000..143af58a7c2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-degree-90-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .greenRectangle {
+ position: absolute;
+ top: 75px;
+ left: 125px;
+ width: 100px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="greenRectangle"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-translate-scale-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-translate-scale-ref.xht
new file mode 100644
index 00000000000..b5f5196a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotate-translate-scale-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and rotate function with one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 150px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotateY-degree-60-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotateY-degree-60-ref.xht
new file mode 100644
index 00000000000..0a81caea1a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-rotateY-degree-60-ref.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <style>
+ div {
+ background-color: green;
+ position: absolute;
+ top: 100px;
+ width: 25px;
+ height: 100px;
+ }
+
+ #left {
+ left: 100px;
+ }
+
+ #right {
+ left: 175px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green rectangles.</p>
+ <div id="left"></div>
+ <div id="right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewX-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewX-ref.xht
new file mode 100644
index 00000000000..d9d6150610b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewX-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for X axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .triangle-topright {
+ position: absolute;
+ width: 0;
+ height: 0;
+ top: 50px;
+ left: 50px;
+ border-top: 100px solid green;
+ border-left: 100px solid transparent;
+ }
+
+ .triangle-bottomleft {
+ position: absolute;
+ width: 0;
+ height: 0;
+ top: 50px;
+ left: 150px;
+ border-bottom: 100px solid green;
+ border-right: 100px solid transparent;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a parallelogram and no red.</p>
+ <div class="triangle-topright"></div>
+ <div class="triangle-bottomleft"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewY-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewY-ref.xht
new file mode 100644
index 00000000000..5b36cfbe93d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transforms-skewY-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for Y axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <style type="text/css">
+ .triangle-bottomleft {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 0;
+ height: 0;
+ border-bottom: 100px solid green;
+ border-right: 100px solid transparent;
+ }
+ .triangle-topright {
+ position: absolute;
+ top: 150px;
+ left: 100px;
+ width: 0;
+ height: 0;
+ border-top: 100px solid green;
+ border-left: 100px solid transparent;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green parallelogram and no red.</p>
+ <div class="triangle-topright"></div>
+ <div class="triangle-bottomleft"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-optional-second-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-optional-second-ref.xht
new file mode 100644
index 00000000000..54125c652f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-optional-second-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-ref.xht
new file mode 100644
index 00000000000..d999b91e8fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/translate-ref.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Reference File</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <style type="text/css">
+ .container {
+ border: 1px solid gray;
+ width: 300px;
+ height: 300px;
+ }
+
+ .inner {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+
+ position: relative;
+ left:100px;
+ top:100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only one green area, no red area.</p>
+ <div class="container">
+ <div class="inner">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-preserve-3d-1-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-preserve-3d-1-ref.xht
new file mode 100644
index 00000000000..7e2d3d2a723
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-preserve-3d-1-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform preserve-3d</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateX-3-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateX-3-ref.xht
new file mode 100644
index 00000000000..99abf389d22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateX-3-ref.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateX</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateY-1-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateY-1-ref.xht
new file mode 100644
index 00000000000..210100b4b69
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/transofrmed-rotateY-1-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateY</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ border: 1px solid black;
+ background-color: green;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-css-3d-polygon-cycle-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-css-3d-polygon-cycle-ref.xht
new file mode 100644
index 00000000000..da0c21c3bd3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-css-3d-polygon-cycle-ref.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red0 {
+ background-color: red;
+ left: 6px;
+ width: 100px;
+ height: 50px;
+ }
+ #green0 {
+ background-color: green;
+ top: 6px;
+ width: 50px;
+ height: 100px;
+ }
+ #blue0 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ transform: translate(40px, 81px) rotate(45deg);
+ }
+ #red1 {
+ background-color: red;
+ width: 100px;
+ height: 50px;
+ transform: translate(94px, 0px);
+ }
+ #green1 {
+ background-color: green;
+ width: 50px;
+ height: 100px;
+ transform: translate(0px, 94px);
+ }
+ #blue1 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ transform: translate(102px, 19px) rotate(45deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="blue0" class="rect"></div>
+ <div id="green0" class="rect"></div>
+ <div id="red0" class="rect"></div>
+ <div id="red1" class="rect"></div>
+ <div id="green1" class="rect"></div>
+ <div id="blue1" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-rotate-ref.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-rotate-ref.xht
new file mode 100644
index 00000000000..3489f26c041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-rotate-ref.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <style type="text/css">
+ body {margin:0}
+ .greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ </style>
+</head>
+<body>
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div class="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewx-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewx-001.xht
new file mode 100644
index 00000000000..a09c2ac0dfd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewx-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div class="greenSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="100px" width="200px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="200,100 100,100 0,0 100,0 " fill="green"></polygon>
+ </svg>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewy-001.xht
new file mode 100644
index 00000000000..7d864657d23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-skewy-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <meta content="svg" name="flags" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div class="greenSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="200px" width="100px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 100 200" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="100,200 0,99.999 0,0 100,100 " fill="green"></polygon>
+ </svg>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatex-001.xht
new file mode 100644
index 00000000000..c4f289423ec
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatex-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 1000px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatey-001.xht
new file mode 100644
index 00000000000..d8e18a60298
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reference/ttwf-reftest-transform-translatey-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Reference File</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 200px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest-toc.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest-toc.xht
new file mode 100644
index 00000000000..569cf42350d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest-toc.xht
@@ -0,0 +1,8289 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite Reftest Index</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+
+ <body>
+
+ <h1>CSS Transforms Module Level 1 CR Test Suite Reftest Index</h1>
+ <table width="100%">
+ <col id="test-column"></col>
+ <col id="ref-column"></col>
+ <col id="flags-column"></col>
+ <thead>
+ <tr>
+ <th>Test</th>
+ <th>Reference</th>
+ <th>Flags</th>
+ </tr>
+ </thead>
+ <tbody id="2d-rotate-001" class="css3, rotate, svg">
+ <tr>
+ <td rowspan="1" title="CSS Transform using 2d rotate()">
+ <a href="2d-rotate-001.xht">2d-rotate-001</a></td>
+ <td><a href="reference/2d-rotate-ref.xht">=</a> <a href="reference/2d-rotate-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"><abbr class="css3," title=""></abbr><abbr class="rotate," title=""></abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="animations-001" class="ahem animated">
+ <tr>
+ <td rowspan="1" title="CSS Regions: animating content flowed into a region">
+ <a href="animations-001.xht">animations-001</a></td>
+ <td><a href="reference/animations-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="animated" title="Animated test">Animated</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="backface-visibility-hidden-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with backface visibility = hidden">
+ <a href="backface-visibility-hidden-001.xht">backface-visibility-hidden-001</a></td>
+ <td><a href="reference/backface-visibility-hidden-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="canvas3d-001" class="dom">
+ <tr>
+ <td rowspan="1" title="CSS Regions: rendering 3D canvas elements inside regions">
+ <a href="canvas3d-001.xht">canvas3d-001</a></td>
+ <td><a href="reference/canvas3d-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="canvas3d-002" class="dom">
+ <tr>
+ <td rowspan="1" title="CSS Regions: rendering text flowed in a region on top of 3D content">
+ <a href="canvas3d-002.xht">canvas3d-002</a></td>
+ <td><a href="reference/canvas3d-002-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="css-rotate-2d-3d-001" class="">
+ <tr>
+ <td rowspan="1" title="2D rotation with 3D rotation">
+ <a href="css-rotate-2d-3d-001.xht">css-rotate-2d-3d-001</a></td>
+ <td><a href="reference/css-rotate-2d-3d-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-scale-nested-001" class="">
+ <tr>
+ <td rowspan="1" title="scale 0 on a parent with a child">
+ <a href="css-scale-nested-001.xht">css-scale-nested-001</a></td>
+ <td><a href="reference/css-scale-nested-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-skew-001" class="">
+ <tr>
+ <td rowspan="1" title="skew function part 1">
+ <a href="css-skew-001.xht">css-skew-001</a></td>
+ <td><a href="reference/css-skew-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-skew-002" class="">
+ <tr>
+ <td rowspan="1" title="skew function part 2">
+ <a href="css-skew-002.xht">css-skew-002</a></td>
+ <td><a href="reference/css-skew-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-x-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-X-negative.xht">css-transform-3d-rotate3d-x-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-x-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-X-positive.xht">css-transform-3d-rotate3d-x-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-y-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Y-negative.xht">css-transform-3d-rotate3d-y-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-y-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Y-positive.xht">css-transform-3d-rotate3d-y-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-z-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Z-negative.xht">css-transform-3d-rotate3d-z-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotate3d-z-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotate3d-Z-positive.xht">css-transform-3d-rotate3d-z-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatex-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotateX on div element">
+ <a href="css-transform-3d-rotateX-negative.xht">css-transform-3d-rotatex-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatex-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotateX on div element">
+ <a href="css-transform-3d-rotateX-positive.xht">css-transform-3d-rotatex-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatey-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotateY on div element">
+ <a href="css-transform-3d-rotateY-negative.xht">css-transform-3d-rotatey-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatey-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotateY on div element">
+ <a href="css-transform-3d-rotateY-positive.xht">css-transform-3d-rotatey-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatez-negative" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotateZ-negative.xht">css-transform-3d-rotatez-negative</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-rotatez-positive" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d on div element">
+ <a href="css-transform-3d-rotateZ-positive.xht">css-transform-3d-rotatez-positive</a></td>
+ <td><a href="reference/css-transform-3d-rotateZ-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-3d-transform-style" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with transform-style on nested elements">
+ <a href="css-transform-3d-transform-style.xht">css-transform-3d-transform-style</a></td>
+ <td><a href="reference/css-transform-3d-transform-style-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function on hover state">
+ <a href="css-transform-scale-001.xht">css-transform-scale-001</a></td>
+ <td><a href="reference/css-transform-scale-ref-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and move its origin">
+ <a href="css-transform-scale-002.xht">css-transform-scale-002</a></td>
+ <td><a href="reference/css-transform-scale-ref-002.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transforms-3d-on-anonymous-block-001" class="">
+ <tr>
+ <td rowspan="1" title="No 3D transforms on anonymous block boxes">
+ <a href="css-transforms-3d-on-anonymous-block-001.xht">css-transforms-3d-on-anonymous-block-001</a></td>
+ <td><a href="reference/css-transforms-3d-anonymous-block-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css-transforms-transformlist" class="">
+ <tr>
+ <td rowspan="1" title="SVG transform in baseVal list">
+ <a href="css-transforms-transformlist.xht">css-transforms-transformlist</a></td>
+ <td><a href="reference/css-transforms-transformlist-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-perspective" class="">
+ <tr>
+ <td rowspan="1" title="rotateX 90 degrees with perspective make it invisible">
+ <a href="css3-transform-perspective.xht">css3-transform-perspective</a></td>
+ <td><a href="reference/css3-transform-perspective-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-rotatey" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotateY function">
+ <a href="css3-transform-rotateY.xht">css3-transform-rotatey</a></td>
+ <td><a href="reference/css3-transform-rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-scale" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function">
+ <a href="css3-transform-scale.xht">css3-transform-scale</a></td>
+ <td><a href="reference/css3-transform-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="css3-transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function">
+ <a href="css3-transform-scale-002.xht">css3-transform-scale-002</a></td>
+ <td><a href="reference/css3-transform-scale-ref-002.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="iframe-001" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: flowing an iframe that loads content with 3D transform">
+ <a href="iframe-001.xht">iframe-001</a></td>
+ <td><a href="reference/iframe-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 0px center('center' computes to '50%' in vertical position)">
+ <a href="perspective-origin-001.xht">perspective-origin-001</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - center 0px('center' computes to '50%' in horizontal position)">
+ <a href="perspective-origin-002.xht">perspective-origin-002</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-003" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 50% bottom('bottom' computes to '100%' in vertical position)">
+ <a href="perspective-origin-003.xht">perspective-origin-003</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-004" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - 50% top('top' computes to '0%' in vertical position)">
+ <a href="perspective-origin-004.xht">perspective-origin-004</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-005" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - left 50%('left' computes to '0%' in horizontal position)">
+ <a href="perspective-origin-005.xht">perspective-origin-005</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-006" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin - right 50%('right' computes to '100%' in horizontal position)">
+ <a href="perspective-origin-006.xht">perspective-origin-006</a></td>
+ <td><a href="reference/ref-filled-green-100px-square.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-x" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-origin-x.xht">perspective-origin-x</a></td>
+ <td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-origin-xy" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-origin-xy.xht">perspective-origin-xy</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-0" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-0.xht">perspective-translatez-0</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-negative" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-negative.xht">perspective-translatez-negative</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="perspective-translatez-positive" class="">
+ <tr>
+ <td rowspan="1" title="perspective property">
+ <a href="perspective-translateZ-positive.xht">perspective-translatez-positive</a></td>
+ <td><a href="reference/perspective-reftest.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (non-text) content">
+ <a href="regions-transforms-001.xht">regions-transforms-001</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-002" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow content element that has a child">
+ <a href="regions-transforms-002.xht">regions-transforms-002</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-003" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Named flow content that has a transformed parent outside of the named flow">
+ <a href="regions-transforms-003.xht">regions-transforms-003</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-004" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region using a 3D transform">
+ <a href="regions-transforms-004.xht">regions-transforms-004</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-005" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region">
+ <a href="regions-transforms-005.xht">regions-transforms-005</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-006" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on region with named flow (text) content that overflows">
+ <a href="regions-transforms-006.xht">regions-transforms-006</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-007" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on both the named flow content and the region">
+ <a href="regions-transforms-007.xht">regions-transforms-007</a></td>
+ <td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-008" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows">
+ <a href="regions-transforms-008.xht">regions-transforms-008</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-009" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows">
+ <a href="regions-transforms-009.xht">regions-transforms-009</a></td>
+ <td><a href="reference/regions-transforms-008-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-010" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with position: relative">
+ <a href="regions-transforms-010.xht">regions-transforms-010</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-011" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region where parent and child are separate named flow content nodes">
+ <a href="regions-transforms-011.xht">regions-transforms-011</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-012" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow content flowing into transformed region">
+ <a href="regions-transforms-012.xht">regions-transforms-012</a></td>
+ <td><a href="reference/regions-transforms-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-013" class="">
+ <tr>
+ <td rowspan="2" title="CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions">
+ <a href="regions-transforms-013.xht">regions-transforms-013</a></td>
+ <td><a href="reference/regions-transforms-013-alt-ref.xht">=</a> </td>
+ <td rowspan="2"></td>
+ </tr>
+ <tr>
+ <td><a href="reference/regions-transforms-013-alt-ref.xht">=</a></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-014" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transform region with position:absolute and transform-origin">
+ <a href="regions-transforms-014.xht">regions-transforms-014</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-015" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute">
+ <a href="regions-transforms-015.xht">regions-transforms-015</a></td>
+ <td><a href="reference/regions-transforms-014-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-016" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow content with perspective()">
+ <a href="regions-transforms-016.xht">regions-transforms-016</a></td>
+ <td><a href="reference/regions-transforms-016-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-017" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Multiple transformed named flow content nodes that overflow a region">
+ <a href="regions-transforms-017.xht">regions-transforms-017</a></td>
+ <td><a href="reference/regions-transforms-017-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-018" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow (text) content that overflows a region">
+ <a href="regions-transforms-018.xht">regions-transforms-018</a></td>
+ <td><a href="reference/regions-transforms-018-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-019" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: 3D transform on named flow (text) content with perspective property set on region">
+ <a href="regions-transforms-019.xht">regions-transforms-019</a></td>
+ <td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-020" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions">
+ <a href="regions-transforms-020.xht">regions-transforms-020</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-021" class="">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions">
+ <a href="regions-transforms-021.xht">regions-transforms-021</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="regions-transforms-022" class="ahem">
+ <tr>
+ <td rowspan="1" title="CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions">
+ <a href="regions-transforms-022.xht">regions-transforms-022</a></td>
+ <td><a href="reference/regions-transforms-020-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="rotate_45deg.xht">rotate_45deg</a></td>
+ <td><a href="reference/rotate_45deg-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_x_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateX with perspective produces a trapezoid">
+ <a href="rotate_x_45deg.xht">rotate_x_45deg</a></td>
+ <td><a href="reference/rotate_x_45deg-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotate_y_45deg" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="rotate_y_45deg.xht">rotate_y_45deg</a></td>
+ <td><a href="reference/rotate_y_45deg-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="rotatey" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotateY">
+ <a href="rotateY.xht">rotatey</a></td>
+ <td><a href="reference/rotateY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scale-optional-second-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and one parameter">
+ <a href="scale-optional-second-001.xht">scale-optional-second-001</a></td>
+ <td><a href="reference/scale-optional-second-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scale-zero-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and zero values">
+ <a href="scale-zero-001.xht">scale-zero-001</a></td>
+ <td><a href="reference/scale-zero-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scalex" class="">
+ <tr>
+ <td rowspan="1" title="test scale x">
+ <a href="scalex.xht">scalex</a></td>
+ <td><a href="reference/scalex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="scaley" class="">
+ <tr>
+ <td rowspan="1" title="test scale y">
+ <a href="scaley.xht">scaley</a></td>
+ <td><a href="reference/scaley-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="skew-test1" class="svg">
+ <tr>
+ <td rowspan="1" title="Testing 1 - skew()">
+ <a href="skew-test1.xht">skew-test1</a></td>
+ <td><a href="reference/skew-test1-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-document-styles-001.xht">svg-document-styles-001</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-document-styles-002.xht">svg-document-styles-002</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-document-styles-003.xht">svg-document-styles-003</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Document transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-document-styles-004.xht">svg-document-styles-004</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid document transform style">
+ <a href="svg-document-styles-005.xht">svg-document-styles-005</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group">
+ <a href="svg-document-styles-006.xht">svg-document-styles-006</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-document-styles-007.xht">svg-document-styles-007</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document and presentation attribute styles on an SVG element">
+ <a href="svg-document-styles-008.xht">svg-document-styles-008</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-document-styles-009.xht">svg-document-styles-009</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-document-styles-010.xht">svg-document-styles-010</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-document-styles-011.xht">svg-document-styles-011</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="Document style of rotate with three arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-document-styles-012.xht">svg-document-styles-012</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style">
+ <a href="svg-document-styles-013.xht">svg-document-styles-013</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-document-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid document and presentation attribute styles on an SVG element using rotate with three arguments">
+ <a href="svg-document-styles-014.xht">svg-document-styles-014</a></td>
+ <td><a href="reference/svg-document-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-external-styles-001.xht">svg-external-styles-001</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-external-styles-002.xht">svg-external-styles-002</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-external-styles-003.xht">svg-external-styles-003</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="External transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-external-styles-004.xht">svg-external-styles-004</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid external transform style">
+ <a href="svg-external-styles-005.xht">svg-external-styles-005</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group">
+ <a href="svg-external-styles-006.xht">svg-external-styles-006</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-external-styles-007.xht">svg-external-styles-007</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external and presentation attribute styles on an SVG element">
+ <a href="svg-external-styles-008.xht">svg-external-styles-008</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-external-styles-009.xht">svg-external-styles-009</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-external-styles-010.xht">svg-external-styles-010</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-external-styles-011.xht">svg-external-styles-011</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="External style of rotate with three arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-external-styles-012.xht">svg-external-styles-012</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style">
+ <a href="svg-external-styles-013.xht">svg-external-styles-013</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-external-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid external and presentation attribute styles on an SVG element">
+ <a href="svg-external-styles-014.xht">svg-external-styles-014</a></td>
+ <td><a href="reference/svg-external-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-gradientTransform-001.xht">svg-gradienttransform-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-gradientTransform-002.xht">svg-gradienttransform-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-gradientTransform-003.xht">svg-gradienttransform-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-gradientTransform-004.xht">svg-gradienttransform-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-gradientTransform-005.xht">svg-gradienttransform-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-gradientTransform-006.xht">svg-gradienttransform-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-gradientTransform-007.xht">svg-gradienttransform-007</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-gradientTransform-008.xht">svg-gradienttransform-008</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-gradientTransform-009.xht">svg-gradienttransform-009</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-010.xht">svg-gradienttransform-010</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-011.xht">svg-gradienttransform-011</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-012.xht">svg-gradienttransform-012</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-013.xht">svg-gradienttransform-013</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-014.xht">svg-gradienttransform-014</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-015.xht">svg-gradienttransform-015</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-016.xht">svg-gradienttransform-016</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-gradientTransform-017.xht">svg-gradienttransform-017</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-018.xht">svg-gradienttransform-018</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-019.xht">svg-gradienttransform-019</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-020.xht">svg-gradienttransform-020</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-021.xht">svg-gradienttransform-021</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-022.xht">svg-gradienttransform-022</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-023.xht">svg-gradienttransform-023</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-024.xht">svg-gradienttransform-024</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-gradientTransform-025.xht">svg-gradienttransform-025</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-gradientTransform-026.xht">svg-gradienttransform-026</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-gradientTransform-027.xht">svg-gradienttransform-027</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-gradientTransform-028.xht">svg-gradienttransform-028</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-gradientTransform-029.xht">svg-gradienttransform-029</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-gradientTransform-030.xht">svg-gradienttransform-030</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-gradientTransform-031.xht">svg-gradienttransform-031</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-gradientTransform-032.xht">svg-gradienttransform-032</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-gradientTransform-033.xht">svg-gradienttransform-033</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-034.xht">svg-gradienttransform-034</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-035.xht">svg-gradienttransform-035</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-036.xht">svg-gradienttransform-036</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-037.xht">svg-gradienttransform-037</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-038.xht">svg-gradienttransform-038</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-039.xht">svg-gradienttransform-039</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-040.xht">svg-gradienttransform-040</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-gradientTransform-041.xht">svg-gradienttransform-041</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-042.xht">svg-gradienttransform-042</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-043.xht">svg-gradienttransform-043</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-044.xht">svg-gradienttransform-044</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-045.xht">svg-gradienttransform-045</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-046.xht">svg-gradienttransform-046</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-047.xht">svg-gradienttransform-047</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-048.xht">svg-gradienttransform-048</a></td>
+ <td><a href="reference/svg-gradientTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG transform presentation attribute on the gradient element - has no effect">
+ <a href="svg-gradientTransform-049.xht">svg-gradienttransform-049</a></td>
+ <td><a href="reference/svg-gradientTransform-transform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute with translateX applied twice">
+ <a href="svg-gradientTransform-combination-001.xht">svg-gradienttransform-combination-001</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units">
+ <a href="svg-gradientTransform-combination-002.xht">svg-gradienttransform-combination-002</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-gradientTransform-combination-003.xht">svg-gradienttransform-combination-003</a></td>
+ <td><a href="reference/svg-gradientTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-gradientTransform-ex-unit-001.xht">svg-gradienttransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-ex-unit-002.xht">svg-gradienttransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-ex-unit-003.xht">svg-gradienttransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-gradientTransform-ex-unit-004.xht">svg-gradienttransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-gradientTransform-ex-unit-005.xht">svg-gradienttransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-gradientTransform-ex-unit-006.xht">svg-gradienttransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-gradientTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect">
+ <a href="svg-gradientTransform-relative-001.xht">svg-gradienttransform-relative-001</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect">
+ <a href="svg-gradientTransform-relative-002.xht">svg-gradienttransform-relative-002</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-gradienttransform-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect">
+ <a href="svg-gradientTransform-relative-003.xht">svg-gradienttransform-relative-003</a></td>
+ <td><a href="reference/svg-gradientTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG element with presentation attribute style on the same element">
+ <a href="svg-inline-styles-001.xht">svg-inline-styles-001</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG child element with presentation attribute styles on the parent and child elements">
+ <a href="svg-inline-styles-002.xht">svg-inline-styles-002</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG group element and presentation attribute style on child element">
+ <a href="svg-inline-styles-003.xht">svg-inline-styles-003</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline transform style on SVG group element and presentation attribute style on group and child elements">
+ <a href="svg-inline-styles-004.xht">svg-inline-styles-004</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of SVG element with invalid inline transform style">
+ <a href="svg-inline-styles-005.xht">svg-inline-styles-005</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group">
+ <a href="svg-inline-styles-006.xht">svg-inline-styles-006</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child">
+ <a href="svg-inline-styles-007.xht">svg-inline-styles-007</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline and presentation attribute styles on an SVG element">
+ <a href="svg-inline-styles-008.xht">svg-inline-styles-008</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG group with valid presentation attribute style on child element">
+ <a href="svg-inline-styles-009.xht">svg-inline-styles-009</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements">
+ <a href="svg-inline-styles-010.xht">svg-inline-styles-010</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child">
+ <a href="svg-inline-styles-011.xht">svg-inline-styles-011</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-012" class="svg">
+ <tr>
+ <td rowspan="1" title="Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element">
+ <a href="svg-inline-styles-012.xht">svg-inline-styles-012</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-013" class="svg">
+ <tr>
+ <td rowspan="1" title="Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style">
+ <a href="svg-inline-styles-013.xht">svg-inline-styles-013</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-inline-styles-014" class="svg">
+ <tr>
+ <td rowspan="1" title="Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments">
+ <a href="svg-inline-styles-014.xht">svg-inline-styles-014</a></td>
+ <td><a href="reference/svg-inline-styles-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0">
+ <a href="svg-matrix-001.xht">svg-matrix-001</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0">
+ <a href="svg-matrix-002.xht">svg-matrix-002</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0">
+ <a href="svg-matrix-003.xht">svg-matrix-003</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0">
+ <a href="svg-matrix-004.xht">svg-matrix-004</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0">
+ <a href="svg-matrix-005.xht">svg-matrix-005</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0">
+ <a href="svg-matrix-006.xht">svg-matrix-006</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100">
+ <a href="svg-matrix-007.xht">svg-matrix-007</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100">
+ <a href="svg-matrix-008.xht">svg-matrix-008</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0">
+ <a href="svg-matrix-009.xht">svg-matrix-009</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100">
+ <a href="svg-matrix-010.xht">svg-matrix-010</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0">
+ <a href="svg-matrix-011.xht">svg-matrix-011</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100">
+ <a href="svg-matrix-012.xht">svg-matrix-012</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0">
+ <a href="svg-matrix-013.xht">svg-matrix-013</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0">
+ <a href="svg-matrix-014.xht">svg-matrix-014</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100">
+ <a href="svg-matrix-015.xht">svg-matrix-015</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100">
+ <a href="svg-matrix-016.xht">svg-matrix-016</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100">
+ <a href="svg-matrix-017.xht">svg-matrix-017</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100">
+ <a href="svg-matrix-018.xht">svg-matrix-018</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0">
+ <a href="svg-matrix-019.xht">svg-matrix-019</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100">
+ <a href="svg-matrix-020.xht">svg-matrix-020</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0">
+ <a href="svg-matrix-021.xht">svg-matrix-021</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100">
+ <a href="svg-matrix-022.xht">svg-matrix-022</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0">
+ <a href="svg-matrix-023.xht">svg-matrix-023</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0">
+ <a href="svg-matrix-024.xht">svg-matrix-024</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0">
+ <a href="svg-matrix-025.xht">svg-matrix-025</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100">
+ <a href="svg-matrix-026.xht">svg-matrix-026</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100">
+ <a href="svg-matrix-027.xht">svg-matrix-027</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100">
+ <a href="svg-matrix-028.xht">svg-matrix-028</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1">
+ <a href="svg-matrix-029.xht">svg-matrix-029</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100">
+ <a href="svg-matrix-030.xht">svg-matrix-030</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100">
+ <a href="svg-matrix-031.xht">svg-matrix-031</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-032" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0">
+ <a href="svg-matrix-032.xht">svg-matrix-032</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1">
+ <a href="svg-matrix-033.xht">svg-matrix-033</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0">
+ <a href="svg-matrix-034.xht">svg-matrix-034</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100">
+ <a href="svg-matrix-035.xht">svg-matrix-035</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0">
+ <a href="svg-matrix-036.xht">svg-matrix-036</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0">
+ <a href="svg-matrix-037.xht">svg-matrix-037</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50">
+ <a href="svg-matrix-038.xht">svg-matrix-038</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100">
+ <a href="svg-matrix-039.xht">svg-matrix-039</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-040" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50">
+ <a href="svg-matrix-040.xht">svg-matrix-040</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0">
+ <a href="svg-matrix-041.xht">svg-matrix-041</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50">
+ <a href="svg-matrix-042.xht">svg-matrix-042</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0">
+ <a href="svg-matrix-043.xht">svg-matrix-043</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0">
+ <a href="svg-matrix-044.xht">svg-matrix-044</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150">
+ <a href="svg-matrix-045.xht">svg-matrix-045</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0">
+ <a href="svg-matrix-046.xht">svg-matrix-046</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100">
+ <a href="svg-matrix-047.xht">svg-matrix-047</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-048" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200">
+ <a href="svg-matrix-048.xht">svg-matrix-048</a></td>
+ <td><a href="reference/svg-matrix-clipped-rect-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas and no spaces">
+ <a href="svg-matrix-049.xht">svg-matrix-049</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-050" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma">
+ <a href="svg-matrix-050.xht">svg-matrix-050</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-051" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma">
+ <a href="svg-matrix-051.xht">svg-matrix-051</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-052" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma">
+ <a href="svg-matrix-052.xht">svg-matrix-052</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-053" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma">
+ <a href="svg-matrix-053.xht">svg-matrix-053</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-054" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma">
+ <a href="svg-matrix-054.xht">svg-matrix-054</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-055" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma">
+ <a href="svg-matrix-055.xht">svg-matrix-055</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-056" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by multiple spaces">
+ <a href="svg-matrix-056.xht">svg-matrix-056</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-057" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas">
+ <a href="svg-matrix-057.xht">svg-matrix-057</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-058" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'a' value">
+ <a href="svg-matrix-058.xht">svg-matrix-058</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-059" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'b' value">
+ <a href="svg-matrix-059.xht">svg-matrix-059</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-060" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'c' value">
+ <a href="svg-matrix-060.xht">svg-matrix-060</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-061" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'd' value">
+ <a href="svg-matrix-061.xht">svg-matrix-061</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-062" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'e' value">
+ <a href="svg-matrix-062.xht">svg-matrix-062</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-063" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'f' value">
+ <a href="svg-matrix-063.xht">svg-matrix-063</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-064" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'a' value with another transform function">
+ <a href="svg-matrix-064.xht">svg-matrix-064</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-065" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'b' value with another transform function">
+ <a href="svg-matrix-065.xht">svg-matrix-065</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-066" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'c' value with another transform function">
+ <a href="svg-matrix-066.xht">svg-matrix-066</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-067" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'd' value with another transform function">
+ <a href="svg-matrix-067.xht">svg-matrix-067</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-068" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'e' value with another transform function">
+ <a href="svg-matrix-068.xht">svg-matrix-068</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-matrix-069" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix function with invalid 'f' value with another transform function">
+ <a href="svg-matrix-069.xht">svg-matrix-069</a></td>
+ <td><a href="reference/svg-matrix-four-color-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - default value">
+ <a href="svg-origin-length-001.xht">svg-origin-length-001</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 0">
+ <a href="svg-origin-length-002.xht">svg-origin-length-002</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 100px 0">
+ <a href="svg-origin-length-003.xht">svg-origin-length-003</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 100px">
+ <a href="svg-origin-length-004.xht">svg-origin-length-004</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 50px 50px">
+ <a href="svg-origin-length-005.xht">svg-origin-length-005</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 100px 0">
+ <a href="svg-origin-length-006.xht">svg-origin-length-006</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 100">
+ <a href="svg-origin-length-007.xht">svg-origin-length-007</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 50 50">
+ <a href="svg-origin-length-008.xht">svg-origin-length-008</a></td>
+ <td><a href="reference/svg-origin-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in cm - default value">
+ <a href="svg-origin-length-cm-001.xht">svg-origin-length-cm-001</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in cm - 0 0">
+ <a href="svg-origin-length-cm-002.xht">svg-origin-length-cm-002</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 2cm 0">
+ <a href="svg-origin-length-cm-003.xht">svg-origin-length-cm-003</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 2cm">
+ <a href="svg-origin-length-cm-004.xht">svg-origin-length-cm-004</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-cm-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 1cm 1cm">
+ <a href="svg-origin-length-cm-005.xht">svg-origin-length-cm-005</a></td>
+ <td><a href="reference/svg-origin-length-cm-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in inch - default value">
+ <a href="svg-origin-length-in-001.xht">svg-origin-length-in-001</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in inch - 0 0">
+ <a href="svg-origin-length-in-002.xht">svg-origin-length-in-002</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 1.5in 0">
+ <a href="svg-origin-length-in-003.xht">svg-origin-length-in-003</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 1.5in">
+ <a href="svg-origin-length-in-004.xht">svg-origin-length-in-004</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-in-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0.75in 0.75in">
+ <a href="svg-origin-length-in-005.xht">svg-origin-length-in-005</a></td>
+ <td><a href="reference/svg-origin-length-in-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in pt - default value">
+ <a href="svg-origin-length-pt-001.xht">svg-origin-length-pt-001</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values in pt - 0 0">
+ <a href="svg-origin-length-pt-002.xht">svg-origin-length-pt-002</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 80pt 0">
+ <a href="svg-origin-length-pt-003.xht">svg-origin-length-pt-003</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 0 80pt">
+ <a href="svg-origin-length-pt-004.xht">svg-origin-length-pt-004</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-length-pt-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin with length values - 40pt 40pt">
+ <a href="svg-origin-length-pt-005.xht">svg-origin-length-pt-005</a></td>
+ <td><a href="reference/svg-origin-length-pt-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value absolute value and missing second argument">
+ <a href="svg-origin-relative-length-001.xht">svg-origin-relative-length-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value 'center' value and missing second argument">
+ <a href="svg-origin-relative-length-002.xht">svg-origin-relative-length-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, first value '50%' value and missing second argument">
+ <a href="svg-origin-relative-length-003.xht">svg-origin-relative-length-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% 50%'">
+ <a href="svg-origin-relative-length-004.xht">svg-origin-relative-length-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% center'">
+ <a href="svg-origin-relative-length-005.xht">svg-origin-relative-length-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 50%'">
+ <a href="svg-origin-relative-length-006.xht">svg-origin-relative-length-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center center'">
+ <a href="svg-origin-relative-length-007.xht">svg-origin-relative-length-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '75 center'">
+ <a href="svg-origin-relative-length-008.xht">svg-origin-relative-length-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '75 50%'">
+ <a href="svg-origin-relative-length-009.xht">svg-origin-relative-length-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 75'">
+ <a href="svg-origin-relative-length-010.xht">svg-origin-relative-length-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '50% 75'">
+ <a href="svg-origin-relative-length-011.xht">svg-origin-relative-length-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0'">
+ <a href="svg-origin-relative-length-012.xht">svg-origin-relative-length-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '150'">
+ <a href="svg-origin-relative-length-013.xht">svg-origin-relative-length-013</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '100%'">
+ <a href="svg-origin-relative-length-014.xht">svg-origin-relative-length-014</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right'">
+ <a href="svg-origin-relative-length-015.xht">svg-origin-relative-length-015</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left'">
+ <a href="svg-origin-relative-length-016.xht">svg-origin-relative-length-016</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '25%'">
+ <a href="svg-origin-relative-length-017.xht">svg-origin-relative-length-017</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top'">
+ <a href="svg-origin-relative-length-018.xht">svg-origin-relative-length-018</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom'">
+ <a href="svg-origin-relative-length-019.xht">svg-origin-relative-length-019</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0% 0%'">
+ <a href="svg-origin-relative-length-020.xht">svg-origin-relative-length-020</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top right'">
+ <a href="svg-origin-relative-length-021.xht">svg-origin-relative-length-021</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top left'">
+ <a href="svg-origin-relative-length-022.xht">svg-origin-relative-length-022</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'top center'">
+ <a href="svg-origin-relative-length-023.xht">svg-origin-relative-length-023</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom left'">
+ <a href="svg-origin-relative-length-024.xht">svg-origin-relative-length-024</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom center'">
+ <a href="svg-origin-relative-length-025.xht">svg-origin-relative-length-025</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'bottom right'">
+ <a href="svg-origin-relative-length-026.xht">svg-origin-relative-length-026</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right top'">
+ <a href="svg-origin-relative-length-027.xht">svg-origin-relative-length-027</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right center'">
+ <a href="svg-origin-relative-length-028.xht">svg-origin-relative-length-028</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right bottom'">
+ <a href="svg-origin-relative-length-029.xht">svg-origin-relative-length-029</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 75'">
+ <a href="svg-origin-relative-length-030.xht">svg-origin-relative-length-030</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 0%'">
+ <a href="svg-origin-relative-length-031.xht">svg-origin-relative-length-031</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-032" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'right 100%'">
+ <a href="svg-origin-relative-length-032.xht">svg-origin-relative-length-032</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left top'">
+ <a href="svg-origin-relative-length-033.xht">svg-origin-relative-length-033</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left center'">
+ <a href="svg-origin-relative-length-034.xht">svg-origin-relative-length-034</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left bottom'">
+ <a href="svg-origin-relative-length-035.xht">svg-origin-relative-length-035</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 75'">
+ <a href="svg-origin-relative-length-036.xht">svg-origin-relative-length-036</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 0%'">
+ <a href="svg-origin-relative-length-037.xht">svg-origin-relative-length-037</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'left 100%'">
+ <a href="svg-origin-relative-length-038.xht">svg-origin-relative-length-038</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center top'">
+ <a href="svg-origin-relative-length-039.xht">svg-origin-relative-length-039</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-040" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center bottom'">
+ <a href="svg-origin-relative-length-040.xht">svg-origin-relative-length-040</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center left'">
+ <a href="svg-origin-relative-length-041.xht">svg-origin-relative-length-041</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center right'">
+ <a href="svg-origin-relative-length-042.xht">svg-origin-relative-length-042</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 100%'">
+ <a href="svg-origin-relative-length-043.xht">svg-origin-relative-length-043</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, '0 center'">
+ <a href="svg-origin-relative-length-044.xht">svg-origin-relative-length-044</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 0%'">
+ <a href="svg-origin-relative-length-045.xht">svg-origin-relative-length-045</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, 'center 0'">
+ <a href="svg-origin-relative-length-046.xht">svg-origin-relative-length-046</a></td>
+ <td><a href="reference/svg-origin-relative-length-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top 100%'">
+ <a href="svg-origin-relative-length-invalid-001.xht">svg-origin-relative-length-invalid-001</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'">
+ <a href="svg-origin-relative-length-invalid-002.xht">svg-origin-relative-length-invalid-002</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top 150'">
+ <a href="svg-origin-relative-length-invalid-003.xht">svg-origin-relative-length-invalid-003</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom 150'">
+ <a href="svg-origin-relative-length-invalid-004.xht">svg-origin-relative-length-invalid-004</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top top'">
+ <a href="svg-origin-relative-length-invalid-005.xht">svg-origin-relative-length-invalid-005</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'">
+ <a href="svg-origin-relative-length-invalid-006.xht">svg-origin-relative-length-invalid-006</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'top bottom'">
+ <a href="svg-origin-relative-length-invalid-007.xht">svg-origin-relative-length-invalid-007</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'bottom top'">
+ <a href="svg-origin-relative-length-invalid-008.xht">svg-origin-relative-length-invalid-008</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'left left'">
+ <a href="svg-origin-relative-length-invalid-009.xht">svg-origin-relative-length-invalid-009</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'left right'">
+ <a href="svg-origin-relative-length-invalid-010.xht">svg-origin-relative-length-invalid-010</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'right right'">
+ <a href="svg-origin-relative-length-invalid-011.xht">svg-origin-relative-length-invalid-011</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-origin-relative-length-invalid-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute transform-origin, invalid arguments 'right left'">
+ <a href="svg-origin-relative-length-invalid-012.xht">svg-origin-relative-length-invalid-012</a></td>
+ <td><a href="reference/svg-origin-relative-length-invalid-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-patternTransform-001.xht">svg-patterntransform-001</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-patternTransform-002.xht">svg-patterntransform-002</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-patternTransform-003.xht">svg-patterntransform-003</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-patternTransform-004.xht">svg-patterntransform-004</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-patternTransform-005.xht">svg-patterntransform-005</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-patternTransform-006.xht">svg-patterntransform-006</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-patternTransform-007.xht">svg-patterntransform-007</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-patternTransform-008.xht">svg-patterntransform-008</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-patternTransform-009.xht">svg-patterntransform-009</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-patternTransform-010.xht">svg-patterntransform-010</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-patternTransform-011.xht">svg-patterntransform-011</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-patternTransform-012.xht">svg-patterntransform-012</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-013.xht">svg-patterntransform-013</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-014.xht">svg-patterntransform-014</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-patternTransform-015.xht">svg-patterntransform-015</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-patternTransform-016.xht">svg-patterntransform-016</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-patternTransform-017.xht">svg-patterntransform-017</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-018.xht">svg-patterntransform-018</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-019.xht">svg-patterntransform-019</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-020.xht">svg-patterntransform-020</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-021.xht">svg-patterntransform-021</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-022.xht">svg-patterntransform-022</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-023.xht">svg-patterntransform-023</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-024.xht">svg-patterntransform-024</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-patternTransform-025.xht">svg-patterntransform-025</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-patternTransform-026.xht">svg-patterntransform-026</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-patternTransform-027.xht">svg-patterntransform-027</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-patternTransform-028.xht">svg-patterntransform-028</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-patternTransform-029.xht">svg-patterntransform-029</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-patternTransform-030.xht">svg-patterntransform-030</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-patternTransform-031.xht">svg-patterntransform-031</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-patternTransform-032.xht">svg-patterntransform-032</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-patternTransform-033.xht">svg-patterntransform-033</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-patternTransform-034.xht">svg-patterntransform-034</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-patternTransform-035.xht">svg-patterntransform-035</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-patternTransform-036.xht">svg-patterntransform-036</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-037.xht">svg-patterntransform-037</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-patternTransform-038.xht">svg-patterntransform-038</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-patternTransform-039.xht">svg-patterntransform-039</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-patternTransform-040.xht">svg-patterntransform-040</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-patternTransform-041.xht">svg-patterntransform-041</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-042.xht">svg-patterntransform-042</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-043.xht">svg-patterntransform-043</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-044.xht">svg-patterntransform-044</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-045.xht">svg-patterntransform-045</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-046.xht">svg-patterntransform-046</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-047.xht">svg-patterntransform-047</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-048.xht">svg-patterntransform-048</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG transform presentation attribute on the pattern element - not supported">
+ <a href="svg-patternTransform-049.xht">svg-patterntransform-049</a></td>
+ <td><a href="reference/svg-patternTransform-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied twice">
+ <a href="svg-patternTransform-combination-001.xht">svg-patterntransform-combination-001</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units">
+ <a href="svg-patternTransform-combination-002.xht">svg-patterntransform-combination-002</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-patternTransform-combination-003.xht">svg-patterntransform-combination-003</a></td>
+ <td><a href="reference/svg-patternTransform-combination-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-patternTransform-ex-unit-001.xht">svg-patterntransform-ex-unit-001</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-patternTransform-ex-unit-002.xht">svg-patterntransform-ex-unit-002</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-ex-unit-003.xht">svg-patterntransform-ex-unit-003</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-patternTransform-ex-unit-004.xht">svg-patterntransform-ex-unit-004</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-patternTransform-ex-unit-005.xht">svg-patterntransform-ex-unit-005</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-patternTransform-ex-unit-006.xht">svg-patterntransform-ex-unit-006</a></td>
+ <td><a href="reference/svg-patternTransform-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX">
+ <a href="svg-patternTransform-relative-001.xht">svg-patterntransform-relative-001</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX">
+ <a href="svg-patternTransform-relative-002.xht">svg-patterntransform-relative-002</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-patterntransform-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect">
+ <a href="svg-patternTransform-relative-003.xht">svg-patterntransform-relative-003</a></td>
+ <td><a href="reference/svg-patternTransform-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and pixel on translate">
+ <a href="svg-rotate-3args-001.xht">svg-rotate-3args-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments without units on rotate or translate values">
+ <a href="svg-rotate-3args-002.xht">svg-rotate-3args-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with grad on rotate and pt on translate">
+ <a href="svg-rotate-3args-003.xht">svg-rotate-3args-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with turn on rotate and pc on translate">
+ <a href="svg-rotate-3args-004.xht">svg-rotate-3args-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with rad on rotate and mm on translate">
+ <a href="svg-rotate-3args-005.xht">svg-rotate-3args-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative rotate">
+ <a href="svg-rotate-3args-006.xht">svg-rotate-3args-006</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative translateX">
+ <a href="svg-rotate-3args-007.xht">svg-rotate-3args-007</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with negative translateY">
+ <a href="svg-rotate-3args-008.xht">svg-rotate-3args-008</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with scientific numbers on degree angles">
+ <a href="svg-rotate-3args-009.xht">svg-rotate-3args-009</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with pixel units in scientific notation on translate">
+ <a href="svg-rotate-3args-010.xht">svg-rotate-3args-010</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and percentage units on translate">
+ <a href="svg-rotate-3args-011.xht">svg-rotate-3args-011</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with deg on rotate and negative percentage units on translate">
+ <a href="svg-rotate-3args-012.xht">svg-rotate-3args-012</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with space delimited arguments">
+ <a href="svg-rotate-3args-013.xht">svg-rotate-3args-013</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments">
+ <a href="svg-rotate-3args-014.xht">svg-rotate-3args-014</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments with a space after the comma">
+ <a href="svg-rotate-3args-015.xht">svg-rotate-3args-015</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas">
+ <a href="svg-rotate-3args-016.xht">svg-rotate-3args-016</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with length values - 40px 40px">
+ <a href="svg-rotate-3args-017.xht">svg-rotate-3args-017</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument">
+ <a href="svg-rotate-3args-018.xht">svg-rotate-3args-018</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument">
+ <a href="svg-rotate-3args-019.xht">svg-rotate-3args-019</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'">
+ <a href="svg-rotate-3args-020.xht">svg-rotate-3args-020</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values">
+ <a href="svg-rotate-3args-021.xht">svg-rotate-3args-021</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values">
+ <a href="svg-rotate-3args-022.xht">svg-rotate-3args-022</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values">
+ <a href="svg-rotate-3args-023.xht">svg-rotate-3args-023</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with one absolute translation-value argument">
+ <a href="svg-rotate-3args-invalid-001.xht">svg-rotate-3args-invalid-001</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with no translation-value arguments and a comma">
+ <a href="svg-rotate-3args-invalid-002.xht">svg-rotate-3args-invalid-002</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments, with a third absolute translation-value argument">
+ <a href="svg-rotate-3args-invalid-003.xht">svg-rotate-3args-invalid-003</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments with one relative translation-value argument">
+ <a href="svg-rotate-3args-invalid-004.xht">svg-rotate-3args-invalid-004</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-3args-invalid-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG rotate with three arguments, with a third relative translation-value argument">
+ <a href="svg-rotate-3args-invalid-005.xht">svg-rotate-3args-invalid-005</a></td>
+ <td><a href="reference/svg-rotate-3args-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on rotate">
+ <a href="svg-rotate-angle-45-001.xht">svg-rotate-angle-45-001</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on rotate">
+ <a href="svg-rotate-angle-45-002.xht">svg-rotate-angle-45-002</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on rotate">
+ <a href="svg-rotate-angle-45-003.xht">svg-rotate-angle-45-003</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on rotate">
+ <a href="svg-rotate-angle-45-004.xht">svg-rotate-angle-45-004</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on rotate">
+ <a href="svg-rotate-angle-45-005.xht">svg-rotate-angle-45-005</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative, unit less turn">
+ <a href="svg-rotate-angle-45-006.xht">svg-rotate-angle-45-006</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative degrees">
+ <a href="svg-rotate-angle-45-007.xht">svg-rotate-angle-45-007</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative gradians">
+ <a href="svg-rotate-angle-45-008.xht">svg-rotate-angle-45-008</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative radians">
+ <a href="svg-rotate-angle-45-009.xht">svg-rotate-angle-45-009</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative turns">
+ <a href="svg-rotate-angle-45-010.xht">svg-rotate-angle-45-010</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with unit less angle">
+ <a href="svg-rotate-angle-45-011.xht">svg-rotate-angle-45-011</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in degree">
+ <a href="svg-rotate-angle-45-012.xht">svg-rotate-angle-45-012</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in gradian">
+ <a href="svg-rotate-angle-45-013.xht">svg-rotate-angle-45-013</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in radian">
+ <a href="svg-rotate-angle-45-014.xht">svg-rotate-angle-45-014</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in turn">
+ <a href="svg-rotate-angle-45-015.xht">svg-rotate-angle-45-015</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on unit less angles">
+ <a href="svg-rotate-angle-45-016.xht">svg-rotate-angle-45-016</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on degree angles">
+ <a href="svg-rotate-angle-45-017.xht">svg-rotate-angle-45-017</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on gradian angles">
+ <a href="svg-rotate-angle-45-018.xht">svg-rotate-angle-45-018</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on radian angles">
+ <a href="svg-rotate-angle-45-019.xht">svg-rotate-angle-45-019</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and with scientific numbers on turns">
+ <a href="svg-rotate-angle-45-020.xht">svg-rotate-angle-45-020</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-rotate-angle-45-021.xht">svg-rotate-angle-45-021</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-rotate-angle-45-022.xht">svg-rotate-angle-45-022</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-rotate-angle-45-023.xht">svg-rotate-angle-45-023</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-rotate-angle-45-024.xht">svg-rotate-angle-45-024</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-45-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-rotate-angle-45-025.xht">svg-rotate-angle-45-025</a></td>
+ <td><a href="reference/svg-rotate-angle-45-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on rotate">
+ <a href="svg-rotate-angle-90-001.xht">svg-rotate-angle-90-001</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on rotate">
+ <a href="svg-rotate-angle-90-002.xht">svg-rotate-angle-90-002</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on rotate">
+ <a href="svg-rotate-angle-90-003.xht">svg-rotate-angle-90-003</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on rotate">
+ <a href="svg-rotate-angle-90-004.xht">svg-rotate-angle-90-004</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on rotate">
+ <a href="svg-rotate-angle-90-005.xht">svg-rotate-angle-90-005</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative, unit less turn">
+ <a href="svg-rotate-angle-90-006.xht">svg-rotate-angle-90-006</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative degrees">
+ <a href="svg-rotate-angle-90-007.xht">svg-rotate-angle-90-007</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative gradians">
+ <a href="svg-rotate-angle-90-008.xht">svg-rotate-angle-90-008</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative radians">
+ <a href="svg-rotate-angle-90-009.xht">svg-rotate-angle-90-009</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with negative turns">
+ <a href="svg-rotate-angle-90-010.xht">svg-rotate-angle-90-010</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with unit less angle">
+ <a href="svg-rotate-angle-90-011.xht">svg-rotate-angle-90-011</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in degree">
+ <a href="svg-rotate-angle-90-012.xht">svg-rotate-angle-90-012</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in gradian">
+ <a href="svg-rotate-angle-90-013.xht">svg-rotate-angle-90-013</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in radian">
+ <a href="svg-rotate-angle-90-014.xht">svg-rotate-angle-90-014</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle rotate with angle in turn">
+ <a href="svg-rotate-angle-90-015.xht">svg-rotate-angle-90-015</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on unit less angles">
+ <a href="svg-rotate-angle-90-016.xht">svg-rotate-angle-90-016</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on degree angles">
+ <a href="svg-rotate-angle-90-017.xht">svg-rotate-angle-90-017</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on gradian angles">
+ <a href="svg-rotate-angle-90-018.xht">svg-rotate-angle-90-018</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on radian angles">
+ <a href="svg-rotate-angle-90-019.xht">svg-rotate-angle-90-019</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers on turns">
+ <a href="svg-rotate-angle-90-020.xht">svg-rotate-angle-90-020</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-rotate-angle-90-021.xht">svg-rotate-angle-90-021</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-rotate-angle-90-022.xht">svg-rotate-angle-90-022</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-rotate-angle-90-023.xht">svg-rotate-angle-90-023</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-rotate-angle-90-024.xht">svg-rotate-angle-90-024</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-rotate-angle-90-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-rotate-angle-90-025.xht">svg-rotate-angle-90-025</a></td>
+ <td><a href="reference/svg-rotate-angle-90-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 with only one parameter specified">
+ <a href="svg-scale-001.xht">svg-scale-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 1.5 with only one parameter specified">
+ <a href="svg-scale-002.xht">svg-scale-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 2 with only one parameter specified">
+ <a href="svg-scale-003.xht">svg-scale-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace">
+ <a href="svg-scale-004.xht">svg-scale-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale with percent values - not supported">
+ <a href="svg-scale-005.xht">svg-scale-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 0.5 and vertically 1.5">
+ <a href="svg-scale-006.xht">svg-scale-006</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 1.5 and vertically 0.5">
+ <a href="svg-scale-007.xht">svg-scale-007</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 on the g element">
+ <a href="svg-scale-008.xht">svg-scale-008</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element">
+ <a href="svg-scale-009.xht">svg-scale-009</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 with only one parameter specified">
+ <a href="svg-scale-010.xht">svg-scale-010</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -2 with only one parameter specified">
+ <a href="svg-scale-011.xht">svg-scale-011</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace">
+ <a href="svg-scale-012.xht">svg-scale-012</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -0.5 and vertically -1.5">
+ <a href="svg-scale-013.xht">svg-scale-013</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -1.5 and vertically -0.5">
+ <a href="svg-scale-014.xht">svg-scale-014</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally -0.5 and vertically 1.5">
+ <a href="svg-scale-015.xht">svg-scale-015</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale horizontally 1.5 and vertically -0.5">
+ <a href="svg-scale-016.xht">svg-scale-016</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scale-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale -0.5 on the g element">
+ <a href="svg-scale-017.xht">svg-scale-017</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX 0.5">
+ <a href="svg-scalex-001.xht">svg-scalex-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX 1.5">
+ <a href="svg-scalex-002.xht">svg-scalex-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX with percent argument - not supported">
+ <a href="svg-scalex-003.xht">svg-scalex-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX -0.5">
+ <a href="svg-scalex-004.xht">svg-scalex-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scalex-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX -1.5">
+ <a href="svg-scalex-005.xht">svg-scalex-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY 0.5">
+ <a href="svg-scaley-001.xht">svg-scaley-001</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY 1.5">
+ <a href="svg-scaley-002.xht">svg-scaley-002</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY with percent argument - not supported">
+ <a href="svg-scaley-003.xht">svg-scaley-003</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and and scaleY -0.5">
+ <a href="svg-scaley-004.xht">svg-scaley-004</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-scaley-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY -1.5">
+ <a href="svg-scaley-005.xht">svg-scaley-005</a></td>
+ <td><a href="reference/svg-scale-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on skewX">
+ <a href="svg-skewx-001.xht">svg-skewx-001</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on skewX">
+ <a href="svg-skewx-002.xht">svg-skewx-002</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on skewX">
+ <a href="svg-skewx-003.xht">svg-skewx-003</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on skewX">
+ <a href="svg-skewx-004.xht">svg-skewx-004</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on skewX">
+ <a href="svg-skewx-005.xht">svg-skewx-005</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative, unit less turn">
+ <a href="svg-skewx-006.xht">svg-skewx-006</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative degrees">
+ <a href="svg-skewx-007.xht">svg-skewx-007</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative gradians">
+ <a href="svg-skewx-008.xht">svg-skewx-008</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative radians">
+ <a href="svg-skewx-009.xht">svg-skewx-009</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with negative turns">
+ <a href="svg-skewx-010.xht">svg-skewx-010</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with unit less angle">
+ <a href="svg-skewx-011.xht">svg-skewx-011</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in degree">
+ <a href="svg-skewx-012.xht">svg-skewx-012</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in gradian">
+ <a href="svg-skewx-013.xht">svg-skewx-013</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in radian">
+ <a href="svg-skewx-014.xht">svg-skewx-014</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewX with angle in turn">
+ <a href="svg-skewx-015.xht">svg-skewx-015</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on unit less angles">
+ <a href="svg-skewx-016.xht">svg-skewx-016</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on unit less angles">
+ <a href="svg-skewx-017.xht">svg-skewx-017</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on gradian angles">
+ <a href="svg-skewx-018.xht">svg-skewx-018</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on radian angles">
+ <a href="svg-skewx-019.xht">svg-skewx-019</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers on turns">
+ <a href="svg-skewx-020.xht">svg-skewx-020</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-skewx-021.xht">svg-skewx-021</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-skewx-022.xht">svg-skewx-022</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-skewx-023.xht">svg-skewx-023</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-skewx-024.xht">svg-skewx-024</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewx-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-skewx-025.xht">svg-skewx-025</a></td>
+ <td><a href="reference/svg-skewx-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewxy-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with skewX and skewY">
+ <a href="svg-skewxy-001.xht">svg-skewxy-001</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewxy-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with skewX and skewY with different units">
+ <a href="svg-skewxy-002.xht">svg-skewxy-002</a></td>
+ <td><a href="reference/svg-skewxy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument without unit on skewY">
+ <a href="svg-skewy-001.xht">svg-skewy-001</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with degree unit on skewY">
+ <a href="svg-skewy-002.xht">svg-skewy-002</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with grad unit on skewY">
+ <a href="svg-skewy-003.xht">svg-skewy-003</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with turn unit on skewY">
+ <a href="svg-skewy-004.xht">svg-skewy-004</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and angle argument with radian unit on skewY">
+ <a href="svg-skewy-005.xht">svg-skewy-005</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative, unit less turn">
+ <a href="svg-skewy-006.xht">svg-skewy-006</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative degrees">
+ <a href="svg-skewy-007.xht">svg-skewy-007</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative gradians">
+ <a href="svg-skewy-008.xht">svg-skewy-008</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative radians">
+ <a href="svg-skewy-009.xht">svg-skewy-009</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with negative turns">
+ <a href="svg-skewy-010.xht">svg-skewy-010</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with unit less angle">
+ <a href="svg-skewy-011.xht">svg-skewy-011</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in degree">
+ <a href="svg-skewy-012.xht">svg-skewy-012</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in gradian">
+ <a href="svg-skewy-013.xht">svg-skewy-013</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in radian">
+ <a href="svg-skewy-014.xht">svg-skewy-014</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and more than full circle skewY with angle in turn">
+ <a href="svg-skewy-015.xht">svg-skewy-015</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on unit less angles">
+ <a href="svg-skewy-016.xht">svg-skewy-016</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on unit less angles">
+ <a href="svg-skewy-017.xht">svg-skewy-017</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on gradian angles">
+ <a href="svg-skewy-018.xht">svg-skewy-018</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on radian angles">
+ <a href="svg-skewy-019.xht">svg-skewy-019</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers on turns">
+ <a href="svg-skewy-020.xht">svg-skewy-020</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments">
+ <a href="svg-skewy-021.xht">svg-skewy-021</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree">
+ <a href="svg-skewy-022.xht">svg-skewy-022</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian">
+ <a href="svg-skewy-023.xht">svg-skewy-023</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian">
+ <a href="svg-skewy-024.xht">svg-skewy-024</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-skewy-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns">
+ <a href="svg-skewy-025.xht">svg-skewy-025</a></td>
+ <td><a href="reference/svg-skewy-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate on group">
+ <a href="svg-transform-group-001.xht">svg-transform-group-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX on group">
+ <a href="svg-transform-group-002.xht">svg-transform-group-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY on group">
+ <a href="svg-transform-group-003.xht">svg-transform-group-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scale on group">
+ <a href="svg-transform-group-004.xht">svg-transform-group-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleX on group">
+ <a href="svg-transform-group-005.xht">svg-transform-group-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and scaleY on group">
+ <a href="svg-transform-group-006.xht">svg-transform-group-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate on group">
+ <a href="svg-transform-group-007.xht">svg-transform-group-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewX on group">
+ <a href="svg-transform-group-008.xht">svg-transform-group-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and skewY on group">
+ <a href="svg-transform-group-009.xht">svg-transform-group-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and matrix on group">
+ <a href="svg-transform-group-010.xht">svg-transform-group-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-group-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and rotate with three arguments on group">
+ <a href="svg-transform-group-011.xht">svg-transform-group-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-001" class="svg">
+ <tr>
+ <td rowspan="1" title="No separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-001.xht">svg-transform-list-separations-001</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma + no whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-002.xht">svg-transform-list-separations-002</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma + whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-003.xht">svg-transform-list-separations-003</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Whitespace separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-004.xht">svg-transform-list-separations-004</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Comma, whitespace, and no separations between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-005.xht">svg-transform-list-separations-005</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Multiple spaces between transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-006.xht">svg-transform-list-separations-006</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Multiple spaces before and after transform functions on SVG presentation attribute">
+ <a href="svg-transform-list-separations-007.xht">svg-transform-list-separations-007</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute">
+ <a href="svg-transform-list-separations-008.xht">svg-transform-list-separations-008</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-009" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute">
+ <a href="svg-transform-list-separations-009.xht">svg-transform-list-separations-009</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-010" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by newlines on SVG presentation attribute">
+ <a href="svg-transform-list-separations-010.xht">svg-transform-list-separations-010</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-list-separations-011" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform functions separated by commas and newlines on SVG presentation attribute">
+ <a href="svg-transform-list-separations-011.xht">svg-transform-list-separations-011</a></td>
+ <td><a href="reference/svg-transform-list-separations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate on group, translate on child">
+ <a href="svg-transform-nested-001.xht">svg-transform-nested-001</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, translateX on child">
+ <a href="svg-transform-nested-002.xht">svg-transform-nested-002</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, translateY on child">
+ <a href="svg-transform-nested-003.xht">svg-transform-nested-003</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, scale on child">
+ <a href="svg-transform-nested-004.xht">svg-transform-nested-004</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, scaleX on child">
+ <a href="svg-transform-nested-005.xht">svg-transform-nested-005</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, scaleY on child">
+ <a href="svg-transform-nested-006.xht">svg-transform-nested-006</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, rotate on child">
+ <a href="svg-transform-nested-007.xht">svg-transform-nested-007</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewX on group, skewX on child">
+ <a href="svg-transform-nested-008.xht">svg-transform-nested-008</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewY on group, skewY on child">
+ <a href="svg-transform-nested-009.xht">svg-transform-nested-009</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, matrix on child">
+ <a href="svg-transform-nested-010.xht">svg-transform-nested-010</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translate on group, scale on child">
+ <a href="svg-transform-nested-011.xht">svg-transform-nested-011</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, scaleY on child">
+ <a href="svg-transform-nested-012.xht">svg-transform-nested-012</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, skewX on child">
+ <a href="svg-transform-nested-013.xht">svg-transform-nested-013</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, skewY on child">
+ <a href="svg-transform-nested-014.xht">svg-transform-nested-014</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, rotate on child">
+ <a href="svg-transform-nested-015.xht">svg-transform-nested-015</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-016" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, translateX on child">
+ <a href="svg-transform-nested-016.xht">svg-transform-nested-016</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, translateY on child">
+ <a href="svg-transform-nested-017.xht">svg-transform-nested-017</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewX on group, scaleX on child">
+ <a href="svg-transform-nested-018.xht">svg-transform-nested-018</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, skewY on group, translate on child">
+ <a href="svg-transform-nested-019.xht">svg-transform-nested-019</a></td>
+ <td><a href="reference/svg-green-square-250x250-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, scaleX on child">
+ <a href="svg-transform-nested-020.xht">svg-transform-nested-020</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translate on group, scaleY on child1, rotate on child2">
+ <a href="svg-transform-nested-021.xht">svg-transform-nested-021</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2">
+ <a href="svg-transform-nested-022.xht">svg-transform-nested-022</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, translateY on group, translate on child1, scale on child2">
+ <a href="svg-transform-nested-023.xht">svg-transform-nested-023</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-024" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scale on group, translateX on child1, scaleX on child2">
+ <a href="svg-transform-nested-024.xht">svg-transform-nested-024</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, translateY on child1, scale on child2">
+ <a href="svg-transform-nested-025.xht">svg-transform-nested-025</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleY on group, translate on child1, rotate on child2">
+ <a href="svg-transform-nested-026.xht">svg-transform-nested-026</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2">
+ <a href="svg-transform-nested-027.xht">svg-transform-nested-027</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2">
+ <a href="svg-transform-nested-028.xht">svg-transform-nested-028</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-transform-nested-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute, scaleX on group, rotate with three arguments on child">
+ <a href="svg-transform-nested-029.xht">svg-transform-nested-029</a></td>
+ <td><a href="reference/svg-green-square-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value arguments without unit">
+ <a href="svg-translate-001.xht">svg-translate-001</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units on translate">
+ <a href="svg-translate-002.xht">svg-translate-002</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units on translate">
+ <a href="svg-translate-003.xht">svg-translate-003</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units on translate">
+ <a href="svg-translate-004.xht">svg-translate-004</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units on translate">
+ <a href="svg-translate-005.xht">svg-translate-005</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units on translate">
+ <a href="svg-translate-006.xht">svg-translate-006</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units on translate">
+ <a href="svg-translate-007.xht">svg-translate-007</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units on translate">
+ <a href="svg-translate-008.xht">svg-translate-008</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation">
+ <a href="svg-translate-009.xht">svg-translate-009</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate">
+ <a href="svg-translate-010.xht">svg-translate-010</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units in scientific notation on translate">
+ <a href="svg-translate-011.xht">svg-translate-011</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate">
+ <a href="svg-translate-012.xht">svg-translate-012</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate">
+ <a href="svg-translate-013.xht">svg-translate-013</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate">
+ <a href="svg-translate-014.xht">svg-translate-014</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate">
+ <a href="svg-translate-015.xht">svg-translate-015</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units in scientific notation on translate">
+ <a href="svg-translate-016.xht">svg-translate-016</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents">
+ <a href="svg-translate-017.xht">svg-translate-017</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-018.xht">svg-translate-018</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-019.xht">svg-translate-019</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-020.xht">svg-translate-020</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-021.xht">svg-translate-021</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-022.xht">svg-translate-022</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-023.xht">svg-translate-023</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-024.xht">svg-translate-024</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with negative translation-value arguments without unit">
+ <a href="svg-translate-025.xht">svg-translate-025</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative pixel units on translate">
+ <a href="svg-translate-026.xht">svg-translate-026</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative point units on translate">
+ <a href="svg-translate-027.xht">svg-translate-027</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative pica units on translate">
+ <a href="svg-translate-028.xht">svg-translate-028</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative millimeter units on translate">
+ <a href="svg-translate-029.xht">svg-translate-029</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative centimeter units on translate">
+ <a href="svg-translate-030.xht">svg-translate-030</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative inch units on translate">
+ <a href="svg-translate-031.xht">svg-translate-031</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative em units on translate">
+ <a href="svg-translate-032.xht">svg-translate-032</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation">
+ <a href="svg-translate-033.xht">svg-translate-033</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate">
+ <a href="svg-translate-034.xht">svg-translate-034</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate">
+ <a href="svg-translate-035.xht">svg-translate-035</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate">
+ <a href="svg-translate-036.xht">svg-translate-036</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate">
+ <a href="svg-translate-037.xht">svg-translate-037</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate">
+ <a href="svg-translate-038.xht">svg-translate-038</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate">
+ <a href="svg-translate-039.xht">svg-translate-039</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate">
+ <a href="svg-translate-040.xht">svg-translate-040</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents">
+ <a href="svg-translate-041.xht">svg-translate-041</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-042.xht">svg-translate-042</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-043.xht">svg-translate-043</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-044.xht">svg-translate-044</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-045.xht">svg-translate-045</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-046.xht">svg-translate-046</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-047.xht">svg-translate-047</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-048.xht">svg-translate-048</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-049" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with one translation-value argument">
+ <a href="svg-translate-049.xht">svg-translate-049</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-050" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with one negative translation-value argument">
+ <a href="svg-translate-050.xht">svg-translate-050</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-051" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with no spaces">
+ <a href="svg-translate-051.xht">svg-translate-051</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-052" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with a space in between">
+ <a href="svg-translate-052.xht">svg-translate-052</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-053" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with arguments separated by multiple spaces">
+ <a href="svg-translate-053.xht">svg-translate-053</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-054" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma">
+ <a href="svg-translate-054.xht">svg-translate-054</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-055" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma">
+ <a href="svg-translate-055.xht">svg-translate-055</a></td>
+ <td><a href="reference/svg-translate-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less">
+ <a href="svg-translate-abs-unit-combinations-001.xht">svg-translate-abs-unit-combinations-001</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px">
+ <a href="svg-translate-abs-unit-combinations-002.xht">svg-translate-abs-unit-combinations-002</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm">
+ <a href="svg-translate-abs-unit-combinations-003.xht">svg-translate-abs-unit-combinations-003</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt">
+ <a href="svg-translate-abs-unit-combinations-004.xht">svg-translate-abs-unit-combinations-004</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px">
+ <a href="svg-translate-abs-unit-combinations-005.xht">svg-translate-abs-unit-combinations-005</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-abs-unit-combinations-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm">
+ <a href="svg-translate-abs-unit-combinations-006.xht">svg-translate-abs-unit-combinations-006</a></td>
+ <td><a href="reference/svg-translate-abs-unit-combinations-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units on translate">
+ <a href="svg-translate-ex-unit-001.xht">svg-translate-ex-unit-001</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate">
+ <a href="svg-translate-ex-unit-002.xht">svg-translate-ex-unit-002</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-ex-unit-003.xht">svg-translate-ex-unit-003</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative ex units on translate">
+ <a href="svg-translate-ex-unit-004.xht">svg-translate-ex-unit-004</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate">
+ <a href="svg-translate-ex-unit-005.xht">svg-translate-ex-unit-005</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate">
+ <a href="svg-translate-ex-unit-006.xht">svg-translate-ex-unit-006</a></td>
+ <td><a href="reference/svg-translate-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice">
+ <a href="svg-translate-multiple-001.xht">svg-translate-multiple-001</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice in both directions">
+ <a href="svg-translate-multiple-002.xht">svg-translate-multiple-002</a></td>
+ <td><a href="reference/svg-translate-multiple-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units">
+ <a href="svg-translate-multiple-relative-001.xht">svg-translate-multiple-relative-001</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-multiple-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with translate applied twice in percentage units">
+ <a href="svg-translate-multiple-relative-002.xht">svg-translate-multiple-relative-002</a></td>
+ <td><a href="reference/svg-translate-multiple-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with percentage units on translate">
+ <a href="svg-translate-relative-001.xht">svg-translate-relative-001</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value arguments with negative percentage units on translate">
+ <a href="svg-translate-relative-002.xht">svg-translate-relative-002</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %">
+ <a href="svg-translate-relative-003.xht">svg-translate-relative-003</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px">
+ <a href="svg-translate-relative-004.xht">svg-translate-relative-004</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %">
+ <a href="svg-translate-relative-005.xht">svg-translate-relative-005</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less">
+ <a href="svg-translate-relative-006.xht">svg-translate-relative-006</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less">
+ <a href="svg-translate-relative-007.xht">svg-translate-relative-007</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translate-relative-008" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %">
+ <a href="svg-translate-relative-008.xht">svg-translate-relative-008</a></td>
+ <td><a href="reference/svg-translate-relative-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value argument without unit">
+ <a href="svg-translatex-001.xht">svg-translatex-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit on translateX">
+ <a href="svg-translatex-002.xht">svg-translatex-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit on translateX">
+ <a href="svg-translatex-003.xht">svg-translatex-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit on translateX">
+ <a href="svg-translatex-004.xht">svg-translatex-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit on translateX">
+ <a href="svg-translatex-005.xht">svg-translatex-005</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit on translateX">
+ <a href="svg-translatex-006.xht">svg-translatex-006</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit on translateX">
+ <a href="svg-translatex-007.xht">svg-translatex-007</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit on translateX">
+ <a href="svg-translatex-008.xht">svg-translatex-008</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation">
+ <a href="svg-translatex-009.xht">svg-translatex-009</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX">
+ <a href="svg-translatex-010.xht">svg-translatex-010</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX">
+ <a href="svg-translatex-011.xht">svg-translatex-011</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX">
+ <a href="svg-translatex-012.xht">svg-translatex-012</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-013.xht">svg-translatex-013</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-014.xht">svg-translatex-014</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX">
+ <a href="svg-translatex-015.xht">svg-translatex-015</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX">
+ <a href="svg-translatex-016.xht">svg-translatex-016</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-translatex-017.xht">svg-translatex-017</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-018.xht">svg-translatex-018</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-019.xht">svg-translatex-019</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-020.xht">svg-translatex-020</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-021.xht">svg-translatex-021</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-022.xht">svg-translatex-022</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-023.xht">svg-translatex-023</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-024.xht">svg-translatex-024</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with a negative translation-value argument without unit">
+ <a href="svg-translatex-025.xht">svg-translatex-025</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pixel unit on translateX">
+ <a href="svg-translatex-026.xht">svg-translatex-026</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative point unit on translateX">
+ <a href="svg-translatex-027.xht">svg-translatex-027</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pica unit on translateX">
+ <a href="svg-translatex-028.xht">svg-translatex-028</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative millimeter unit on translateX">
+ <a href="svg-translatex-029.xht">svg-translatex-029</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative centimeter unit on translateX">
+ <a href="svg-translatex-030.xht">svg-translatex-030</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative inch unit on translateX">
+ <a href="svg-translatex-031.xht">svg-translatex-031</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative em unit on translateX">
+ <a href="svg-translatex-032.xht">svg-translatex-032</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-translatex-033.xht">svg-translatex-033</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX">
+ <a href="svg-translatex-034.xht">svg-translatex-034</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX">
+ <a href="svg-translatex-035.xht">svg-translatex-035</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX">
+ <a href="svg-translatex-036.xht">svg-translatex-036</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-037.xht">svg-translatex-037</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX">
+ <a href="svg-translatex-038.xht">svg-translatex-038</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX">
+ <a href="svg-translatex-039.xht">svg-translatex-039</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX">
+ <a href="svg-translatex-040.xht">svg-translatex-040</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-translatex-041.xht">svg-translatex-041</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-042.xht">svg-translatex-042</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-043.xht">svg-translatex-043</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-044.xht">svg-translatex-044</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-045.xht">svg-translatex-045</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-046.xht">svg-translatex-046</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-047.xht">svg-translatex-047</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-048.xht">svg-translatex-048</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied twice">
+ <a href="svg-translatex-combination-001.xht">svg-translatex-combination-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units">
+ <a href="svg-translatex-combination-002.xht">svg-translatex-combination-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied twice in percentage units">
+ <a href="svg-translatex-combination-003.xht">svg-translatex-combination-003</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-combination-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateX applied in both directions">
+ <a href="svg-translatex-combination-004.xht">svg-translatex-combination-004</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit on translateX">
+ <a href="svg-translatex-ex-unit-001.xht">svg-translatex-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX">
+ <a href="svg-translatex-ex-unit-002.xht">svg-translatex-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-ex-unit-003.xht">svg-translatex-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative ex unit on translateX">
+ <a href="svg-translatex-ex-unit-004.xht">svg-translatex-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX">
+ <a href="svg-translatex-ex-unit-005.xht">svg-translatex-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX">
+ <a href="svg-translatex-ex-unit-006.xht">svg-translatex-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatex-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with percentage unit on translateX">
+ <a href="svg-translatex-relative-001.xht">svg-translatex-relative-001</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatex-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative percentage unit on translateX">
+ <a href="svg-translatex-relative-002.xht">svg-translatex-relative-002</a></td>
+ <td><a href="reference/svg-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value argument without unit">
+ <a href="svg-translatey-001.xht">svg-translatey-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit on translateY">
+ <a href="svg-translatey-002.xht">svg-translatey-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit on translateY">
+ <a href="svg-translatey-003.xht">svg-translatey-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit on translateY">
+ <a href="svg-translatey-004.xht">svg-translatey-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-005" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit on translateY">
+ <a href="svg-translatey-005.xht">svg-translatey-005</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-006" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit on translateY">
+ <a href="svg-translatey-006.xht">svg-translatey-006</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-007" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit on translateY">
+ <a href="svg-translatey-007.xht">svg-translatey-007</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-008" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit on translateY">
+ <a href="svg-translatey-008.xht">svg-translatey-008</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-009" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation">
+ <a href="svg-translatey-009.xht">svg-translatey-009</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-010" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY">
+ <a href="svg-translatey-010.xht">svg-translatey-010</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-011" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY">
+ <a href="svg-translatey-011.xht">svg-translatey-011</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-012" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY">
+ <a href="svg-translatey-012.xht">svg-translatey-012</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-013" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-013.xht">svg-translatey-013</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-014" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-014.xht">svg-translatey-014</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-015" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY">
+ <a href="svg-translatey-015.xht">svg-translatey-015</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-016" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY">
+ <a href="svg-translatey-016.xht">svg-translatey-016</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-017" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent">
+ <a href="svg-translatey-017.xht">svg-translatey-017</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-018" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-018.xht">svg-translatey-018</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-019" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-019.xht">svg-translatey-019</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-020" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-020.xht">svg-translatey-020</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-021" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-021.xht">svg-translatey-021</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-022" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-022.xht">svg-translatey-022</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-023" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-023.xht">svg-translatey-023</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-024" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-024.xht">svg-translatey-024</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-025" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with a negative translation-value argument without unit">
+ <a href="svg-translatey-025.xht">svg-translatey-025</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-026" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pixel unit on translateY">
+ <a href="svg-translatey-026.xht">svg-translatey-026</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-027" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative point unit on translateY">
+ <a href="svg-translatey-027.xht">svg-translatey-027</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-028" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative pica unit on translateY">
+ <a href="svg-translatey-028.xht">svg-translatey-028</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-029" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative millimeter unit on translateY">
+ <a href="svg-translatey-029.xht">svg-translatey-029</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-030" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative centimeter unit on translateY">
+ <a href="svg-translatey-030.xht">svg-translatey-030</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-031" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative inch unit on translateY">
+ <a href="svg-translatey-031.xht">svg-translatey-031</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-032" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative em unit on translateY">
+ <a href="svg-translatey-032.xht">svg-translatey-032</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-033" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation">
+ <a href="svg-translatey-033.xht">svg-translatey-033</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-034" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY">
+ <a href="svg-translatey-034.xht">svg-translatey-034</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-035" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY">
+ <a href="svg-translatey-035.xht">svg-translatey-035</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-036" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY">
+ <a href="svg-translatey-036.xht">svg-translatey-036</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-037" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-037.xht">svg-translatey-037</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-038" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY">
+ <a href="svg-translatey-038.xht">svg-translatey-038</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-039" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY">
+ <a href="svg-translatey-039.xht">svg-translatey-039</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-040" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY">
+ <a href="svg-translatey-040.xht">svg-translatey-040</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-041" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent">
+ <a href="svg-translatey-041.xht">svg-translatey-041</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-042" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-042.xht">svg-translatey-042</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-043" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-043.xht">svg-translatey-043</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-044" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-044.xht">svg-translatey-044</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-045" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-045.xht">svg-translatey-045</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-046" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-046.xht">svg-translatey-046</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-047" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-047.xht">svg-translatey-047</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-048" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-048.xht">svg-translatey-048</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied twice">
+ <a href="svg-translatey-combination-001.xht">svg-translatey-combination-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units">
+ <a href="svg-translatey-combination-002.xht">svg-translatey-combination-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-003" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied twice in percentage units">
+ <a href="svg-translatey-combination-003.xht">svg-translatey-combination-003</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-combination-004" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with translateY applied in both directions">
+ <a href="svg-translatey-combination-004.xht">svg-translatey-combination-004</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-001" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit on translateY">
+ <a href="svg-translatey-ex-unit-001.xht">svg-translatey-ex-unit-001</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-002" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY">
+ <a href="svg-translatey-ex-unit-002.xht">svg-translatey-ex-unit-002</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-003" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-ex-unit-003.xht">svg-translatey-ex-unit-003</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-004" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative ex unit on translateY">
+ <a href="svg-translatey-ex-unit-004.xht">svg-translatey-ex-unit-004</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-005" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY">
+ <a href="svg-translatey-ex-unit-005.xht">svg-translatey-ex-unit-005</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-ex-unit-006" class="ahem svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY">
+ <a href="svg-translatey-ex-unit-006.xht">svg-translatey-ex-unit-006</a></td>
+ <td><a href="reference/svg-translatey-ex-unit-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-relative-001" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with percentage unit on translateY">
+ <a href="svg-translatey-relative-001.xht">svg-translatey-relative-001</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="svg-translatey-relative-002" class="svg">
+ <tr>
+ <td rowspan="1" title="SVG presentation attribute and translation-value argument with negative percentage unit on translateY">
+ <a href="svg-translatey-relative-002.xht">svg-translatey-relative-002</a></td>
+ <td><a href="reference/svg-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-3d-rotatey-stair-above-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="transform-3d-rotateY-stair-above-001.xht">transform-3d-rotatey-stair-above-001</a></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-3d-rotatey-stair-below-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY with perspective produces a trapezoid">
+ <a href="transform-3d-rotateY-stair-below-001.xht">transform-3d-rotatey-stair-below-001</a></td>
+ <td><a href="reference/transform-3d-rotateY-stair-above-ref-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-001" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (left/top)">
+ <a href="transform-abspos-001.xht">transform-abspos-001</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-002" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (left/top offsets)">
+ <a href="transform-abspos-002.xht">transform-abspos-002</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-003" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (right/bottom offsets)">
+ <a href="transform-abspos-003.xht">transform-abspos-003</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-004" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (bottom/right)">
+ <a href="transform-abspos-004.xht">transform-abspos-004</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-005" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (bottom/right)">
+ <a href="transform-abspos-005.xht">transform-abspos-005</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-006" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Absolute Positioning (table)">
+ <a href="transform-abspos-006.xht">transform-abspos-006</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-abspos-007" class="">
+ <tr>
+ <td rowspan="1" title="Containing Block for Fixed Positioning (inline-table)">
+ <a href="transform-abspos-007.xht">transform-abspos-007</a></td>
+ <td><a href="reference/transform-abspos-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-applies-to-001" class="">
+ <tr>
+ <td rowspan="1" title="transform applied to elements with 'display' set to 'block'">
+ <a href="transform-applies-to-001.xht">transform-applies-to-001</a></td>
+ <td><a href="reference/transform-applies-to-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-applies-to-002" class="ahem">
+ <tr>
+ <td rowspan="1" title="Transform does not apply to non-replaced inline elements">
+ <a href="transform-applies-to-002.xht">transform-applies-to-002</a></td>
+ <td><a href="reference/transform-applies-to-002-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (rotate right)">
+ <a href="transform-background-001.xht">transform-background-001</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-002" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (rotate left)">
+ <a href="transform-background-002.xht">transform-background-002</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (flip)">
+ <a href="transform-background-003.xht">transform-background-003</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-004" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (nested flip)">
+ <a href="transform-background-004.xht">transform-background-004</a></td>
+ <td><a href="reference/transform-background-ref-1.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (non-propagated body)">
+ <a href="transform-background-005.xht">transform-background-005</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (propagated body)">
+ <a href="transform-background-006.xht">transform-background-006</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> <a href="reference/transform-background-006-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (propagated body with root element transform)">
+ <a href="transform-background-007.xht">transform-background-007</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-background-008" class="svg">
+ <tr>
+ <td rowspan="1" title="Transform of Background Image (root element background and transform)">
+ <a href="transform-background-008.xht">transform-background-008</a></td>
+ <td><a href="reference/transform-background-ref-2.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-compound-001" class="">
+ <tr>
+ <td rowspan="1" title="Compound Transforms">
+ <a href="transform-compound-001.xht">transform-compound-001</a></td>
+ <td><a href="reference/transform-compound-ref.xht">=</a> <a href="reference/transform-compound-notref-1.xht">&#x2260;</a> <a href="reference/transform-compound-notref-2.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-descendant-001" class="">
+ <tr>
+ <td rowspan="1" title="Transform Affects Descendant">
+ <a href="transform-descendant-001.xht">transform-descendant-001</a></td>
+ <td><a href="reference/transform-descendant-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-001" class="">
+ <tr>
+ <td rowspan="1" title="Inline-Block">
+ <a href="transform-display-001.xht">transform-display-001</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-002" class="">
+ <tr>
+ <td rowspan="1" title="Table">
+ <a href="transform-display-002.xht">transform-display-002</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-003" class="">
+ <tr>
+ <td rowspan="1" title="Inline-Table">
+ <a href="transform-display-003.xht">transform-display-003</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-display-004" class="">
+ <tr>
+ <td rowspan="1" title="List-Item">
+ <a href="transform-display-004.xht">transform-display-004</a></td>
+ <td><a href="reference/transform-display-ref.xht">=</a> <a href="reference/transform-display-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-001" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background">
+ <a href="transform-fixed-bg-001.xht">transform-fixed-bg-001</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-002" class="dom svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with scrolling)">
+ <a href="transform-fixed-bg-002.xht">transform-fixed-bg-002</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-003" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with rotation)">
+ <a href="transform-fixed-bg-003.xht">transform-fixed-bg-003</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-004" class="dom svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (with rotation and scrolling)">
+ <a href="transform-fixed-bg-004.xht">transform-fixed-bg-004</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-005" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (no-op transform)">
+ <a href="transform-fixed-bg-005.xht">transform-fixed-bg-005</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-006" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (transform of intermediate)">
+ <a href="transform-fixed-bg-006.xht">transform-fixed-bg-006</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-fixed-bg-007" class="svg">
+ <tr>
+ <td rowspan="1" title="Fixed Background (transform on root)">
+ <a href="transform-fixed-bg-007.xht">transform-fixed-bg-007</a></td>
+ <td><a href="reference/transform-fixed-bg-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-generated-001" class="">
+ <tr>
+ <td rowspan="1" title="Generated Content (block)">
+ <a href="transform-generated-001.xht">transform-generated-001</a></td>
+ <td><a href="reference/transform-generated-001-ref.xht">=</a> <a href="reference/transform-generated-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-generated-002" class="">
+ <tr>
+ <td rowspan="1" title="Generated Content (inline)">
+ <a href="transform-generated-002.xht">transform-generated-002</a></td>
+ <td><a href="reference/transform-generated-002-ref.xht">=</a> <a href="reference/transform-generated-002-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-iframe-001" class="">
+ <tr>
+ <td rowspan="1" title="Iframe">
+ <a href="transform-iframe-001.xht">transform-iframe-001</a></td>
+ <td><a href="reference/transform-iframe-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-image-001" class="">
+ <tr>
+ <td rowspan="1" title="Transformed &lt;img&gt;">
+ <a href="transform-image-001.xht">transform-image-001</a></td>
+ <td><a href="reference/transform-image-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-001" class="">
+ <tr>
+ <td rowspan="1" title="'inherit' and em">
+ <a href="transform-inherit-001.xht">transform-inherit-001</a></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-002" class="">
+ <tr>
+ <td rowspan="1" title="'inherit' and percentages">
+ <a href="transform-inherit-002.xht">transform-inherit-002</a></td>
+ <td><a href="reference/transform-inherit-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="&quot;transform-origin: inherit&quot; and em">
+ <a href="transform-inherit-origin-001.xht">transform-inherit-origin-001</a></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inherit-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="&quot;transform-origin: inherit&quot; and percentages">
+ <a href="transform-inherit-origin-002.xht">transform-inherit-origin-002</a></td>
+ <td><a href="reference/transform-inherit-origin-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-inline-001" class="">
+ <tr>
+ <td rowspan="1" title="Transformed Inline">
+ <a href="transform-inline-001.xht">transform-inline-001</a></td>
+ <td><a href="reference/transform-inline-ref.xht">=</a> <a href="reference/transform-inline-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-001" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=text)">
+ <a href="transform-input-001.xht">transform-input-001</a></td>
+ <td><a href="reference/transform-input-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-002" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=file)">
+ <a href="transform-input-002.xht">transform-input-002</a></td>
+ <td><a href="reference/transform-input-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-003" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=search)">
+ <a href="transform-input-003.xht">transform-input-003</a></td>
+ <td><a href="reference/transform-input-003-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-004" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=tel)">
+ <a href="transform-input-004.xht">transform-input-004</a></td>
+ <td><a href="reference/transform-input-004-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-005" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=url)">
+ <a href="transform-input-005.xht">transform-input-005</a></td>
+ <td><a href="reference/transform-input-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-006" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=email)">
+ <a href="transform-input-006.xht">transform-input-006</a></td>
+ <td><a href="reference/transform-input-006-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-007" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=password)">
+ <a href="transform-input-007.xht">transform-input-007</a></td>
+ <td><a href="reference/transform-input-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-008" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=datetime)">
+ <a href="transform-input-008.xht">transform-input-008</a></td>
+ <td><a href="reference/transform-input-008-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-009" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=date)">
+ <a href="transform-input-009.xht">transform-input-009</a></td>
+ <td><a href="reference/transform-input-009-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-010" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=month)">
+ <a href="transform-input-010.xht">transform-input-010</a></td>
+ <td><a href="reference/transform-input-010-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-011" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=week)">
+ <a href="transform-input-011.xht">transform-input-011</a></td>
+ <td><a href="reference/transform-input-011-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-012" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=time)">
+ <a href="transform-input-012.xht">transform-input-012</a></td>
+ <td><a href="reference/transform-input-012-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-013" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=datetime-local)">
+ <a href="transform-input-013.xht">transform-input-013</a></td>
+ <td><a href="reference/transform-input-013-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-014" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=number)">
+ <a href="transform-input-014.xht">transform-input-014</a></td>
+ <td><a href="reference/transform-input-014-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-015" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=range)">
+ <a href="transform-input-015.xht">transform-input-015</a></td>
+ <td><a href="reference/transform-input-015-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-016" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=color)">
+ <a href="transform-input-016.xht">transform-input-016</a></td>
+ <td><a href="reference/transform-input-016-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-017" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=checkbox)">
+ <a href="transform-input-017.xht">transform-input-017</a></td>
+ <td><a href="reference/transform-input-017-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-018" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=radio)">
+ <a href="transform-input-018.xht">transform-input-018</a></td>
+ <td><a href="reference/transform-input-018-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-input-019" class="">
+ <tr>
+ <td rowspan="1" title="Input (type=submit)">
+ <a href="transform-input-019.xht">transform-input-019</a></td>
+ <td><a href="reference/transform-input-019-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateX()">
+ <a href="transform-matrix-001.xht">transform-matrix-001</a></td>
+ <td><a href="reference/transform-matrix-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-002" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateY()">
+ <a href="transform-matrix-002.xht">transform-matrix-002</a></td>
+ <td><a href="reference/transform-matrix-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-003" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateX(%)">
+ <a href="transform-matrix-003.xht">transform-matrix-003</a></td>
+ <td><a href="reference/transform-matrix-003-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-004" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/translateY(%)">
+ <a href="transform-matrix-004.xht">transform-matrix-004</a></td>
+ <td><a href="reference/transform-matrix-004-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-005" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/skewX()">
+ <a href="transform-matrix-005.xht">transform-matrix-005</a></td>
+ <td><a href="reference/transform-matrix-005-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-006" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/skewY()">
+ <a href="transform-matrix-006.xht">transform-matrix-006</a></td>
+ <td><a href="reference/transform-matrix-006-ref.xht">=</a> <a href="reference/transform-matrix-005-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-007" class="">
+ <tr>
+ <td rowspan="1" title="matrix()/scale()">
+ <a href="transform-matrix-007.xht">transform-matrix-007</a></td>
+ <td><a href="reference/transform-matrix-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-matrix-008" class="">
+ <tr>
+ <td rowspan="1" title="matrix() with non-numeric args">
+ <a href="transform-matrix-008.xht">transform-matrix-008</a></td>
+ <td><a href="reference/transform-matrix-008-ref.xht">=</a> <a href="reference/transform-matrix-008-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin">
+ <a href="transform-origin.xht">transform-origin</a></td>
+ <td><a href="reference/transform-origin-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="Default transform-origin not top left">
+ <a href="transform-origin-001.xht">transform-origin-001</a></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-002" class="">
+ <tr>
+ <td rowspan="1" title="Default transform-origin not center right">
+ <a href="transform-origin-002.xht">transform-origin-002</a></td>
+ <td><a href="reference/transform-origin-ref-1.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-003" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 1">
+ <a href="transform-origin-003.xht">transform-origin-003</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-004" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 2">
+ <a href="transform-origin-004.xht">transform-origin-004</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-005" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 3">
+ <a href="transform-origin-005.xht">transform-origin-005</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-006" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin percentages 4">
+ <a href="transform-origin-006.xht">transform-origin-006</a></td>
+ <td><a href="reference/transform-origin-ref-2.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-007" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)">
+ <a href="transform-origin-007.xht">transform-origin-007</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-008" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - center 0%('center' computes to '50%' in horizontal position)">
+ <a href="transform-origin-008.xht">transform-origin-008</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-009" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 0% center('center' computes to '50%' in vertical position)">
+ <a href="transform-origin-009.xht">transform-origin-009</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-01" class="">
+ <tr>
+ <td rowspan="1" title="SVG Transform using transform-origin">
+ <a href="transform-origin-01.xht">transform-origin-01</a></td>
+ <td><a href="reference/transform-origin-01-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-010" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - left 0%('left' computes to '0%' in horizontal position)">
+ <a href="transform-origin-010.xht">transform-origin-010</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-011" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - right 100%('right' computes to '100%' in horizontal position)">
+ <a href="transform-origin-011.xht">transform-origin-011</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-012" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin - 0% top('top' computes to '0%' in vertical position)">
+ <a href="transform-origin-012.xht">transform-origin-012</a></td>
+ <td><a href="reference/transform-origin-007-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-001" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top left">
+ <a href="transform-origin-name-001.xht">transform-origin-name-001</a></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-002" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: left top">
+ <a href="transform-origin-name-002.xht">transform-origin-name-002</a></td>
+ <td><a href="reference/transform-origin-name-ref-1.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-003" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top">
+ <a href="transform-origin-name-003.xht">transform-origin-name-003</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-004" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top center">
+ <a href="transform-origin-name-004.xht">transform-origin-name-004</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-005" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: center top">
+ <a href="transform-origin-name-005.xht">transform-origin-name-005</a></td>
+ <td><a href="reference/transform-origin-name-ref-2.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-006" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: top right">
+ <a href="transform-origin-name-006.xht">transform-origin-name-006</a></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-origin-name-007" class="">
+ <tr>
+ <td rowspan="1" title="transform-origin: right top">
+ <a href="transform-origin-name-007.xht">transform-origin-name-007</a></td>
+ <td><a href="reference/transform-origin-name-ref-3.xht">=</a> <a href="reference/transform-origin-name-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-overflow-001" class="">
+ <tr>
+ <td rowspan="1" title="overflow: auto">
+ <a href="transform-overflow-001.xht">transform-overflow-001</a></td>
+ <td><a href="reference/transform-overflow-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-overflow-002" class="">
+ <tr>
+ <td rowspan="1" title="overflow: scroll">
+ <a href="transform-overflow-002.xht">transform-overflow-002</a></td>
+ <td><a href="reference/transform-overflow-002-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-001" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX)">
+ <a href="transform-percent-001.xht">transform-percent-001</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-002" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateY)">
+ <a href="transform-percent-002.xht">transform-percent-002</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-003" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translate)">
+ <a href="transform-percent-003.xht">transform-percent-003</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-004" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translateY)">
+ <a href="transform-percent-004.xht">transform-percent-004</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-005" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translateY and translate)">
+ <a href="transform-percent-005.xht">transform-percent-005</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-006" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateX and translate)">
+ <a href="transform-percent-006.xht">transform-percent-006</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-007" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (translateY and translate)">
+ <a href="transform-percent-007.xht">transform-percent-007</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-percent-008" class="">
+ <tr>
+ <td rowspan="1" title="Percentages (border box)">
+ <a href="transform-percent-008.xht">transform-percent-008</a></td>
+ <td><a href="reference/transform-percent-ref.xht">=</a> <a href="reference/transform-percent-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-propagate-inherit-boolean-001" class="">
+ <tr>
+ <td rowspan="1" title="em on Multiple Elements">
+ <a href="transform-propagate-inherit-boolean-001.xht">transform-propagate-inherit-boolean-001</a></td>
+ <td><a href="reference/transform-propagate-inherit-boolean-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) on Root Element With Background">
+ <a href="transform-root-bg-001.xht">transform-root-bg-001</a></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-002" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) on Root Element With Background On Body">
+ <a href="transform-root-bg-002.xht">transform-root-bg-002</a></td>
+ <td><a href="reference/transform-root-bg-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-003" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5) on Root Element With Background">
+ <a href="transform-root-bg-003.xht">transform-root-bg-003</a></td>
+ <td><a href="reference/transform-root-bg-003-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-root-bg-004" class="">
+ <tr>
+ <td rowspan="1" title="scale(-1) On Body With Background">
+ <a href="transform-root-bg-004.xht">transform-root-bg-004</a></td>
+ <td><a href="reference/transform-root-bg-004-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-001" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(360deg)">
+ <a href="transform-rotate-001.xht">transform-rotate-001</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-002" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(400grad)">
+ <a href="transform-rotate-002.xht">transform-rotate-002</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-003" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad)">
+ <a href="transform-rotate-003.xht">transform-rotate-003</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-004" class="">
+ <tr>
+ <td rowspan="1" title="rotate(-45deg) rotate(100grad)">
+ <a href="transform-rotate-004.xht">transform-rotate-004</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-005" class="">
+ <tr>
+ <td rowspan="1" title="rotate(-135deg) rotate(3.1415926535897932384626433rad)">
+ <a href="transform-rotate-005.xht">transform-rotate-005</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-006" class="">
+ <tr>
+ <td rowspan="1" title="rotate(45deg) rotate(1turn)">
+ <a href="transform-rotate-006.xht">transform-rotate-006</a></td>
+ <td><a href="reference/transform-rotate-001-ref.xht">=</a> <a href="reference/transform-rotate-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rotate-007" class="">
+ <tr>
+ <td rowspan="1" title="Rotated Simple Box">
+ <a href="transform-rotate-007.xht">transform-rotate-007</a></td>
+ <td><a href="reference/transform-rotate-007-ref.xht">=</a> <a href="reference/transform-rotate-007-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-rounding-001" class="">
+ <tr>
+ <td rowspan="1" title="Rounding">
+ <a href="transform-rounding-001.xht">transform-rounding-001</a></td>
+ <td><a href="reference/transform-rounding-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5, 0.5)">
+ <a href="transform-scale-001.xht">transform-scale-001</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="scale(0.5)">
+ <a href="transform-scale-002.xht">transform-scale-002</a></td>
+ <td><a href="reference/transform-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-percent-001" class="">
+ <tr>
+ <td rowspan="1" title="scale(50%, 50%)">
+ <a href="transform-scale-percent-001.xht">transform-scale-percent-001</a></td>
+ <td><a href="reference/transform-scale-percent-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scale-test" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function.">
+ <a href="transform-scale-test.xht">transform-scale-test</a></td>
+ <td><a href="reference/transform-scale-test-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scalex-001" class="">
+ <tr>
+ <td rowspan="1" title="scaleX(0.5)">
+ <a href="transform-scalex-001.xht">transform-scalex-001</a></td>
+ <td><a href="reference/transform-scalex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-scaley-001" class="">
+ <tr>
+ <td rowspan="1" title="scaleY(0.5)">
+ <a href="transform-scaley-001.xht">transform-scaley-001</a></td>
+ <td><a href="reference/transform-scaley-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-singular-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix(1, 1, 1, 1, 0, 0)">
+ <a href="transform-singular-001.xht">transform-singular-001</a></td>
+ <td><a href="reference/transform-singular-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-001" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, transform: scale(1)">
+ <a href="transform-stacking-001.xht">transform-stacking-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-002" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, transform: none">
+ <a href="transform-stacking-002.xht">transform-stacking-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-003" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, invalid transform value">
+ <a href="transform-stacking-003.xht">transform-stacking-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stacking-004" class="">
+ <tr>
+ <td rowspan="1" title="Stacking, inherited transform: none">
+ <a href="transform-stacking-004.xht">transform-stacking-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-stresstest-001" class="">
+ <tr>
+ <td rowspan="1" title="Inversion Stress Test">
+ <a href="transform-stresstest-001.xht">transform-stresstest-001</a></td>
+ <td><a href="reference/transform-stresstest-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-001" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table">
+ <a href="transform-table-001.xht">transform-table-001</a></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-002" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Inline-Table">
+ <a href="transform-table-002.xht">transform-table-002</a></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-002-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-003" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table 2">
+ <a href="transform-table-003.xht">transform-table-003</a></td>
+ <td><a href="reference/transform-table-001-ref.xht">=</a> <a href="reference/transform-table-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-004" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table with caption-side: bottom">
+ <a href="transform-table-004.xht">transform-table-004</a></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-004-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-005" class="">
+ <tr>
+ <td rowspan="1" title="Transform on Table with caption-side: bottom">
+ <a href="transform-table-005.xht">transform-table-005</a></td>
+ <td><a href="reference/transform-table-004-ref.xht">=</a> <a href="reference/transform-table-005-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-006" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 1">
+ <a href="transform-table-006.xht">transform-table-006</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-007" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 2">
+ <a href="transform-table-007.xht">transform-table-007</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-008" class="">
+ <tr>
+ <td rowspan="1" title="Table Without Preserve-3D 3">
+ <a href="transform-table-008.xht">transform-table-008</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-009" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 1">
+ <a href="transform-table-009.xht">transform-table-009</a></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-009-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-010" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 2">
+ <a href="transform-table-010.xht">transform-table-010</a></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-010-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-table-011" class="">
+ <tr>
+ <td rowspan="1" title="Table With Preserve-3D 3">
+ <a href="transform-table-011.xht">transform-table-011</a></td>
+ <td><a href="reference/transform-table-009-ref.xht">=</a> <a href="reference/transform-table-011-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-inline-block" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Inline-Block">
+ <a href="transform-transformable-inline-block.xht">transform-transformable-inline-block</a></td>
+ <td><a href="reference/transform-transformable-inline-block-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-inline-table" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Inline-Table">
+ <a href="transform-transformable-inline-table.xht">transform-transformable-inline-table</a></td>
+ <td><a href="reference/transform-transformable-inline-table-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-list-item" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of List-Item">
+ <a href="transform-transformable-list-item.xht">transform-transformable-list-item</a></td>
+ <td><a href="reference/transform-transformable-list-item-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table">
+ <a href="transform-transformable-table.xht">transform-transformable-table</a></td>
+ <td><a href="reference/transform-transformable-table-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-caption" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Caption">
+ <a href="transform-transformable-table-caption.xht">transform-transformable-table-caption</a></td>
+ <td><a href="reference/transform-transformable-table-caption-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-cell" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Cell">
+ <a href="transform-transformable-table-cell.xht">transform-transformable-table-cell</a></td>
+ <td><a href="reference/transform-transformable-table-cell-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-footer-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Footer-Group">
+ <a href="transform-transformable-table-footer-group.xht">transform-transformable-table-footer-group</a></td>
+ <td><a href="reference/transform-transformable-table-footer-group-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-header-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Header-Group">
+ <a href="transform-transformable-table-header-group.xht">transform-transformable-table-header-group</a></td>
+ <td><a href="reference/transform-transformable-table-header-group-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-row" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Row">
+ <a href="transform-transformable-table-row.xht">transform-transformable-table-row</a></td>
+ <td><a href="reference/transform-transformable-table-row-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-transformable-table-row-group" class="">
+ <tr>
+ <td rowspan="1" title="Transformability of Table-Row-Group">
+ <a href="transform-transformable-table-row-group.xht">transform-transformable-table-row-group</a></td>
+ <td><a href="reference/transform-transformable-table-row-group-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-001" class="">
+ <tr>
+ <td rowspan="1" title="translate(50px, 50px)">
+ <a href="transform-translate-001.xht">transform-translate-001</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-002" class="">
+ <tr>
+ <td rowspan="1" title="translate(50px, 50px) rotate(360deg)">
+ <a href="transform-translate-002.xht">transform-translate-002</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-003" class="">
+ <tr>
+ <td rowspan="1" title="translate(25px, 25px) translate(25px, 25px)">
+ <a href="transform-translate-003.xht">transform-translate-003</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-004" class="">
+ <tr>
+ <td rowspan="1" title="translate() plus relative positioning">
+ <a href="transform-translate-004.xht">transform-translate-004</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translate-005" class="">
+ <tr>
+ <td rowspan="1" title="Several Translations Combined">
+ <a href="transform-translate-005.xht">transform-translate-005</a></td>
+ <td><a href="reference/transform-translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-001" class="">
+ <tr>
+ <td rowspan="1" title="translatex(50px)">
+ <a href="transform-translatex-001.xht">transform-translatex-001</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-002" class="">
+ <tr>
+ <td rowspan="1" title="translatex(50px) rotate(360deg)">
+ <a href="transform-translatex-002.xht">transform-translatex-002</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-003" class="">
+ <tr>
+ <td rowspan="1" title="translatex(25px) translatex(25px)">
+ <a href="transform-translatex-003.xht">transform-translatex-003</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-004" class="">
+ <tr>
+ <td rowspan="1" title="translatex() plus relative positioning">
+ <a href="transform-translatex-004.xht">transform-translatex-004</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-005" class="">
+ <tr>
+ <td rowspan="1" title="Several X-Translations Combined">
+ <a href="transform-translatex-005.xht">transform-translatex-005</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatex-006" class="">
+ <tr>
+ <td rowspan="1" title="transform property with translateX function">
+ <a href="transform-translatex-006.xht">transform-translatex-006</a></td>
+ <td><a href="reference/transform-translatex-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-001" class="">
+ <tr>
+ <td rowspan="1" title="translatey(50px)">
+ <a href="transform-translatey-001.xht">transform-translatey-001</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-002" class="">
+ <tr>
+ <td rowspan="1" title="translatey(50px) rotate(360deg)">
+ <a href="transform-translatey-002.xht">transform-translatey-002</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-003" class="">
+ <tr>
+ <td rowspan="1" title="translatey(25px) translatey(25px)">
+ <a href="transform-translatey-003.xht">transform-translatey-003</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-004" class="">
+ <tr>
+ <td rowspan="1" title="translatey() plus relative positioning">
+ <a href="transform-translatey-004.xht">transform-translatey-004</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform-translatey-005" class="">
+ <tr>
+ <td rowspan="1" title="Several Y-Translations Combined">
+ <a href="transform-translatey-005.xht">transform-translatey-005</a></td>
+ <td><a href="reference/transform-translatey-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, rotatex(180deg)">
+ <a href="transform3d-backface-visibility-001.xht">transform3d-backface-visibility-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-002" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent and Child in Different Rendering Contexts">
+ <a href="transform3d-backface-visibility-002.xht">transform3d-backface-visibility-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-003" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, rotatex(180deg) on Table">
+ <a href="transform3d-backface-visibility-003.xht">transform3d-backface-visibility-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-004" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Same Rendering Context, Split Transform">
+ <a href="transform3d-backface-visibility-004.xht">transform3d-backface-visibility-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-005" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Different Rendering Context">
+ <a href="transform3d-backface-visibility-005.xht">transform3d-backface-visibility-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-006" class="">
+ <tr>
+ <td rowspan="1" title="Backface-Visibility With Transformed Parent in Same Rendering Context">
+ <a href="transform3d-backface-visibility-006.xht">transform3d-backface-visibility-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-backface-visibility-007" class="">
+ <tr>
+ <td rowspan="1" title="Simple Backface-Visibility, scalez(-1)">
+ <a href="transform3d-backface-visibility-007.xht">transform3d-backface-visibility-007</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-image-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale3d() on a Bitmap">
+ <a href="transform3d-image-scale-001.xht">transform3d-image-scale-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-image-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="scale3d() on an SVG">
+ <a href="transform3d-image-scale-002.xht">transform3d-image-scale-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-001" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)">
+ <a href="transform3d-matrix3d-001.xht">transform3d-matrix3d-001</a></td>
+ <td><a href="reference/transform3d-matrix3d-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-002" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)">
+ <a href="transform3d-matrix3d-002.xht">transform3d-matrix3d-002</a></td>
+ <td><a href="reference/transform3d-matrix3d-002-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-003" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)">
+ <a href="transform3d-matrix3d-003.xht">transform3d-matrix3d-003</a></td>
+ <td><a href="reference/transform3d-matrix3d-003-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-004" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)">
+ <a href="transform3d-matrix3d-004.xht">transform3d-matrix3d-004</a></td>
+ <td><a href="reference/transform3d-matrix3d-004-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-matrix3d-005" class="">
+ <tr>
+ <td rowspan="1" title="matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)">
+ <a href="transform3d-matrix3d-005.xht">transform3d-matrix3d-005</a></td>
+ <td><a href="reference/transform3d-matrix3d-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective()">
+ <a href="transform3d-perspective-001.xht">transform3d-perspective-001</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-002" class="">
+ <tr>
+ <td rowspan="1" title="Inherited Perspective">
+ <a href="transform3d-perspective-002.xht">transform3d-perspective-002</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-003" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Grandparent">
+ <a href="transform3d-perspective-003.xht">transform3d-perspective-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-004" class="">
+ <tr>
+ <td rowspan="1" title="'perspective: 1000px' on Grandparent and 'perspective: none' on Parent">
+ <a href="transform3d-perspective-004.xht">transform3d-perspective-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-005" class="">
+ <tr>
+ <td rowspan="1" title="'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent">
+ <a href="transform3d-perspective-005.xht">transform3d-perspective-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-006" class="">
+ <tr>
+ <td rowspan="1" title="Simple Perspective">
+ <a href="transform3d-perspective-006.xht">transform3d-perspective-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-007" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Table Parent">
+ <a href="transform3d-perspective-007.xht">transform3d-perspective-007</a></td>
+ <td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-008" class="">
+ <tr>
+ <td rowspan="1" title="Perspective on Table">
+ <a href="transform3d-perspective-008.xht">transform3d-perspective-008</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-009" class="">
+ <tr>
+ <td rowspan="1" title="'perspective-origin' and translate()">
+ <a href="transform3d-perspective-009.xht">transform3d-perspective-009</a></td>
+ <td><a href="reference/transform3d-perspective-009-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-perspective-origin-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective-origin">
+ <a href="transform3d-perspective-origin-001.xht">transform3d-perspective-origin-001</a></td>
+ <td><a href="reference/transform3d-perspective-origin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="transform3d-rotatex-perspective-001.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Preserve-3D">
+ <a href="transform3d-preserve3d-001.xht">transform3d-preserve3d-001</a></td>
+ <td><a href="reference/transform3d-preserve3d-001-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-002" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 1">
+ <a href="transform3d-preserve3d-002.xht">transform3d-preserve3d-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-003" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 2">
+ <a href="transform3d-preserve3d-003.xht">transform3d-preserve3d-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-004" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Margins 3">
+ <a href="transform3d-preserve3d-004.xht">transform3d-preserve3d-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-005" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With Transformed Grandparent and Grandchild">
+ <a href="transform3d-preserve3d-005.xht">transform3d-preserve3d-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-006" class="">
+ <tr>
+ <td rowspan="1" title="Two rotatex(), No Preserve-3D">
+ <a href="transform3d-preserve3d-006.xht">transform3d-preserve3d-006</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-007" class="">
+ <tr>
+ <td rowspan="1" title="Two rotatey(), No Preserve-3D">
+ <a href="transform3d-preserve3d-007.xht">transform3d-preserve3d-007</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-008" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: hidden'">
+ <a href="transform3d-preserve3d-008.xht">transform3d-preserve3d-008</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-009" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: auto'">
+ <a href="transform3d-preserve3d-009.xht">transform3d-preserve3d-009</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-010" class="">
+ <tr>
+ <td rowspan="1" title="rotatex() With Preserve-3D">
+ <a href="transform3d-preserve3d-010.xht">transform3d-preserve3d-010</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-011" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D With 90-Degree Rotation">
+ <a href="transform3d-preserve3d-011.xht">transform3d-preserve3d-011</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-012" class="">
+ <tr>
+ <td rowspan="1" title="90-Degree Rotations Without Preserve-3D">
+ <a href="transform3d-preserve3d-012.xht">transform3d-preserve3d-012</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-preserve3d-013" class="">
+ <tr>
+ <td rowspan="1" title="Preserve-3D with 'overflow: scroll'">
+ <a href="transform3d-preserve3d-013.xht">transform3d-preserve3d-013</a></td>
+ <td><a href="reference/transform3d-preserve3d-013-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotate3d-001" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d(1, 0, 0, 45deg)">
+ <a href="transform3d-rotate3d-001.xht">transform3d-rotate3d-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotate3d-002" class="">
+ <tr>
+ <td rowspan="1" title="rotate3d(0, 1, 0, 45deg)">
+ <a href="transform3d-rotate3d-002.xht">transform3d-rotate3d-002</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-001" class="">
+ <tr>
+ <td rowspan="1" title="rotatex(45deg) rotatey(360deg) rotatex(360deg)">
+ <a href="transform3d-rotatex-001.xht">transform3d-rotatex-001</a></td>
+ <td><a href="reference/transform3d-rotatex-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-001" class="">
+ <tr>
+ <td rowspan="1" title="perspective(1000px) rotatex(45deg)">
+ <a href="transform3d-rotatex-perspective-001.xht">transform3d-rotatex-perspective-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-002" class="">
+ <tr>
+ <td rowspan="1" title="rotatex() and 'perspective'">
+ <a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">&#x2260;</a> <a href="reference/transform3d-rotatex-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-perspective-003" class="">
+ <tr>
+ <td rowspan="1" title="'perspective' and 'opacity'">
+ <a href="transform3d-rotatex-perspective-003.xht">transform3d-rotatex-perspective-003</a></td>
+ <td><a href="reference/transform3d-rotatex-perspective-ref.xht">=</a> <a href="reference/transform3d-rotatex-perspective-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatex-transformorigin-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateX() with 'transform-origin'">
+ <a href="transform3d-rotatex-transformorigin-001.xht">transform3d-rotatex-transformorigin-001</a></td>
+ <td><a href="reference/transform3d-rotatex-transformorigin-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-rotatey-001" class="">
+ <tr>
+ <td rowspan="1" title="rotateY(45deg) rotateY(360deg)">
+ <a href="transform3d-rotatey-001.xht">transform3d-rotatey-001</a></td>
+ <td><a href="reference/transform3d-rotatey-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-001" class="">
+ <tr>
+ <td rowspan="1" title="scale3d(2, 2, 2)">
+ <a href="transform3d-scale-001.xht">transform3d-scale-001</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-002" class="">
+ <tr>
+ <td rowspan="1" title="rotatex(90deg) scale3d(2, 1, 2) rotatex(-90deg)">
+ <a href="transform3d-scale-002.xht">transform3d-scale-002</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-003" class="">
+ <tr>
+ <td rowspan="1" title="scaleX(2) scaleY(2) scaleZ(2)">
+ <a href="transform3d-scale-003.xht">transform3d-scale-003</a></td>
+ <td><a href="reference/transform3d-scale-001-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-004" class="">
+ <tr>
+ <td rowspan="1" title="scale3d(2, 2, 0)">
+ <a href="transform3d-scale-004.xht">transform3d-scale-004</a></td>
+ <td><a href="reference/transform-blank-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-005" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(90deg) scale3d(1, 1, 2) rotateX(-90deg)">
+ <a href="transform3d-scale-005.xht">transform3d-scale-005</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-006" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(90deg) scaleZ(2) rotateX(-90deg)">
+ <a href="transform3d-scale-006.xht">transform3d-scale-006</a></td>
+ <td><a href="reference/transform3d-scale-005-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-scale-007" class="">
+ <tr>
+ <td rowspan="1" title="rotateX(180deg) scaleZ(-1)">
+ <a href="transform3d-scale-007.xht">transform3d-scale-007</a></td>
+ <td><a href="reference/transform3d-scale-007-ref.xht">=</a> <a href="reference/transform3d-scale-001-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-001" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting">
+ <a href="transform3d-sorting-001.xht">transform3d-sorting-001</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-002" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With Rotation">
+ <a href="transform3d-sorting-002.xht">transform3d-sorting-002</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-003" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With No Preserve-3D">
+ <a href="transform3d-sorting-003.xht">transform3d-sorting-003</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-004" class="">
+ <tr>
+ <td rowspan="1" title="Simple Sorting With Preserve-3D on Grandparent">
+ <a href="transform3d-sorting-004.xht">transform3d-sorting-004</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-005" class="">
+ <tr>
+ <td rowspan="1" title="Sorting With Background on Parent">
+ <a href="transform3d-sorting-005.xht">transform3d-sorting-005</a></td>
+ <td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-sorting-006" class="">
+ <tr>
+ <td rowspan="1" title="Sorting With Intersection">
+ <a href="transform3d-sorting-006.xht">transform3d-sorting-006</a></td>
+ <td><a href="reference/transform3d-sorting-006-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-translate3d-001" class="">
+ <tr>
+ <td rowspan="1" title="translate3d() vs. 'transform-origin'">
+ <a href="transform3d-translate3d-001.xht">transform3d-translate3d-001</a></td>
+ <td><a href="reference/transform3d-translate3d-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transform3d-translatez-001" class="">
+ <tr>
+ <td rowspan="1" title="translatez() vs. 'transform-origin'">
+ <a href="transform3d-translatez-001.xht">transform3d-translatez-001</a></td>
+ <td><a href="reference/transform3d-translatez-ref.xht">=</a> <a href="reference/transform3d-translatez-notref.xht">&#x2260;</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotate-degree-90" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotate function and one parameter">
+ <a href="transforms-rotate-degree-90.xht">transforms-rotate-degree-90</a></td>
+ <td><a href="reference/transforms-rotate-degree-90-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotate-translate-scale" class="">
+ <tr>
+ <td rowspan="1" title="transform property with scale function and rotate function with one parameter">
+ <a href="transforms-rotate-translate-scale.xht">transforms-rotate-translate-scale</a></td>
+ <td><a href="reference/transforms-rotate-translate-scale-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-rotatey-degree-60" class="">
+ <tr>
+ <td rowspan="1" title="transform property with rotate function and one parameter">
+ <a href="transforms-rotateY-degree-60.xht">transforms-rotatey-degree-60</a></td>
+ <td><a href="reference/transforms-rotateY-degree-60-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-skewx" class="">
+ <tr>
+ <td rowspan="1" title="transform property with skew function for X axis.">
+ <a href="transforms-skewX.xht">transforms-skewx</a></td>
+ <td><a href="reference/transforms-skewX-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transforms-skewy" class="">
+ <tr>
+ <td rowspan="1" title="transform property with skew function for Y axis.">
+ <a href="transforms-skewY.xht">transforms-skewy</a></td>
+ <td><a href="reference/transforms-skewY-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="translate" class="">
+ <tr>
+ <td rowspan="1" title="test translate">
+ <a href="translate.xht">translate</a></td>
+ <td><a href="reference/translate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="translate-optional-second-001" class="">
+ <tr>
+ <td rowspan="1" title="transform property with translate function and one parameter">
+ <a href="translate-optional-second-001.xht">translate-optional-second-001</a></td>
+ <td><a href="reference/translate-optional-second-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-preserve-3d-1" class="">
+ <tr>
+ <td rowspan="1" title="transform preserve-3d">
+ <a href="transofrmed-preserve-3d-1.xht">transofrmed-preserve-3d-1</a></td>
+ <td><a href="reference/transofrmed-preserve-3d-1-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-rotatex-3" class="">
+ <tr>
+ <td rowspan="1" title="transform rotateX">
+ <a href="transofrmed-rotateX-3.xht">transofrmed-rotatex-3</a></td>
+ <td><a href="reference/transofrmed-rotateX-3-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="transofrmed-rotatey-1" class="">
+ <tr>
+ <td rowspan="1" title="transform rotateY">
+ <a href="transofrmed-rotateY-1.xht">transofrmed-rotatey-1</a></td>
+ <td><a href="reference/transofrmed-rotateY-1-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-css-3d-polygon-cycle" class="svg">
+ <tr>
+ <td rowspan="1" title="3d transform polygon cycle">
+ <a href="ttwf-css-3d-polygon-cycle.xht">ttwf-css-3d-polygon-cycle</a></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-css-3d-polygon-cycle-mismatch" class="svg">
+ <tr>
+ <td rowspan="1" title="3d transform polygon cycle">
+ <a href="ttwf-css-3d-polygon-cycle-mismatch.xht">ttwf-css-3d-polygon-cycle-mismatch</a></td>
+ <td><a href="reference/ttwf-css-3d-polygon-cycle-ref.xht">=</a> </td>
+ <td rowspan="1"><abbr class="svg" title="Requires SVG support">SVG</abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-reftest-rotate" class="">
+ <tr>
+ <td rowspan="1" title="transform rotate">
+ <a href="ttwf-reftest-rotate.xht">ttwf-reftest-rotate</a></td>
+ <td><a href="reference/ttwf-reftest-rotate-ref.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-skewx-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using skewX() function">
+ <a href="ttwf-transform-skewx-001.xht">ttwf-transform-skewx-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-skewx-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-skewy-001" class="">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using skewY() function">
+ <a href="ttwf-transform-skewy-001.xht">ttwf-transform-skewy-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-skewy-001.xht">=</a> </td>
+ <td rowspan="1"></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-translatex-001" class="CSS Transform">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using translateX() function">
+ <a href="ttwf-transform-translatex-001.xht">ttwf-transform-translatex-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-translatex-001.xht">=</a> </td>
+ <td rowspan="1"><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ </tr>
+ </tbody>
+ <tbody id="ttwf-transform-translatey-001" class="CSS Transform">
+ <tr>
+ <td rowspan="1" title="CSS Transform Using translateY() function">
+ <a href="ttwf-transform-translatey-001.xht">ttwf-transform-translatey-001</a></td>
+ <td><a href="reference/ttwf-reftest-transform-translatey-001.xht">=</a> </td>
+ <td rowspan="1"><abbr class="CSS" title=""></abbr><abbr class="Transform" title=""></abbr></td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html>
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest.list b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest.list
new file mode 100644
index 00000000000..559f9a2cc92
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/reftest.list
@@ -0,0 +1,1034 @@
+
+2d-rotate-001.xht == reference/2d-rotate-ref.xht != reference/2d-rotate-notref.xht
+animations-001.xht == reference/animations-001-ref.xht
+backface-visibility-hidden-001.xht == reference/backface-visibility-hidden-ref.xht
+canvas3d-001.xht == reference/canvas3d-001-ref.xht
+canvas3d-002.xht == reference/canvas3d-002-ref.xht
+css-rotate-2d-3d-001.xht == reference/css-rotate-2d-3d-001-ref.xht
+css-scale-nested-001.xht == reference/css-scale-nested-ref.xht
+css-skew-001.xht == reference/css-skew-001-ref.xht
+css-skew-002.xht == reference/css-skew-002-ref.xht
+css-transform-3d-rotate3d-X-negative.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotate3d-X-positive.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotate3d-Y-negative.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotate3d-Y-positive.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotate3d-Z-negative.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-rotate3d-Z-positive.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-rotateX-negative.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotateX-positive.xht == reference/css-transform-3d-rotateX-ref.xht
+css-transform-3d-rotateY-negative.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotateY-positive.xht == reference/css-transform-3d-rotateY-ref.xht
+css-transform-3d-rotateZ-negative.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-rotateZ-positive.xht == reference/css-transform-3d-rotateZ-ref.xht
+css-transform-3d-transform-style.xht == reference/css-transform-3d-transform-style-ref.xht
+css-transform-scale-001.xht == reference/css-transform-scale-ref-001.xht
+css-transform-scale-002.xht == reference/css-transform-scale-ref-002.xht
+css-transforms-3d-on-anonymous-block-001.xht == reference/css-transforms-3d-anonymous-block-ref.xht
+css-transforms-transformlist.xht == reference/css-transforms-transformlist-ref.xht
+css3-transform-perspective.xht == reference/css3-transform-perspective-ref.xht
+css3-transform-rotateY.xht == reference/css3-transform-rotateY-ref.xht
+css3-transform-scale.xht == reference/css3-transform-scale-ref.xht
+css3-transform-scale-002.xht == reference/css3-transform-scale-ref-002.xht
+iframe-001.xht == reference/iframe-001-ref.xht
+perspective-origin-001.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-002.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-003.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-004.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-005.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-006.xht == reference/ref-filled-green-100px-square.xht
+perspective-origin-x.xht == reference/perspective-origin-reftest.xht
+perspective-origin-xy.xht == reference/perspective-reftest.xht
+perspective-translateZ-0.xht == reference/perspective-reftest.xht
+perspective-translateZ-negative.xht == reference/perspective-reftest.xht
+perspective-translateZ-positive.xht == reference/perspective-reftest.xht
+regions-transforms-001.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-002.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-003.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-004.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-005.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-006.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-007.xht == reference/regions-transforms-001-ref.xht
+regions-transforms-008.xht == reference/regions-transforms-008-ref.xht
+regions-transforms-009.xht == reference/regions-transforms-008-ref.xht
+regions-transforms-010.xht == reference/regions-transforms-010-ref.xht
+regions-transforms-011.xht == reference/regions-transforms-010-ref.xht
+regions-transforms-012.xht == reference/regions-transforms-010-ref.xht
+regions-transforms-013.xht == reference/regions-transforms-013-alt-ref.xht
+regions-transforms-013.xht == reference/regions-transforms-013-ref.xht
+regions-transforms-014.xht == reference/regions-transforms-014-ref.xht
+regions-transforms-015.xht == reference/regions-transforms-014-ref.xht
+regions-transforms-016.xht == reference/regions-transforms-016-ref.xht
+regions-transforms-017.xht == reference/regions-transforms-017-ref.xht
+regions-transforms-018.xht == reference/regions-transforms-018-ref.xht
+regions-transforms-019.xht == reference/regions-transforms-019-ref.xht
+regions-transforms-020.xht == reference/regions-transforms-020-ref.xht
+regions-transforms-021.xht == reference/regions-transforms-020-ref.xht
+regions-transforms-022.xht == reference/regions-transforms-020-ref.xht
+rotate_45deg.xht == reference/rotate_45deg-ref.xht
+rotate_x_45deg.xht == reference/rotate_x_45deg-ref.xht
+rotate_y_45deg.xht == reference/rotate_y_45deg-ref.xht
+rotateY.xht == reference/rotateY-ref.xht
+scale-optional-second-001.xht == reference/scale-optional-second-ref.xht
+scale-zero-001.xht == reference/scale-zero-ref.xht
+scalex.xht == reference/scalex-ref.xht
+scaley.xht == reference/scaley-ref.xht
+skew-test1.xht == reference/skew-test1-ref.xht
+svg-document-styles-001.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-002.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-003.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-004.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-005.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-006.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-007.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-008.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-009.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-010.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-011.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-012.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-013.xht == reference/svg-document-styles-ref.xht
+svg-document-styles-014.xht == reference/svg-document-styles-ref.xht
+svg-external-styles-001.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-002.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-003.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-004.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-005.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-006.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-007.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-008.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-009.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-010.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-011.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-012.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-013.xht == reference/svg-external-styles-ref.xht
+svg-external-styles-014.xht == reference/svg-external-styles-ref.xht
+svg-gradientTransform-001.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-002.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-003.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-004.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-005.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-006.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-007.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-008.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-009.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-010.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-011.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-012.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-013.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-014.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-015.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-016.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-017.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-018.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-019.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-020.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-021.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-022.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-023.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-024.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-025.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-026.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-027.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-028.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-029.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-030.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-031.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-032.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-033.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-034.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-035.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-036.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-037.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-038.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-039.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-040.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-041.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-042.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-043.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-044.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-045.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-046.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-047.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-048.xht == reference/svg-gradientTransform-ref.xht
+svg-gradientTransform-049.xht == reference/svg-gradientTransform-transform-ref.xht
+svg-gradientTransform-combination-001.xht == reference/svg-gradientTransform-combination-ref.xht
+svg-gradientTransform-combination-002.xht == reference/svg-gradientTransform-combination-ref.xht
+svg-gradientTransform-combination-003.xht == reference/svg-gradientTransform-combination-ref.xht
+svg-gradientTransform-ex-unit-001.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-002.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-003.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-004.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-005.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-ex-unit-006.xht == reference/svg-gradientTransform-ex-unit-ref.xht
+svg-gradientTransform-relative-001.xht == reference/svg-gradientTransform-relative-ref.xht
+svg-gradientTransform-relative-002.xht == reference/svg-gradientTransform-relative-ref.xht
+svg-gradientTransform-relative-003.xht == reference/svg-gradientTransform-relative-ref.xht
+svg-inline-styles-001.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-002.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-003.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-004.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-005.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-006.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-007.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-008.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-009.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-010.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-011.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-012.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-013.xht == reference/svg-inline-styles-ref.xht
+svg-inline-styles-014.xht == reference/svg-inline-styles-ref.xht
+svg-matrix-001.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-002.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-003.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-004.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-005.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-006.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-007.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-008.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-009.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-010.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-011.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-012.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-013.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-014.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-015.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-016.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-017.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-018.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-019.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-020.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-021.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-022.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-023.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-024.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-025.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-026.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-027.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-028.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-029.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-030.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-031.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-032.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-033.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-034.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-035.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-036.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-037.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-038.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-039.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-040.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-041.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-042.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-043.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-044.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-045.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-046.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-047.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-048.xht == reference/svg-matrix-clipped-rect-ref.xht
+svg-matrix-049.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-050.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-051.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-052.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-053.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-054.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-055.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-056.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-057.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-058.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-059.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-060.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-061.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-062.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-063.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-064.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-065.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-066.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-067.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-068.xht == reference/svg-matrix-four-color-ref.xht
+svg-matrix-069.xht == reference/svg-matrix-four-color-ref.xht
+svg-origin-length-001.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-002.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-003.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-004.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-005.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-006.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-007.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-008.xht == reference/svg-origin-length-ref.xht
+svg-origin-length-cm-001.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-002.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-003.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-004.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-cm-005.xht == reference/svg-origin-length-cm-ref.xht
+svg-origin-length-in-001.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-002.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-003.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-004.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-in-005.xht == reference/svg-origin-length-in-ref.xht
+svg-origin-length-pt-001.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-002.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-003.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-004.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-length-pt-005.xht == reference/svg-origin-length-pt-ref.xht
+svg-origin-relative-length-001.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-002.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-003.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-004.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-005.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-006.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-007.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-008.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-009.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-010.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-011.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-012.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-013.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-014.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-015.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-016.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-017.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-018.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-019.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-020.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-021.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-022.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-023.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-024.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-025.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-026.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-027.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-028.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-029.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-030.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-031.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-032.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-033.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-034.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-035.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-036.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-037.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-038.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-039.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-040.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-041.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-042.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-043.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-044.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-045.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-046.xht == reference/svg-origin-relative-length-ref.xht
+svg-origin-relative-length-invalid-001.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-002.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-003.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-004.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-005.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-006.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-007.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-008.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-009.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-010.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-011.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-origin-relative-length-invalid-012.xht == reference/svg-origin-relative-length-invalid-ref.xht
+svg-patternTransform-001.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-002.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-003.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-004.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-005.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-006.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-007.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-008.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-009.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-010.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-011.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-012.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-013.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-014.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-015.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-016.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-017.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-018.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-019.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-020.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-021.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-022.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-023.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-024.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-025.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-026.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-027.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-028.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-029.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-030.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-031.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-032.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-033.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-034.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-035.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-036.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-037.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-038.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-039.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-040.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-041.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-042.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-043.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-044.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-045.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-046.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-047.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-048.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-049.xht == reference/svg-patternTransform-ref.xht
+svg-patternTransform-combination-001.xht == reference/svg-patternTransform-combination-ref.xht
+svg-patternTransform-combination-002.xht == reference/svg-patternTransform-combination-ref.xht
+svg-patternTransform-combination-003.xht == reference/svg-patternTransform-combination-ref.xht
+svg-patternTransform-ex-unit-001.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-002.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-003.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-004.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-005.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-ex-unit-006.xht == reference/svg-patternTransform-ex-unit-ref.xht
+svg-patternTransform-relative-001.xht == reference/svg-patternTransform-relative-ref.xht
+svg-patternTransform-relative-002.xht == reference/svg-patternTransform-relative-ref.xht
+svg-patternTransform-relative-003.xht == reference/svg-patternTransform-relative-ref.xht
+svg-rotate-3args-001.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-002.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-003.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-004.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-005.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-006.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-007.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-008.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-009.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-010.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-011.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-012.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-013.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-014.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-015.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-016.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-017.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-018.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-019.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-020.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-021.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-022.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-023.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-001.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-002.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-003.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-004.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-3args-invalid-005.xht == reference/svg-rotate-3args-ref.xht
+svg-rotate-angle-45-001.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-002.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-003.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-004.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-005.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-006.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-007.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-008.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-009.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-010.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-011.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-012.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-013.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-014.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-015.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-016.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-017.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-018.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-019.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-020.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-021.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-022.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-023.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-024.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-45-025.xht == reference/svg-rotate-angle-45-ref.xht
+svg-rotate-angle-90-001.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-002.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-003.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-004.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-005.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-006.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-007.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-008.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-009.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-010.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-011.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-012.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-013.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-014.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-015.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-016.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-017.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-018.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-019.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-020.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-021.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-022.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-023.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-024.xht == reference/svg-rotate-angle-90-ref.xht
+svg-rotate-angle-90-025.xht == reference/svg-rotate-angle-90-ref.xht
+svg-scale-001.xht == reference/svg-scale-ref.xht
+svg-scale-002.xht == reference/svg-scale-ref.xht
+svg-scale-003.xht == reference/svg-scale-ref.xht
+svg-scale-004.xht == reference/svg-scale-ref.xht
+svg-scale-005.xht == reference/svg-scale-ref.xht
+svg-scale-006.xht == reference/svg-scale-ref.xht
+svg-scale-007.xht == reference/svg-scale-ref.xht
+svg-scale-008.xht == reference/svg-scale-ref.xht
+svg-scale-009.xht == reference/svg-scale-ref.xht
+svg-scale-010.xht == reference/svg-scale-ref.xht
+svg-scale-011.xht == reference/svg-scale-ref.xht
+svg-scale-012.xht == reference/svg-scale-ref.xht
+svg-scale-013.xht == reference/svg-scale-ref.xht
+svg-scale-014.xht == reference/svg-scale-ref.xht
+svg-scale-015.xht == reference/svg-scale-ref.xht
+svg-scale-016.xht == reference/svg-scale-ref.xht
+svg-scale-017.xht == reference/svg-scale-ref.xht
+svg-scalex-001.xht == reference/svg-scale-ref.xht
+svg-scalex-002.xht == reference/svg-scale-ref.xht
+svg-scalex-003.xht == reference/svg-scale-ref.xht
+svg-scalex-004.xht == reference/svg-scale-ref.xht
+svg-scalex-005.xht == reference/svg-scale-ref.xht
+svg-scaley-001.xht == reference/svg-scale-ref.xht
+svg-scaley-002.xht == reference/svg-scale-ref.xht
+svg-scaley-003.xht == reference/svg-scale-ref.xht
+svg-scaley-004.xht == reference/svg-scale-ref.xht
+svg-scaley-005.xht == reference/svg-scale-ref.xht
+svg-skewx-001.xht == reference/svg-skewx-ref.xht
+svg-skewx-002.xht == reference/svg-skewx-ref.xht
+svg-skewx-003.xht == reference/svg-skewx-ref.xht
+svg-skewx-004.xht == reference/svg-skewx-ref.xht
+svg-skewx-005.xht == reference/svg-skewx-ref.xht
+svg-skewx-006.xht == reference/svg-skewx-ref.xht
+svg-skewx-007.xht == reference/svg-skewx-ref.xht
+svg-skewx-008.xht == reference/svg-skewx-ref.xht
+svg-skewx-009.xht == reference/svg-skewx-ref.xht
+svg-skewx-010.xht == reference/svg-skewx-ref.xht
+svg-skewx-011.xht == reference/svg-skewx-ref.xht
+svg-skewx-012.xht == reference/svg-skewx-ref.xht
+svg-skewx-013.xht == reference/svg-skewx-ref.xht
+svg-skewx-014.xht == reference/svg-skewx-ref.xht
+svg-skewx-015.xht == reference/svg-skewx-ref.xht
+svg-skewx-016.xht == reference/svg-skewx-ref.xht
+svg-skewx-017.xht == reference/svg-skewx-ref.xht
+svg-skewx-018.xht == reference/svg-skewx-ref.xht
+svg-skewx-019.xht == reference/svg-skewx-ref.xht
+svg-skewx-020.xht == reference/svg-skewx-ref.xht
+svg-skewx-021.xht == reference/svg-skewx-ref.xht
+svg-skewx-022.xht == reference/svg-skewx-ref.xht
+svg-skewx-023.xht == reference/svg-skewx-ref.xht
+svg-skewx-024.xht == reference/svg-skewx-ref.xht
+svg-skewx-025.xht == reference/svg-skewx-ref.xht
+svg-skewxy-001.xht == reference/svg-skewxy-ref.xht
+svg-skewxy-002.xht == reference/svg-skewxy-ref.xht
+svg-skewy-001.xht == reference/svg-skewy-ref.xht
+svg-skewy-002.xht == reference/svg-skewy-ref.xht
+svg-skewy-003.xht == reference/svg-skewy-ref.xht
+svg-skewy-004.xht == reference/svg-skewy-ref.xht
+svg-skewy-005.xht == reference/svg-skewy-ref.xht
+svg-skewy-006.xht == reference/svg-skewy-ref.xht
+svg-skewy-007.xht == reference/svg-skewy-ref.xht
+svg-skewy-008.xht == reference/svg-skewy-ref.xht
+svg-skewy-009.xht == reference/svg-skewy-ref.xht
+svg-skewy-010.xht == reference/svg-skewy-ref.xht
+svg-skewy-011.xht == reference/svg-skewy-ref.xht
+svg-skewy-012.xht == reference/svg-skewy-ref.xht
+svg-skewy-013.xht == reference/svg-skewy-ref.xht
+svg-skewy-014.xht == reference/svg-skewy-ref.xht
+svg-skewy-015.xht == reference/svg-skewy-ref.xht
+svg-skewy-016.xht == reference/svg-skewy-ref.xht
+svg-skewy-017.xht == reference/svg-skewy-ref.xht
+svg-skewy-018.xht == reference/svg-skewy-ref.xht
+svg-skewy-019.xht == reference/svg-skewy-ref.xht
+svg-skewy-020.xht == reference/svg-skewy-ref.xht
+svg-skewy-021.xht == reference/svg-skewy-ref.xht
+svg-skewy-022.xht == reference/svg-skewy-ref.xht
+svg-skewy-023.xht == reference/svg-skewy-ref.xht
+svg-skewy-024.xht == reference/svg-skewy-ref.xht
+svg-skewy-025.xht == reference/svg-skewy-ref.xht
+svg-transform-group-001.xht == reference/svg-green-square-ref.xht
+svg-transform-group-002.xht == reference/svg-green-square-ref.xht
+svg-transform-group-003.xht == reference/svg-green-square-ref.xht
+svg-transform-group-004.xht == reference/svg-green-square-ref.xht
+svg-transform-group-005.xht == reference/svg-green-square-ref.xht
+svg-transform-group-006.xht == reference/svg-green-square-ref.xht
+svg-transform-group-007.xht == reference/svg-green-square-ref.xht
+svg-transform-group-008.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-group-009.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-group-010.xht == reference/svg-green-square-ref.xht
+svg-transform-group-011.xht == reference/svg-green-square-ref.xht
+svg-transform-list-separations-001.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-002.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-003.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-004.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-005.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-006.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-007.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-008.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-009.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-010.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-list-separations-011.xht == reference/svg-transform-list-separations-ref.xht
+svg-transform-nested-001.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-002.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-003.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-004.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-005.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-006.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-007.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-008.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-009.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-010.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-011.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-012.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-013.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-014.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-015.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-016.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-017.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-018.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-019.xht == reference/svg-green-square-250x250-ref.xht
+svg-transform-nested-020.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-021.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-022.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-023.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-024.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-025.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-026.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-027.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-028.xht == reference/svg-green-square-ref.xht
+svg-transform-nested-029.xht == reference/svg-green-square-ref.xht
+svg-translate-001.xht == reference/svg-translate-ref.xht
+svg-translate-002.xht == reference/svg-translate-ref.xht
+svg-translate-003.xht == reference/svg-translate-ref.xht
+svg-translate-004.xht == reference/svg-translate-ref.xht
+svg-translate-005.xht == reference/svg-translate-ref.xht
+svg-translate-006.xht == reference/svg-translate-ref.xht
+svg-translate-007.xht == reference/svg-translate-ref.xht
+svg-translate-008.xht == reference/svg-translate-ref.xht
+svg-translate-009.xht == reference/svg-translate-ref.xht
+svg-translate-010.xht == reference/svg-translate-ref.xht
+svg-translate-011.xht == reference/svg-translate-ref.xht
+svg-translate-012.xht == reference/svg-translate-ref.xht
+svg-translate-013.xht == reference/svg-translate-ref.xht
+svg-translate-014.xht == reference/svg-translate-ref.xht
+svg-translate-015.xht == reference/svg-translate-ref.xht
+svg-translate-016.xht == reference/svg-translate-ref.xht
+svg-translate-017.xht == reference/svg-translate-ref.xht
+svg-translate-018.xht == reference/svg-translate-ref.xht
+svg-translate-019.xht == reference/svg-translate-ref.xht
+svg-translate-020.xht == reference/svg-translate-ref.xht
+svg-translate-021.xht == reference/svg-translate-ref.xht
+svg-translate-022.xht == reference/svg-translate-ref.xht
+svg-translate-023.xht == reference/svg-translate-ref.xht
+svg-translate-024.xht == reference/svg-translate-ref.xht
+svg-translate-025.xht == reference/svg-translate-ref.xht
+svg-translate-026.xht == reference/svg-translate-ref.xht
+svg-translate-027.xht == reference/svg-translate-ref.xht
+svg-translate-028.xht == reference/svg-translate-ref.xht
+svg-translate-029.xht == reference/svg-translate-ref.xht
+svg-translate-030.xht == reference/svg-translate-ref.xht
+svg-translate-031.xht == reference/svg-translate-ref.xht
+svg-translate-032.xht == reference/svg-translate-ref.xht
+svg-translate-033.xht == reference/svg-translate-ref.xht
+svg-translate-034.xht == reference/svg-translate-ref.xht
+svg-translate-035.xht == reference/svg-translate-ref.xht
+svg-translate-036.xht == reference/svg-translate-ref.xht
+svg-translate-037.xht == reference/svg-translate-ref.xht
+svg-translate-038.xht == reference/svg-translate-ref.xht
+svg-translate-039.xht == reference/svg-translate-ref.xht
+svg-translate-040.xht == reference/svg-translate-ref.xht
+svg-translate-041.xht == reference/svg-translate-ref.xht
+svg-translate-042.xht == reference/svg-translate-ref.xht
+svg-translate-043.xht == reference/svg-translate-ref.xht
+svg-translate-044.xht == reference/svg-translate-ref.xht
+svg-translate-045.xht == reference/svg-translate-ref.xht
+svg-translate-046.xht == reference/svg-translate-ref.xht
+svg-translate-047.xht == reference/svg-translate-ref.xht
+svg-translate-048.xht == reference/svg-translate-ref.xht
+svg-translate-049.xht == reference/svg-translate-ref.xht
+svg-translate-050.xht == reference/svg-translate-ref.xht
+svg-translate-051.xht == reference/svg-translate-ref.xht
+svg-translate-052.xht == reference/svg-translate-ref.xht
+svg-translate-053.xht == reference/svg-translate-ref.xht
+svg-translate-054.xht == reference/svg-translate-ref.xht
+svg-translate-055.xht == reference/svg-translate-ref.xht
+svg-translate-abs-unit-combinations-001.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-002.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-003.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-004.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-005.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-abs-unit-combinations-006.xht == reference/svg-translate-abs-unit-combinations-ref.xht
+svg-translate-ex-unit-001.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-002.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-003.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-004.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-005.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-ex-unit-006.xht == reference/svg-translate-ex-unit-ref.xht
+svg-translate-multiple-001.xht == reference/svg-translate-multiple-ref.xht
+svg-translate-multiple-002.xht == reference/svg-translate-multiple-ref.xht
+svg-translate-multiple-relative-001.xht == reference/svg-translate-multiple-relative-ref.xht
+svg-translate-multiple-relative-002.xht == reference/svg-translate-multiple-relative-ref.xht
+svg-translate-relative-001.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-002.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-003.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-004.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-005.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-006.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-007.xht == reference/svg-translate-relative-ref.xht
+svg-translate-relative-008.xht == reference/svg-translate-relative-ref.xht
+svg-translatex-001.xht == reference/svg-translatex-ref.xht
+svg-translatex-002.xht == reference/svg-translatex-ref.xht
+svg-translatex-003.xht == reference/svg-translatex-ref.xht
+svg-translatex-004.xht == reference/svg-translatex-ref.xht
+svg-translatex-005.xht == reference/svg-translatex-ref.xht
+svg-translatex-006.xht == reference/svg-translatex-ref.xht
+svg-translatex-007.xht == reference/svg-translatex-ref.xht
+svg-translatex-008.xht == reference/svg-translatex-ref.xht
+svg-translatex-009.xht == reference/svg-translatex-ref.xht
+svg-translatex-010.xht == reference/svg-translatex-ref.xht
+svg-translatex-011.xht == reference/svg-translatex-ref.xht
+svg-translatex-012.xht == reference/svg-translatex-ref.xht
+svg-translatex-013.xht == reference/svg-translatex-ref.xht
+svg-translatex-014.xht == reference/svg-translatex-ref.xht
+svg-translatex-015.xht == reference/svg-translatex-ref.xht
+svg-translatex-016.xht == reference/svg-translatex-ref.xht
+svg-translatex-017.xht == reference/svg-translatex-ref.xht
+svg-translatex-018.xht == reference/svg-translatex-ref.xht
+svg-translatex-019.xht == reference/svg-translatex-ref.xht
+svg-translatex-020.xht == reference/svg-translatex-ref.xht
+svg-translatex-021.xht == reference/svg-translatex-ref.xht
+svg-translatex-022.xht == reference/svg-translatex-ref.xht
+svg-translatex-023.xht == reference/svg-translatex-ref.xht
+svg-translatex-024.xht == reference/svg-translatex-ref.xht
+svg-translatex-025.xht == reference/svg-translatex-ref.xht
+svg-translatex-026.xht == reference/svg-translatex-ref.xht
+svg-translatex-027.xht == reference/svg-translatex-ref.xht
+svg-translatex-028.xht == reference/svg-translatex-ref.xht
+svg-translatex-029.xht == reference/svg-translatex-ref.xht
+svg-translatex-030.xht == reference/svg-translatex-ref.xht
+svg-translatex-031.xht == reference/svg-translatex-ref.xht
+svg-translatex-032.xht == reference/svg-translatex-ref.xht
+svg-translatex-033.xht == reference/svg-translatex-ref.xht
+svg-translatex-034.xht == reference/svg-translatex-ref.xht
+svg-translatex-035.xht == reference/svg-translatex-ref.xht
+svg-translatex-036.xht == reference/svg-translatex-ref.xht
+svg-translatex-037.xht == reference/svg-translatex-ref.xht
+svg-translatex-038.xht == reference/svg-translatex-ref.xht
+svg-translatex-039.xht == reference/svg-translatex-ref.xht
+svg-translatex-040.xht == reference/svg-translatex-ref.xht
+svg-translatex-041.xht == reference/svg-translatex-ref.xht
+svg-translatex-042.xht == reference/svg-translatex-ref.xht
+svg-translatex-043.xht == reference/svg-translatex-ref.xht
+svg-translatex-044.xht == reference/svg-translatex-ref.xht
+svg-translatex-045.xht == reference/svg-translatex-ref.xht
+svg-translatex-046.xht == reference/svg-translatex-ref.xht
+svg-translatex-047.xht == reference/svg-translatex-ref.xht
+svg-translatex-048.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-001.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-002.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-003.xht == reference/svg-translatex-ref.xht
+svg-translatex-combination-004.xht == reference/svg-translatex-ref.xht
+svg-translatex-ex-unit-001.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-002.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-003.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-004.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-005.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-ex-unit-006.xht == reference/svg-translatex-ex-unit-ref.xht
+svg-translatex-relative-001.xht == reference/svg-translatex-ref.xht
+svg-translatex-relative-002.xht == reference/svg-translatex-ref.xht
+svg-translatey-001.xht == reference/svg-translatey-ref.xht
+svg-translatey-002.xht == reference/svg-translatey-ref.xht
+svg-translatey-003.xht == reference/svg-translatey-ref.xht
+svg-translatey-004.xht == reference/svg-translatey-ref.xht
+svg-translatey-005.xht == reference/svg-translatey-ref.xht
+svg-translatey-006.xht == reference/svg-translatey-ref.xht
+svg-translatey-007.xht == reference/svg-translatey-ref.xht
+svg-translatey-008.xht == reference/svg-translatey-ref.xht
+svg-translatey-009.xht == reference/svg-translatey-ref.xht
+svg-translatey-010.xht == reference/svg-translatey-ref.xht
+svg-translatey-011.xht == reference/svg-translatey-ref.xht
+svg-translatey-012.xht == reference/svg-translatey-ref.xht
+svg-translatey-013.xht == reference/svg-translatey-ref.xht
+svg-translatey-014.xht == reference/svg-translatey-ref.xht
+svg-translatey-015.xht == reference/svg-translatey-ref.xht
+svg-translatey-016.xht == reference/svg-translatey-ref.xht
+svg-translatey-017.xht == reference/svg-translatey-ref.xht
+svg-translatey-018.xht == reference/svg-translatey-ref.xht
+svg-translatey-019.xht == reference/svg-translatey-ref.xht
+svg-translatey-020.xht == reference/svg-translatey-ref.xht
+svg-translatey-021.xht == reference/svg-translatey-ref.xht
+svg-translatey-022.xht == reference/svg-translatey-ref.xht
+svg-translatey-023.xht == reference/svg-translatey-ref.xht
+svg-translatey-024.xht == reference/svg-translatey-ref.xht
+svg-translatey-025.xht == reference/svg-translatey-ref.xht
+svg-translatey-026.xht == reference/svg-translatey-ref.xht
+svg-translatey-027.xht == reference/svg-translatey-ref.xht
+svg-translatey-028.xht == reference/svg-translatey-ref.xht
+svg-translatey-029.xht == reference/svg-translatey-ref.xht
+svg-translatey-030.xht == reference/svg-translatey-ref.xht
+svg-translatey-031.xht == reference/svg-translatey-ref.xht
+svg-translatey-032.xht == reference/svg-translatey-ref.xht
+svg-translatey-033.xht == reference/svg-translatey-ref.xht
+svg-translatey-034.xht == reference/svg-translatey-ref.xht
+svg-translatey-035.xht == reference/svg-translatey-ref.xht
+svg-translatey-036.xht == reference/svg-translatey-ref.xht
+svg-translatey-037.xht == reference/svg-translatey-ref.xht
+svg-translatey-038.xht == reference/svg-translatey-ref.xht
+svg-translatey-039.xht == reference/svg-translatey-ref.xht
+svg-translatey-040.xht == reference/svg-translatey-ref.xht
+svg-translatey-041.xht == reference/svg-translatey-ref.xht
+svg-translatey-042.xht == reference/svg-translatey-ref.xht
+svg-translatey-043.xht == reference/svg-translatey-ref.xht
+svg-translatey-044.xht == reference/svg-translatey-ref.xht
+svg-translatey-045.xht == reference/svg-translatey-ref.xht
+svg-translatey-046.xht == reference/svg-translatey-ref.xht
+svg-translatey-047.xht == reference/svg-translatey-ref.xht
+svg-translatey-048.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-001.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-002.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-003.xht == reference/svg-translatey-ref.xht
+svg-translatey-combination-004.xht == reference/svg-translatey-ref.xht
+svg-translatey-ex-unit-001.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-002.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-003.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-004.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-005.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-ex-unit-006.xht == reference/svg-translatey-ex-unit-ref.xht
+svg-translatey-relative-001.xht == reference/svg-translatey-ref.xht
+svg-translatey-relative-002.xht == reference/svg-translatey-ref.xht
+transform-3d-rotateY-stair-above-001.xht == reference/transform-3d-rotateY-stair-above-ref-001.xht
+transform-3d-rotateY-stair-below-001.xht == reference/transform-3d-rotateY-stair-above-ref-001.xht
+transform-abspos-001.xht == reference/transform-abspos-ref.xht
+transform-abspos-002.xht == reference/transform-abspos-ref.xht
+transform-abspos-003.xht == reference/transform-abspos-ref.xht
+transform-abspos-004.xht == reference/transform-abspos-ref.xht
+transform-abspos-005.xht != reference/transform-abspos-ref.xht
+transform-abspos-006.xht == reference/transform-abspos-ref.xht
+transform-abspos-007.xht == reference/transform-abspos-ref.xht
+transform-applies-to-001.xht == reference/transform-applies-to-001-ref.xht
+transform-applies-to-002.xht == reference/transform-applies-to-002-ref.xht
+transform-background-001.xht == reference/transform-background-ref-1.xht
+transform-background-002.xht == reference/transform-background-ref-1.xht
+transform-background-003.xht == reference/transform-background-ref-1.xht
+transform-background-004.xht == reference/transform-background-ref-1.xht
+transform-background-005.xht == reference/transform-background-ref-2.xht
+transform-background-006.xht == reference/transform-background-ref-2.xht != reference/transform-background-006-notref.xht
+transform-background-007.xht == reference/transform-background-ref-2.xht
+transform-background-008.xht == reference/transform-background-ref-2.xht
+transform-compound-001.xht == reference/transform-compound-ref.xht != reference/transform-compound-notref-1.xht != reference/transform-compound-notref-2.xht
+transform-descendant-001.xht == reference/transform-descendant-ref.xht
+transform-display-001.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-display-002.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-display-003.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-display-004.xht == reference/transform-display-ref.xht != reference/transform-display-notref.xht
+transform-fixed-bg-001.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-002.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-003.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-004.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-005.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-006.xht == reference/transform-fixed-bg-ref.xht
+transform-fixed-bg-007.xht == reference/transform-fixed-bg-ref.xht
+transform-generated-001.xht == reference/transform-generated-001-ref.xht != reference/transform-generated-001-notref.xht
+transform-generated-002.xht == reference/transform-generated-002-ref.xht != reference/transform-generated-002-notref.xht
+transform-iframe-001.xht == reference/transform-iframe-ref.xht
+transform-image-001.xht == reference/transform-image-ref.xht
+transform-inherit-001.xht == reference/transform-inherit-ref.xht
+transform-inherit-002.xht == reference/transform-inherit-ref.xht
+transform-inherit-origin-001.xht == reference/transform-inherit-origin-ref.xht
+transform-inherit-origin-002.xht == reference/transform-inherit-origin-ref.xht
+transform-inline-001.xht == reference/transform-inline-ref.xht != reference/transform-inline-notref.xht
+transform-input-001.xht == reference/transform-input-001-ref.xht
+transform-input-002.xht == reference/transform-input-002-ref.xht
+transform-input-003.xht == reference/transform-input-003-ref.xht
+transform-input-004.xht == reference/transform-input-004-ref.xht
+transform-input-005.xht == reference/transform-input-005-ref.xht
+transform-input-006.xht == reference/transform-input-006-ref.xht
+transform-input-007.xht == reference/transform-input-007-ref.xht
+transform-input-008.xht == reference/transform-input-008-ref.xht
+transform-input-009.xht == reference/transform-input-009-ref.xht
+transform-input-010.xht == reference/transform-input-010-ref.xht
+transform-input-011.xht == reference/transform-input-011-ref.xht
+transform-input-012.xht == reference/transform-input-012-ref.xht
+transform-input-013.xht == reference/transform-input-013-ref.xht
+transform-input-014.xht == reference/transform-input-014-ref.xht
+transform-input-015.xht == reference/transform-input-015-ref.xht
+transform-input-016.xht == reference/transform-input-016-ref.xht
+transform-input-017.xht == reference/transform-input-017-ref.xht
+transform-input-018.xht == reference/transform-input-018-ref.xht
+transform-input-019.xht == reference/transform-input-019-ref.xht
+transform-matrix-001.xht == reference/transform-matrix-001-ref.xht
+transform-matrix-002.xht == reference/transform-matrix-002-ref.xht
+transform-matrix-003.xht == reference/transform-matrix-003-ref.xht
+transform-matrix-004.xht == reference/transform-matrix-004-ref.xht
+transform-matrix-005.xht == reference/transform-matrix-005-ref.xht != reference/transform-matrix-005-notref.xht
+transform-matrix-006.xht == reference/transform-matrix-006-ref.xht != reference/transform-matrix-005-notref.xht
+transform-matrix-007.xht == reference/transform-matrix-007-ref.xht
+transform-matrix-008.xht == reference/transform-matrix-008-ref.xht != reference/transform-matrix-008-notref.xht
+transform-origin.xht == reference/transform-origin-ref.xht
+transform-origin-001.xht != reference/transform-origin-ref-1.xht
+transform-origin-002.xht != reference/transform-origin-ref-1.xht
+transform-origin-003.xht == reference/transform-origin-ref-2.xht
+transform-origin-004.xht == reference/transform-origin-ref-2.xht
+transform-origin-005.xht == reference/transform-origin-ref-2.xht
+transform-origin-006.xht == reference/transform-origin-ref-2.xht
+transform-origin-007.xht == reference/transform-origin-007-ref.xht
+transform-origin-008.xht == reference/transform-origin-007-ref.xht
+transform-origin-009.xht == reference/transform-origin-007-ref.xht
+transform-origin-01.xht == reference/transform-origin-01-ref.xht
+transform-origin-010.xht == reference/transform-origin-007-ref.xht
+transform-origin-011.xht == reference/transform-origin-007-ref.xht
+transform-origin-012.xht == reference/transform-origin-007-ref.xht
+transform-origin-name-001.xht == reference/transform-origin-name-ref-1.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-002.xht == reference/transform-origin-name-ref-1.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-003.xht == reference/transform-origin-name-ref-2.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-004.xht == reference/transform-origin-name-ref-2.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-005.xht == reference/transform-origin-name-ref-2.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-006.xht == reference/transform-origin-name-ref-3.xht != reference/transform-origin-name-notref.xht
+transform-origin-name-007.xht == reference/transform-origin-name-ref-3.xht != reference/transform-origin-name-notref.xht
+transform-overflow-001.xht == reference/transform-overflow-001-ref.xht
+transform-overflow-002.xht == reference/transform-overflow-002-ref.xht
+transform-percent-001.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-002.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-003.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-004.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-005.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-006.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-007.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-percent-008.xht == reference/transform-percent-ref.xht != reference/transform-percent-notref.xht
+transform-propagate-inherit-boolean-001.xht == reference/transform-propagate-inherit-boolean-ref.xht
+transform-root-bg-001.xht == reference/transform-root-bg-001-ref.xht
+transform-root-bg-002.xht == reference/transform-root-bg-001-ref.xht
+transform-root-bg-003.xht == reference/transform-root-bg-003-ref.xht
+transform-root-bg-004.xht == reference/transform-root-bg-004-ref.xht
+transform-rotate-001.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-002.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-003.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-004.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-005.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-006.xht == reference/transform-rotate-001-ref.xht != reference/transform-rotate-001-notref.xht
+transform-rotate-007.xht == reference/transform-rotate-007-ref.xht != reference/transform-rotate-007-notref.xht
+transform-rounding-001.xht == reference/transform-rounding-ref.xht
+transform-scale-001.xht == reference/transform-scale-ref.xht
+transform-scale-002.xht == reference/transform-scale-ref.xht
+transform-scale-percent-001.xht == reference/transform-scale-percent-ref.xht
+transform-scale-test.xht == reference/transform-scale-test-ref.xht
+transform-scalex-001.xht == reference/transform-scalex-ref.xht
+transform-scaley-001.xht == reference/transform-scaley-ref.xht
+transform-singular-001.xht == reference/transform-singular-ref.xht
+transform-stacking-001.xht == reference/transform-lime-square-ref.xht
+transform-stacking-002.xht == reference/transform-lime-square-ref.xht
+transform-stacking-003.xht == reference/transform-lime-square-ref.xht
+transform-stacking-004.xht == reference/transform-lime-square-ref.xht
+transform-stresstest-001.xht == reference/transform-stresstest-ref.xht
+transform-table-001.xht == reference/transform-table-001-ref.xht != reference/transform-table-001-notref.xht
+transform-table-002.xht == reference/transform-table-001-ref.xht != reference/transform-table-002-notref.xht
+transform-table-003.xht == reference/transform-table-001-ref.xht != reference/transform-table-001-notref.xht
+transform-table-004.xht == reference/transform-table-004-ref.xht != reference/transform-table-004-notref.xht
+transform-table-005.xht == reference/transform-table-004-ref.xht != reference/transform-table-005-notref.xht
+transform-table-006.xht == reference/transform-blank-ref.xht
+transform-table-007.xht == reference/transform-blank-ref.xht
+transform-table-008.xht == reference/transform-blank-ref.xht
+transform-table-009.xht == reference/transform-table-009-ref.xht != reference/transform-table-009-notref.xht
+transform-table-010.xht == reference/transform-table-009-ref.xht != reference/transform-table-010-notref.xht
+transform-table-011.xht == reference/transform-table-009-ref.xht != reference/transform-table-011-notref.xht
+transform-transformable-inline-block.xht == reference/transform-transformable-inline-block-ref.xht
+transform-transformable-inline-table.xht == reference/transform-transformable-inline-table-ref.xht
+transform-transformable-list-item.xht == reference/transform-transformable-list-item-ref.xht
+transform-transformable-table.xht == reference/transform-transformable-table-ref.xht
+transform-transformable-table-caption.xht == reference/transform-transformable-table-caption-ref.xht
+transform-transformable-table-cell.xht == reference/transform-transformable-table-cell-ref.xht
+transform-transformable-table-footer-group.xht == reference/transform-transformable-table-footer-group-ref.xht
+transform-transformable-table-header-group.xht == reference/transform-transformable-table-header-group-ref.xht
+transform-transformable-table-row.xht == reference/transform-transformable-table-row-ref.xht
+transform-transformable-table-row-group.xht == reference/transform-transformable-table-row-group-ref.xht
+transform-translate-001.xht == reference/transform-translate-ref.xht
+transform-translate-002.xht == reference/transform-translate-ref.xht
+transform-translate-003.xht == reference/transform-translate-ref.xht
+transform-translate-004.xht == reference/transform-translate-ref.xht
+transform-translate-005.xht == reference/transform-translate-ref.xht
+transform-translatex-001.xht == reference/transform-translatex-ref.xht
+transform-translatex-002.xht == reference/transform-translatex-ref.xht
+transform-translatex-003.xht == reference/transform-translatex-ref.xht
+transform-translatex-004.xht == reference/transform-translatex-ref.xht
+transform-translatex-005.xht == reference/transform-translatex-ref.xht
+transform-translatex-006.xht == reference/transform-translatex-ref.xht
+transform-translatey-001.xht == reference/transform-translatey-ref.xht
+transform-translatey-002.xht == reference/transform-translatey-ref.xht
+transform-translatey-003.xht == reference/transform-translatey-ref.xht
+transform-translatey-004.xht == reference/transform-translatey-ref.xht
+transform-translatey-005.xht == reference/transform-translatey-ref.xht
+transform3d-backface-visibility-001.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-002.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-003.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-004.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-005.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-006.xht == reference/transform-lime-square-ref.xht
+transform3d-backface-visibility-007.xht == reference/transform-lime-square-ref.xht
+transform3d-image-scale-001.xht == reference/transform-lime-square-ref.xht
+transform3d-image-scale-002.xht == reference/transform-lime-square-ref.xht
+transform3d-matrix3d-001.xht == reference/transform3d-matrix3d-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-002.xht == reference/transform3d-matrix3d-002-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-003.xht == reference/transform3d-matrix3d-003-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-004.xht == reference/transform3d-matrix3d-004-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-matrix3d-005.xht == reference/transform3d-matrix3d-005-ref.xht
+transform3d-perspective-001.xht == reference/transform3d-perspective-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-002.xht == reference/transform3d-perspective-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-003.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-004.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-005.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-006.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-007.xht == reference/transform3d-perspective-001-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-008.xht == reference/transform-lime-square-ref.xht
+transform3d-perspective-009.xht == reference/transform3d-perspective-009-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-perspective-origin-001.xht == reference/transform3d-perspective-origin-ref.xht != reference/transform-lime-square-ref.xht != transform3d-rotatex-perspective-001.xht != reference/transform3d-rotatex-ref.xht
+transform3d-preserve3d-001.xht == reference/transform3d-preserve3d-001-ref.xht
+transform3d-preserve3d-002.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-003.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-004.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-005.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-006.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-007.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-008.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-009.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-010.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-011.xht == reference/transform-lime-square-ref.xht
+transform3d-preserve3d-012.xht == reference/transform-blank-ref.xht
+transform3d-preserve3d-013.xht == reference/transform3d-preserve3d-013-ref.xht
+transform3d-rotate3d-001.xht == reference/transform3d-rotatex-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotate3d-002.xht == reference/transform3d-rotatey-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotatex-001.xht == reference/transform3d-rotatex-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotatex-perspective-001.xht != reference/transform-lime-square-ref.xht != reference/transform3d-rotatex-ref.xht
+transform3d-rotatex-perspective-002.xht != reference/transform-lime-square-ref.xht != reference/transform3d-rotatex-ref.xht
+transform3d-rotatex-perspective-003.xht == reference/transform3d-rotatex-perspective-ref.xht != reference/transform3d-rotatex-perspective-notref.xht
+transform3d-rotatex-transformorigin-001.xht == reference/transform3d-rotatex-transformorigin-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-rotatey-001.xht == reference/transform3d-rotatey-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-scale-001.xht == reference/transform3d-scale-001-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-scale-002.xht == reference/transform3d-scale-001-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-scale-003.xht == reference/transform3d-scale-001-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-scale-004.xht == reference/transform-blank-ref.xht
+transform3d-scale-005.xht == reference/transform3d-scale-005-ref.xht
+transform3d-scale-006.xht == reference/transform3d-scale-005-ref.xht
+transform3d-scale-007.xht == reference/transform3d-scale-007-ref.xht != reference/transform3d-scale-001-notref.xht
+transform3d-sorting-001.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-002.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-003.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-004.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-005.xht == reference/transform-lime-square-ref.xht
+transform3d-sorting-006.xht == reference/transform3d-sorting-006-ref.xht
+transform3d-translate3d-001.xht == reference/transform3d-translate3d-ref.xht != reference/transform-lime-square-ref.xht
+transform3d-translatez-001.xht == reference/transform3d-translatez-ref.xht != reference/transform3d-translatez-notref.xht
+transforms-rotate-degree-90.xht == reference/transforms-rotate-degree-90-ref.xht
+transforms-rotate-translate-scale.xht == reference/transforms-rotate-translate-scale-ref.xht
+transforms-rotateY-degree-60.xht == reference/transforms-rotateY-degree-60-ref.xht
+transforms-skewX.xht == reference/transforms-skewX-ref.xht
+transforms-skewY.xht == reference/transforms-skewY-ref.xht
+translate.xht == reference/translate-ref.xht
+translate-optional-second-001.xht == reference/translate-optional-second-ref.xht
+transofrmed-preserve-3d-1.xht == reference/transofrmed-preserve-3d-1-ref.xht
+transofrmed-rotateX-3.xht == reference/transofrmed-rotateX-3-ref.xht
+transofrmed-rotateY-1.xht == reference/transofrmed-rotateY-1-ref.xht
+ttwf-css-3d-polygon-cycle.xht == reference/ttwf-css-3d-polygon-cycle-ref.xht
+ttwf-css-3d-polygon-cycle-mismatch.xht == reference/ttwf-css-3d-polygon-cycle-ref.xht
+ttwf-reftest-rotate.xht == reference/ttwf-reftest-rotate-ref.xht
+ttwf-transform-skewx-001.xht == reference/ttwf-reftest-transform-skewx-001.xht
+ttwf-transform-skewy-001.xht == reference/ttwf-reftest-transform-skewy-001.xht
+ttwf-transform-translatex-001.xht == reference/ttwf-reftest-transform-translatex-001.xht
+ttwf-transform-translatey-001.xht == reference/ttwf-reftest-transform-translatey-001.xht
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-001.xht
new file mode 100644
index 00000000000..ade9411f050
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-001.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (non-text) content</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This test checks that the transform is applied to the named flow non-text content." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-into: f;
+ transform: translateX(100px);
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-002.xht
new file mode 100644
index 00000000000..0e5637e2cf8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-002.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow content element that has a child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This test checks that the child is transformed along with the parent when the
+ transform is applied to a named flow content node" name="assert" />
+ <style>
+ #named-flow-parent {
+ width: 50px;
+ height: 50px;
+ background-color: white;
+ flow-into: f;
+ transform: scaleX(2);
+ transform-origin: left top;
+ }
+ #named-flow-child {
+ width: 50px;
+ height: 100px;
+ background-color: green;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow-parent">
+ <div id="named-flow-child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-003.xht
new file mode 100644
index 00000000000..0706cf9251b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-003.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Named flow content that has a transformed parent outside of the named flow</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This tests checks that when a transform is applied to a parent outside of the named
+ flow but has child in the named flow, the child is not transformed along with the parent." name="assert" />
+ <style>
+ #parent {
+ margin-top: -10px;
+ width: 10px;
+ height: 10px;
+ background-color: red;
+ transform: translateX(-50px);
+ }
+ #child {
+ background-color: green;
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="parent">
+ <div id="child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-004.xht
new file mode 100644
index 00000000000..1c624d7742f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-004.xht
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region using a 3D transform</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <meta content="This test checks that a 3D transform can be applied to a region" name="assert" />
+ <style>
+
+ #named-flow {
+ width: 75px;
+ height: 75px;
+ background-color: red;
+ border-top: 25px solid green;
+ border-right: 25px solid green;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ margin
+ background-color: red;
+ flow-from: f;
+ transform: rotate3d(1,1,0,180deg);
+ }
+ #square {
+ position: absolute;
+ left: 33px;
+ top: 50px;
+ width: 75px;
+ height: 75px;
+ background-color: green;
+ }
+ #failure1, #failure2 {
+ position: absolute;
+ background-color: red;
+ }
+ #failure1 {
+ width: 25px;
+ height: 100px;
+ }
+ #failure2 {
+ width: 100px;
+ height: 25px;
+ top: 125px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+
+ <div id="failure1"></div>
+ <div id="failure2"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+ <div id="square"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-005.xht
new file mode 100644
index 00000000000..97714a32fc2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-005.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
+ once this gets in the spec. -->
+ <meta content="Test checks that content that has a 3D transform does not respect the perspective
+ set on its parent when flowed into a region." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ #parent {
+ width: 100px;
+ height: 100px;
+ perspective: 800px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateY(85deg);
+ color: red;
+ }
+ #region {
+ flow-from: f;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ }
+ #green-rect {
+ position: absolute;
+ top: 50px;
+ left: 53px;
+ width: 10px;
+ height: 100px;
+ background-color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="region"></div>
+ <div id="parent">
+ <div class="ahem" id="named-flow">
+ XXXXX<br />
+ XXXXX<br />
+ XXXXX<br />
+ XXXXX<br />
+ XXXXX<br />
+ </div>
+ </div>
+ <!-- If the red content is properly transformed, it will be hidden beneath this green div -->
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-006.xht
new file mode 100644
index 00000000000..7a9f339c924
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-006.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: 3D transform on region with named flow (text) content that overflows</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="Test checks that content flowed in a region and overflowing it is still rendered
+ if the region has a 3D transform applied." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 20px;
+ }
+ #named-flow {
+ flow-into: f;
+ width: 100px;
+ height: 100px;
+ color: red;
+ background-color: green;
+ }
+ #region {
+ flow-from: f;
+ transform: rotateZ(90deg);
+ transform-origin: bottom right;
+
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ #green-rect {
+ position: absolute;
+ width: 20px;
+ height: 100px;
+ background-color: green;
+ top: 50px;
+ left: 88px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="region"></div>
+ <div class="ahem" id="named-flow">XXXXX</div>
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-007.xht
new file mode 100644
index 00000000000..296d7eb428b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-007.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: Transforms on both the named flow content and the region</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer author" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="ahem" name="flags" />
+ <meta content="Test checks that if both the content flowed in a region and the region have a
+ transform applied, they are properly composed. More specifically, in this test
+ the content should appear as rotated 180 degrees." name="assert" />
+ <link href="reference/regions-transforms-001-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 20px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotate(90deg);
+ width: 100px;
+ height: 100px;
+ color: red;
+ background-color: green;
+ }
+ #region {
+ flow-from: f;
+ transform: rotate(90deg);
+ width: 100px;
+ height: 100px;
+ }
+ #green-rect {
+ position: absolute;
+ width: 100px;
+ height: 20px;
+ background-color: green;
+ top: 130px;
+ left: 8px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div class="ahem" id="named-flow">XXXXX</div>
+ <div id="region"></div>
+ <div id="green-rect"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-008.xht
new file mode 100644
index 00000000000..fd35c2e1d61
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-008.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (text) content that breaks across multiple regions and overflows</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer author" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-008-ref.xht" rel="match" />
+ <meta content="ahem" name="flags" />
+ <meta content="This test checks that named flow text content is transformed when it breaks across
+ multiple regions and that the overflow remains visible." name="assert" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ #named-flow {
+ color: green;
+ margin-left: -50px;
+ transform: translateX(50px);
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ border: 1px solid black;
+ flow-from: f;
+ }
+ .failure {
+ position: absolute;
+ width: 102px;
+ height: 102px;
+ margin-top: 1px;
+ margin-left: 10px;
+ padding-left: 1px;
+ color: red;
+ z-index: -1;
+ }
+ .left {
+ left: 8px;
+ }
+ .right {
+ left: 120px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="ahem" id="named-flow">XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX</div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+ <div class="ahem failure left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure right">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-009.xht
new file mode 100644
index 00000000000..51659352709
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-009.xht
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region with named flow (text) content that breaks across multiple regions and overflows</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-008-ref.xht" rel="match" />
+ <meta content="ahem" name="flags" />
+ <meta content="This test checks that the regions are transformed when named flow text content breaks
+ across multiple regions and that the overflow remains visible." name="assert" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ #named-flow {
+ color: green;
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ float: left;
+ margin-left: 10px;
+ border: 1px solid black;
+ flow-from: f;
+ transform: translateX(50px);
+ }
+ .failure-left,
+ .failure-right {
+ position: absolute;
+ width: 102px;
+ height: 102px;
+ margin-top: 1px;
+ margin-left: 10px;
+ padding-left: 1px;
+ color: red;
+ z-index: -1;
+ }
+ .left {
+ margin-left: -40px;
+ }
+ .failure-left {
+ left: 8px;
+ }
+ .failure-right {
+ left: 120px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if:</p>
+ <ul>
+ <li>The two squares each contain five green horizontal stripes</li>
+ <li>There are two green horizontal stripes below the square on right</li>
+ <li>There is no red</li>
+ </ul>
+ <div class="ahem" id="named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div class="region left"></div>
+ <div class="region"></div>
+ <div class="ahem failure-left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure-right">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-010.xht
new file mode 100644
index 00000000000..cd681f49aad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-010.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region with position: relative</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-010-ref.xht" rel="match" />
+ <meta content="This test checks that the transform can be applied on relative positioned region." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 200px;
+ height: 200px;
+ position: relative;
+ left: -50px;
+ flow-from: f;
+ transform: rotate(90deg);
+ }
+ #failure {
+ position: absolute;
+ width: 98px;
+ height: 98px;
+ left: 60px;
+ top: 50px;
+ background-color: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-011.xht
new file mode 100644
index 00000000000..d6661e1a03e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-011.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region where parent and child are separate named flow content nodes</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-010-ref.xht" rel="match" />
+ <meta content="This test checks that the region is transformed when a parent and its child are
+ separate named flow content nodes flowing into it." name="assert" />
+ <style>
+ #named-flow-parent {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #named-flow-child {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ transform: translateX(-50px) rotate(90deg);
+ transform-origin: right bottom;
+ }
+ #failure {
+ position: absolute;
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ left: 59px;
+ top: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow-parent">
+ <div id="named-flow-child"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-012.xht
new file mode 100644
index 00000000000..9db656b7990
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-012.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow content flowing into transformed region</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-010-ref.xht" rel="match" />
+ <meta content="This test checks that named flow text content is transformed when it flows into
+ a region that is also transformed." name="assert" />
+ <style>
+ #named-flow {
+ background-color: red;
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ transform: translateX(100px);
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ flow-from: f;
+ transform: translateX(50px);
+ }
+ #failure {
+ width: 98px;
+ height: 98px;
+ background-color: red;
+ position: absolute;
+ left: 59px;
+ top: 51px;
+ z-index: -1;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-013.xht
new file mode 100644
index 00000000000..e16a4feefb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-013.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (monolithic) content that breaks across multiple regions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#breaking-rules" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#monolithic" rel="help" />
+ <!-- This reference is for UAs that slice monolithic content -->
+ <link href="reference/regions-transforms-013-ref.xht" rel="match" />
+ <!-- This reference is for UAs that overflow monolithic content -->
+ <link href="reference/regions-transforms-013-alt-ref.xht" rel="match" />
+ <meta content="This test checks that the named flow content that is monolithic is transformed when it
+ breaks across multiple regions whether it is sliced or overflowed at the fragmentainer edge." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform: scaleY(2);
+ transform-origin: top left;
+ flow-into: f;
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ flow-from: f;
+ }
+ #region1 {
+ background-color: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see either two green squares or one vertical green rectangle. There should be no red.</p>
+ <div id="named-flow"></div>
+ <div class="region" id="region1"></div>
+ <div class="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-014.xht
new file mode 100644
index 00000000000..d40b40185c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-014.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transform region with position:absolute and transform-origin</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/regions-transforms-014-ref.xht" rel="match" />
+ <meta content="This test checks that the transform and transform-origin are applied to a region
+ with absolute positioning." name="assert" />
+ <style>
+ #named-flow {
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ flow-into: f;
+ }
+ #region {
+ width: 50px;
+ height: 50px;
+ background-color: red;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ flow-from: f;
+ transform: scale(2);
+ transform-origin: left top;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-015.xht
new file mode 100644
index 00000000000..a2058d805cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-015.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed named flow (non-text) content with transform-origin and position: absolute</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-014-ref.xht" rel="match" />
+ <meta content="This test checks that the transform and transform-origin are applied to named flow
+ content that flows into a region with absolute positioning." name="assert" /><style>
+ #named-flow {
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ transform: scale(2);
+ flow-into: f;
+ /* need to use transform-origin, otherwise scale will cause the green square to grow past the left &amp; top
+ edges of the region box */
+ transform-origin: left top;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ position: absolute;
+ left: 58px;
+ top: 100px;
+ z-index: 4;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-016.xht
new file mode 100644
index 00000000000..19ceec3d4a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-016.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title></title>
+ <title>CSS Regions: 3D transform on named flow content with perspective()</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-016-ref.xht" rel="match" />
+ <meta content="This test checks that a 3D transform is applied with perspective to named flow content." name="assert" />
+ <style>
+ #region {
+ width: 300px;
+ height: 300px;
+ position: relative;
+ flow-from: f;
+ }
+ #named-flow {
+ width: 200px;
+ height: 200px;
+ margin: 0 auto 60px;
+ background-color: green;
+ flow-into: f;
+ transform: perspective(600px) rotateX(45deg);
+ }
+ #div-red-parent {
+ position: relative;
+ }
+ .div-red {
+ width: 48px;
+ height: 48px;
+ position: absolute;
+ background-color: red;
+ }
+ #div-red1 {
+ left: 64px;
+ top: 38px;
+ }
+ #div-red2 {
+ left: 191px;
+ top: 38px;
+ }
+ #div-red3 {
+ left: 48px;
+ top: 131px;
+ }
+ #div-red4 {
+ left: 207px;
+ top: 131px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green trapezoid and no red.</p>
+ <!-- This test fails in WebKit. See this bug: https://bugs.webkit.org/show_bug.cgi?id=114293 -->
+ <div id="div-red-parent">
+ <div id="div-red1" class="div-red"></div>
+ <div id="div-red2" class="div-red"></div>
+ <div id="div-red3" class="div-red"></div>
+ <div id="div-red4" class="div-red"></div>
+ </div>
+ <div id="named-flow"></div>
+ <div id="region"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-017.xht
new file mode 100644
index 00000000000..84d9e2fa7ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-017.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Multiple transformed named flow content nodes that overflow a region</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="reviewer" title="Rebecca Hauck" /> <!-- 07-15-2013 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/regions-transforms-017-ref.xht" rel="match" />
+ <meta content="This test checks that multiple named flow content nodes are transformed into a region
+ and that the overflow remains visible." name="assert" />
+ <style>
+ #named-flow-parent {
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ transform: scaleY(2);
+ transform-origin: top left;
+ }
+ #named-flow-1 {
+ width: 100px;
+ height: 50px;
+ background-color: green;
+ }
+ #named-flow-2 {
+ width: 100px;
+ height: 50px;
+ background-color: blue;
+ }
+ #region {
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ flow-from: f;
+ }
+ #failure {
+ position: absolute;
+ background-color: red;
+ width: 98px;
+ height: 98px;
+ top: 151px;
+ left: 9px;
+ z-index: -1;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and a blue square below it, and no red.</p>
+ <div id="failure"></div>
+ <div id="named-flow-parent">
+ <div id="named-flow-1"></div>
+ <div id="named-flow-2"></div>
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-018.xht
new file mode 100644
index 00000000000..dab74c92b47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-018.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: 3D transform on named flow (text) content that overflows a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="Test checks that content that is transformed does not clip when flowed in a region." name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-018-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 100px;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateZ(90deg);
+ color: green;
+ }
+ #region {
+ flow-from: f;
+ border-bottom: 20px solid green;
+ width: 100px;
+ height: 80px;
+ }
+ #failure {
+ position: absolute;
+ width: 18px;
+ height: 78px;
+ background-color: red;
+ top: 151px;
+ left: 49px;
+ z-index: -1;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if you see a green cross and no red.</p>
+ <div class="ahem" id="named-flow">
+ XXXXXXXXX
+ </div>
+ <div id="region"></div>
+ <div id="failure"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-019.xht
new file mode 100644
index 00000000000..73aa7e5e3dd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-019.xht
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: 3D transform on named flow (text) content with perspective property set on region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-origin-property" rel="help" />
+ <!-- TODO: Link to fragmentation spec section about perspective, fragments and fragmentainers -
+ once this gets in the spec. -->
+ <meta content="Test checks that the 3D transform is applied named content flow, that the
+ perspective set on the region is applied, and that the content is not clipped when
+ the perspective is shifted" name="assert" />
+ <meta content="ahem" name="flags" />
+ <link href="reference/regions-transforms-019-ref.xht" rel="match" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ }
+ #named-flow {
+ flow-into: f;
+ transform: rotateY(45deg);
+ color: green;
+ }
+ #region {
+ flow-from: f;
+ perspective: 200px;
+ perspective-origin: 100% 50%;
+ width: 100px;
+ height: 100px;
+ margin: 20px;
+ }
+ /* Adding a red div that will be covered by the properly transformed
+ element with the perspective respected */
+ #failure {
+ position: absolute;
+ left: 25px;
+ width: 10px;
+ height: 112px;
+ background-color: red;
+ z-index: -1;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see a green trapezoid and no red.</p>
+ <div id="failure"></div>
+ <div class="ahem" id="named-flow">
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ xxxxx<br />
+ </div>
+ <div id="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-020.xht
new file mode 100644
index 00000000000..dd147e696c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-020.xht
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transformed region with named flow (fragmentable) content that breaks across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#breaking-rules" rel="help" />
+ <link href="reference/regions-transforms-020-ref.xht" rel="match" />
+ <meta content="This test checks that the named flow content that is fragmentable (has a break point)
+ is transformed when it breaks across multiple regions." name="assert" />
+ <style>
+ #named-flow {
+ width: 100px;
+ height: 100px;
+ flow-into: f;
+ }
+ .src-child {
+ height: 50px;
+ background-color: green;
+ }
+ .region {
+ width: 100px;
+ height: 50px;
+ margin-left: 10px;
+ float: left;
+ background-color: red;
+ flow-from: f;
+ transform: scaleY(2);
+ transform-origin: top left;
+ }
+
+ .failure-div {
+ position: absolute;
+ margin-left: 10px;
+ background-color: red;
+ width: 98px;
+ height: 98px;
+ }
+ .right {
+ left: 119px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div class="failure-div"></div>
+ <div class="failure-div right"></div>
+ <div id="named-flow">
+ <div class="src-child"></div>
+ <div class="src-child"></div>
+ </div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-021.xht
new file mode 100644
index 00000000000..24a18790895
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-021.xht
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transforms on multiple named flow (non-text) content nodes that break across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-020-ref.xht" rel="match" />
+ <meta content="This test checks that separate transforms can be applied to each named flow content
+ node that breaks across multiple regions and that each fragment has its own transform origin." name="assert" />
+ <style>
+ .named-flow {
+ float: left;
+ background-color: green;
+ flow-into: f;
+ }
+ #named-flow-1 {
+ margin-top: 25px;
+ margin-left: 25px;
+ width: 50px;
+ height: 50px;
+ transform: scale(2);
+ transform-origin: center center;
+ }
+ #named-flow-2 {
+ width: 100px;
+ height: 50px;
+ margin-top: 25px;
+ transform-origin: top left;
+ transform: scaleY(2);
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ background-color: red;
+ flow-from: f;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div id="named-flow-1" class="named-flow"></div>
+ <div id="named-flow-2" class="named-flow"></div>
+ <div class="region"></div>
+ <div class="region"></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-022.xht
new file mode 100644
index 00000000000..c389f79c6c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/regions-transforms-022.xht
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <meta charset="UTF-8" />
+ <title>CSS Regions: Transforms on multiple named flow (text) content nodes that break across multiple regions</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="mailto:mibalan@adobe.com" rel="reviewer" title="Mihai Balan" /> <!-- 2013-07-24 -->
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css3-break/#transforms" rel="help" />
+ <link href="reference/regions-transforms-020-ref.xht" rel="match" />
+ <meta content="ahem" name="flags" />
+ <meta content="This test checks that separate transforms can be applied to each named flow content
+ text node that breaks across multiple regions" name="assert" />
+ <style>
+ .ahem {
+ font-family: Ahem;
+ font-size: 10px;
+ line-height: 20px;
+ }
+ .named-flow {
+ width: 100px;
+ color: green;
+ flow-into: f;
+ }
+ #named-flow-1 {
+ margin-left: -50px;
+ transform: translateX(50px);
+ }
+ #named-flow-2 {
+ transform: rotate(90deg);
+ }
+ .region {
+ width: 100px;
+ height: 100px;
+ margin-left: 10px;
+ float: left;
+ flow-from: f;
+ }
+ .failure {
+ width: 100px;
+ height: 100px;
+ position: absolute;
+ float: left;
+ margin-left: 10px;
+ background-color: green;
+ z-index: -1;
+ }
+ .left {
+ color: red;
+ }
+ .right {
+ left: 118px;
+ }
+ .vertical-bar {
+ width: 10px;
+ height: 100px;
+ float: left;
+ background-color: red;
+ margin-left: 5px;
+ margin-right: 5px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see two green squares and no red.</p>
+ <div id="named-flow-1" class="ahem named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div id="named-flow-2" class="ahem named-flow">XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX</div>
+ <div class="region"></div>
+ <div class="region"></div>
+ <div class="ahem failure left">
+ XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX
+ </div>
+ <div class="ahem failure right">
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ <div class="vertical-bar"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-180-degrees-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-180-degrees-001.xht
new file mode 100644
index 00000000000..9b6b6bbb688
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-180-degrees-001.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CCSS Test: transform - rotate 180 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(180deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the top of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-270-degrees-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-270-degrees-001.xht
new file mode 100644
index 00000000000..c526243beb8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-270-degrees-001.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CCSS Test: transform - rotate 270 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(270deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the right of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-90-degrees-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-90-degrees-001.xht
new file mode 100644
index 00000000000..e03c5f584ac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate-90-degrees-001.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: transform - rotate 90 deg</title>
+ <link href="mailto:lmcliste@adobe.com" rel="author" title="Larry McLister" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <style type="text/css">
+ #greenBottomDiv {
+ background: green;
+ border-bottom-color: black;
+ border-left-color: transparent;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ border-width: 5px;
+ border-style: solid;
+ height: 100px;
+ position: absolute;
+ transform:
+ rotate(90deg);
+ width: 100px;
+ }
+
+ #redDiv {
+ position: absolute;
+ background: red;
+ height: 110px;
+ width: 110px;
+ }
+
+ </style>
+</head>
+<body>
+ <p>Test passes if there is a black line on the left of green box and no red.</p>
+ <div id="redDiv"></div>
+ <div id="greenBottomDiv"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotateY.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotateY.xht
new file mode 100644
index 00000000000..0203b800836
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotateY.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotateY</title>
+ <link href="mailto:zrxldl@gmail.com" rel="author" title="Zou Rui" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-05 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey" rel="help" />
+ <link href="reference/rotateY-ref.xht" rel="match" />
+ <meta content="When the value of transform is 'rotateY(90deg)', the foward side of a transformed element disappears." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: rotateY(90deg);
+ }
+
+ .container {
+ position: relative;
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <div class="greenSquare"></div>
+ <div class="redSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_45deg.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_45deg.xht
new file mode 100644
index 00000000000..c891a0ba993
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_45deg.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/rotate_45deg-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Rotate 45 degree in y axis" name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateY(45deg);
+ -webkit-transform: rotateY(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+ <p>45 degree rotate on y axis</p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_x_45deg.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_x_45deg.xht
new file mode 100644
index 00000000000..65ffedbd466
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_x_45deg.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateX with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/rotate_x_45deg-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Rotate 45 degree in y axis" name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateX(45deg);
+ //-webkit-transform: rotateX(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_y_45deg.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_y_45deg.xht
new file mode 100644
index 00000000000..44b50952aa6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/rotate_y_45deg.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/rotate_y_45deg-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="Rotate 45 degree in y axis" name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid black;
+ height: 100px;
+ width: 100px;
+ background-color:#fff;
+ }
+ .transformed {
+ transform: rotateY(45deg);
+ //-webkit-transform: rotateY(45deg);
+ background-color:green;
+ height: 100px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>There is one green area in the box</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-optional-second-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-optional-second-001.xht
new file mode 100644
index 00000000000..7b84d476944
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-optional-second-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and one parameter</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/scale-optional-second-ref.xht" rel="match" />
+ <meta content="If the second parameter of scale function is not provided, it takes a value equal to the first. This transform causes the element to appear twice as long in both the X and Y axes." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform:scale(2);
+ }
+ .redSquare {
+ position: absolute;
+ top: 51px;
+ left: 51px;
+ width: 198px;
+ height: 198px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-zero-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-zero-001.xht
new file mode 100644
index 00000000000..7275d5aeeef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scale-zero-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and zero values</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/scale-zero-ref.xht" rel="match" />
+ <meta content="If zero value is passed to scale function, it causes the element to disappear." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: scale(0);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="greenSquare"></div>
+ <div class="redSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scalex.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scalex.xht
new file mode 100644
index 00000000000..dd7375b6044
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scalex.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test scale x</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/scalex-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="scale x 2" name="assert" />
+ <style type="text/css">
+ .container {
+ z-index: 11;
+ position: absolute;
+ height: 100px;
+ width: 100px;
+ margin-left: 500px;
+ transform: scaleX(2);
+ //-webkit-transform: scaleX(2);
+ background-color: green;
+ }
+
+ .hidden {
+ z-index: 10;
+ background-color: red;
+ position: absolute;
+ height: 100px;
+ width: 200px;
+ margin-left: 450px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p>You should see only 1 green area, no red area.</p>
+ <div class="container">
+ </div>
+ <div class="hidden">
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scaley.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scaley.xht
new file mode 100644
index 00000000000..06b5615217e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/scaley.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test scale y</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/scaley-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="scale y 2" name="assert" />
+ <style type="text/css">
+ .container {
+ position: absolute;
+ z-index: 11;
+ height: 100px;
+ width: 100px;
+ background-color:green;
+ margin-top: 200px;
+ transform: scaleY(2);
+ //-webkit-transform: scaleY(2);
+ }
+
+ .hidden {
+ position: absolute;
+ z-index: 10;
+ height: 200px;
+ width: 100px;
+ background-color:red;
+ margin-top: 150px;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only 1 green area</p>
+ <div class="container">
+ </div>
+
+ <div class="hidden">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/skew-test1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/skew-test1.xht
new file mode 100644
index 00000000000..ac40444387c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/skew-test1.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <meta charset="utf-8" />
+ <title>Testing 1 - skew()</title>
+ <link href="mailto:mymygo@gmail.com" rel="author" title="Myriam Goude" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/skew-test1-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The lime square in this test has a skew method applied : 30deg on x and 20deg on y. The red polygon should be totally hidden by the lime skewed square. Both start at 0,0" name="assert" />
+ <style>
+
+ h4 {clear:both;}
+
+ /* Test 1 - skew on block types */
+
+ svg {
+ position:absolute;
+ }
+
+ div {
+ width:150px;
+ height:150px;
+ background-color:lime;
+ }
+
+ .skew_div {
+
+ transform: skew(30deg,20deg);
+ transform-origin:0 0;
+ }
+
+ </style>
+</head>
+<body>
+
+ <h3>
+ Test 1 - Tests with degrees on block elements.
+ </h3>
+ <h4>
+ There should be a green block on the page
+ </h4>
+ <svg xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <polygon style="fill:red" points="0,0 150,55 235,205 88,150"></polygon>
+ </svg>
+
+ <div class="skew_div">
+ </div>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-green.png
new file mode 100644
index 00000000000..b98ca0ba0a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-lime.png
new file mode 100644
index 00000000000..cb397fb090e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-maroon.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-maroon.png
new file mode 100644
index 00000000000..3f86b072195
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-maroon.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-navy.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-navy.png
new file mode 100644
index 00000000000..9b9a03955ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-navy.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-red.png
new file mode 100644
index 00000000000..6bd73ac1018
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-white.png
new file mode 100644
index 00000000000..dd43faec54a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/1x1-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/3d-filler.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/3d-filler.html
new file mode 100644
index 00000000000..11e7649eb08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/3d-filler.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+ <meta charset="UTF-8">
+ <title>3D transformed Lorem Ipsum</title>
+ <style>
+ body > p {
+ font-family: Ahem;
+ font-size: 20px;
+ line-height: 1em;
+ color: green;
+ float: left;
+ position: relative;
+ }
+ .transformed {
+ transform: rotateX(0.001deg) rotateZ(-90deg);
+ transform-origin: top center;
+ }
+ .front {
+ z-index: 10;
+ }
+ .back {
+ z-index: 0;
+ }
+ .marker {
+ color: red;
+ }
+ </style>
+</head>
+<body>
+ <p class="transformed front">
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ xxxxx<br>
+ </p>
+ <p class="marker back">
+ xx<br>
+ xx
+ </p>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-gg-rr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-gg-rr.png
new file mode 100644
index 00000000000..84f5b2a4f1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-gg-rr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-green.png
new file mode 100644
index 00000000000..b3c8cf3eb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-red.png
new file mode 100644
index 00000000000..823f125b8e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/60x60-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/Three.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/Three.js
new file mode 100644
index 00000000000..60747148474
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/Three.js
@@ -0,0 +1,682 @@
+// Three.js r44 - http://github.com/mrdoob/three.js
+var THREE=THREE||{};if(!window.Int32Array)window.Int32Array=Array,window.Float32Array=Array;THREE.Color=function(b){b!==void 0&&this.setHex(b);return this};
+THREE.Color.prototype={constructor:THREE.Color,r:1,g:1,b:1,copy:function(b){this.r=b.r;this.g=b.g;this.b=b.b;return this},setRGB:function(b,c,e){this.r=b;this.g=c;this.b=e;return this},setHSV:function(b,c,e){var f,h,m;if(e==0)this.r=this.g=this.b=0;else switch(f=Math.floor(b*6),h=b*6-f,b=e*(1-c),m=e*(1-c*h),c=e*(1-c*(1-h)),f){case 1:this.r=m;this.g=e;this.b=b;break;case 2:this.r=b;this.g=e;this.b=c;break;case 3:this.r=b;this.g=m;this.b=e;break;case 4:this.r=c;this.g=b;this.b=e;break;case 5:this.r=
+e;this.g=b;this.b=m;break;case 6:case 0:this.r=e,this.g=c,this.b=b}return this},setHex:function(b){b=Math.floor(b);this.r=(b>>16&255)/255;this.g=(b>>8&255)/255;this.b=(b&255)/255;return this},getHex:function(){return~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}};
+THREE.Vector2=function(b,c){this.x=b||0;this.y=c||0};
+THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(b,c){this.x=b;this.y=c;return this},copy:function(b){this.x=b.x;this.y=b.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;return this},
+divideScalar:function(b){b?(this.x/=b,this.y/=b):this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){var c=this.x-b.x,b=this.y-b.y;return c*c+b*b},setLength:function(b){return this.normalize().multiplyScalar(b)},
+equals:function(b){return b.x==this.x&&b.y==this.y}};THREE.Vector3=function(b,c,e){this.x=b||0;this.y=c||0;this.z=e||0};
+THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(b,c,e){this.x=b;this.y=c;this.z=e;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;return this},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;return this},addScalar:function(b){this.x+=b;this.y+=b;this.z+=b;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=
+b.z-c.z;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;return this},multiply:function(b,c){this.x=b.x*c.x;this.y=b.y*c.y;this.z=b.z*c.z;return this},multiplySelf:function(b){this.x*=b.x;this.y*=b.y;this.z*=b.z;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;return this},divideSelf:function(b){this.x/=b.x;this.y/=b.y;this.z/=b.z;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b):this.set(0,0,0);return this},negate:function(){return this.multiplyScalar(-1)},
+dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return this.x+this.y+this.z},normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},cross:function(b,c){this.x=b.y*c.z-b.z*c.y;this.y=b.z*c.x-b.x*c.z;this.z=b.x*c.y-b.y*c.x;return this},crossSelf:function(b){return this.set(this.y*
+b.z-this.z*b.y,this.z*b.x-this.x*b.z,this.x*b.y-this.y*b.x)},distanceTo:function(b){return Math.sqrt(this.distanceToSquared(b))},distanceToSquared:function(b){return(new THREE.Vector3).sub(this,b).lengthSq()},setPositionFromMatrix:function(b){this.x=b.n14;this.y=b.n24;this.z=b.n34},setRotationFromMatrix:function(b){var c=Math.cos(this.y);this.y=Math.asin(b.n13);Math.abs(c)>1.0E-5?(this.x=Math.atan2(-b.n23/c,b.n33/c),this.z=Math.atan2(-b.n12/c,b.n11/c)):(this.x=0,this.z=Math.atan2(b.n21,b.n22))},isZero:function(){return this.lengthSq()<
+1.0E-4}};THREE.Vector4=function(b,c,e,f){this.x=b||0;this.y=c||0;this.z=e||0;this.w=f||1};
+THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w||1},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},add:function(b,c){this.x=b.x+c.x;this.y=b.y+c.y;this.z=b.z+c.z;this.w=b.w+c.w;return this},addSelf:function(b){this.x+=b.x;this.y+=b.y;this.z+=b.z;this.w+=b.w;return this},sub:function(b,c){this.x=b.x-c.x;this.y=b.y-c.y;this.z=b.z-c.z;this.w=
+b.w-c.w;return this},subSelf:function(b){this.x-=b.x;this.y-=b.y;this.z-=b.z;this.w-=b.w;return this},multiplyScalar:function(b){this.x*=b;this.y*=b;this.z*=b;this.w*=b;return this},divideScalar:function(b){b?(this.x/=b,this.y/=b,this.z/=b,this.w/=b):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(b){return this.x*b.x+this.y*b.y+this.z*b.z+this.w*b.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},
+normalize:function(){return this.divideScalar(this.length())},setLength:function(b){return this.normalize().multiplyScalar(b)},lerpSelf:function(b,c){this.x+=(b.x-this.x)*c;this.y+=(b.y-this.y)*c;this.z+=(b.z-this.z)*c;this.w+=(b.w-this.w)*c;return this}};THREE.Ray=function(b,c){this.origin=b||new THREE.Vector3;this.direction=c||new THREE.Vector3};
+THREE.Ray.prototype={constructor:THREE.Ray,intersectScene:function(b){return this.intersectObjects(b.objects)},intersectObjects:function(b){var c,e,f=[];c=0;for(e=b.length;c<e;c++)f=f.concat(this.intersectObject(b[c]));f.sort(function(b,e){return b.distance-e.distance});return f},intersectObject:function(b){function c(b,e,c){var f;f=c.clone().subSelf(b).dot(e);if(f<=0)return null;b=b.clone().addSelf(e.clone().multiplyScalar(f));return c.distanceTo(b)}function e(b,e,c,f){var f=f.clone().subSelf(e),
+c=c.clone().subSelf(e),h=b.clone().subSelf(e),b=f.dot(f),e=f.dot(c),f=f.dot(h),k=c.dot(c),c=c.dot(h),h=1/(b*k-e*e),k=(k*f-e*c)*h,b=(b*c-e*f)*h;return k>0&&b>0&&k+b<1}if(b instanceof THREE.Particle){var f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.scale.x)return[];return[{distance:f,point:b.position,face:null,object:b}]}else if(b instanceof THREE.Mesh){f=c(this.origin,this.direction,b.matrixWorld.getPosition());if(f==null||f>b.geometry.boundingSphere.radius*Math.max(b.scale.x,
+Math.max(b.scale.y,b.scale.z)))return[];var h,m,k,n,u,p,v,t,x,w,z=b.geometry,y=z.vertices,B=[],f=0;for(h=z.faces.length;f<h;f++)if(m=z.faces[f],x=this.origin.clone(),w=this.direction.clone(),p=b.matrixWorld,k=p.multiplyVector3(m.centroid.clone()).subSelf(x),t=k.dot(w),!(t<=0)&&(k=p.multiplyVector3(y[m.a].position.clone()),n=p.multiplyVector3(y[m.b].position.clone()),u=p.multiplyVector3(y[m.c].position.clone()),p=m instanceof THREE.Face4?p.multiplyVector3(y[m.d].position.clone()):null,v=b.matrixRotationWorld.multiplyVector3(m.normal.clone()),
+t=w.dot(v),b.doubleSided||(b.flipSided?t>0:t<0)))if(t=v.dot((new THREE.Vector3).sub(k,x))/t,x=x.addSelf(w.multiplyScalar(t)),m instanceof THREE.Face3)e(x,k,n,u)&&(m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m));else if(m instanceof THREE.Face4&&(e(x,k,n,p)||e(x,n,u,p)))m={distance:this.origin.distanceTo(x),point:x,face:m,object:b},B.push(m);B.sort(function(b,e){return b.distance-e.distance});return B}else return[]}};
+THREE.Rectangle=function(){function b(){m=f-c;k=h-e}var c,e,f,h,m,k,n=!0;this.getX=function(){return c};this.getY=function(){return e};this.getWidth=function(){return m};this.getHeight=function(){return k};this.getLeft=function(){return c};this.getTop=function(){return e};this.getRight=function(){return f};this.getBottom=function(){return h};this.set=function(k,m,v,t){n=!1;c=k;e=m;f=v;h=t;b()};this.addPoint=function(k,m){n?(n=!1,c=k,e=m,f=k,h=m):(c=c<k?c:k,e=e<m?e:m,f=f>k?f:k,h=h>m?h:m);b()};this.add3Points=
+function(k,m,v,t,x,w){n?(n=!1,c=k<v?k<x?k:x:v<x?v:x,e=m<t?m<w?m:w:t<w?t:w,f=k>v?k>x?k:x:v>x?v:x,h=m>t?m>w?m:w:t>w?t:w):(c=k<v?k<x?k<c?k:c:x<c?x:c:v<x?v<c?v:c:x<c?x:c,e=m<t?m<w?m<e?m:e:w<e?w:e:t<w?t<e?t:e:w<e?w:e,f=k>v?k>x?k>f?k:f:x>f?x:f:v>x?v>f?v:f:x>f?x:f,h=m>t?m>w?m>h?m:h:w>h?w:h:t>w?t>h?t:h:w>h?w:h);b()};this.addRectangle=function(k){n?(n=!1,c=k.getLeft(),e=k.getTop(),f=k.getRight(),h=k.getBottom()):(c=c<k.getLeft()?c:k.getLeft(),e=e<k.getTop()?e:k.getTop(),f=f>k.getRight()?f:k.getRight(),h=h>
+k.getBottom()?h:k.getBottom());b()};this.inflate=function(k){c-=k;e-=k;f+=k;h+=k;b()};this.minSelf=function(k){c=c>k.getLeft()?c:k.getLeft();e=e>k.getTop()?e:k.getTop();f=f<k.getRight()?f:k.getRight();h=h<k.getBottom()?h:k.getBottom();b()};this.instersects=function(b){return Math.min(f,b.getRight())-Math.max(c,b.getLeft())>=0&&Math.min(h,b.getBottom())-Math.max(e,b.getTop())>=0};this.empty=function(){n=!0;h=f=e=c=0;b()};this.isEmpty=function(){return n}};THREE.Matrix3=function(){this.m=[]};
+THREE.Matrix3.prototype={constructor:THREE.Matrix3,transpose:function(){var b,c=this.m;b=c[1];c[1]=c[3];c[3]=b;b=c[2];c[2]=c[6];c[6]=b;b=c[5];c[5]=c[7];c[7]=b;return this},transposeIntoArray:function(b){var c=this.m;b[0]=c[0];b[1]=c[3];b[2]=c[6];b[3]=c[1];b[4]=c[4];b[5]=c[7];b[6]=c[2];b[7]=c[5];b[8]=c[8];return this}};THREE.Matrix4=function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.set(b||1,c||0,e||0,f||0,h||0,m||1,k||0,n||0,u||0,p||0,v||1,t||0,x||0,w||0,z||0,y||1);this.flat=Array(16);this.m33=new THREE.Matrix3};
+THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(b,c,e,f,h,m,k,n,u,p,v,t,x,w,z,y){this.n11=b;this.n12=c;this.n13=e;this.n14=f;this.n21=h;this.n22=m;this.n23=k;this.n24=n;this.n31=u;this.n32=p;this.n33=v;this.n34=t;this.n41=x;this.n42=w;this.n43=z;this.n44=y;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(b){this.set(b.n11,b.n12,b.n13,b.n14,b.n21,b.n22,b.n23,b.n24,b.n31,b.n32,b.n33,b.n34,b.n41,b.n42,b.n43,b.n44);return this},lookAt:function(b,
+c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;m.sub(b,c).normalize();if(m.length()===0)m.z=1;f.cross(e,m).normalize();f.length()===0&&(m.x+=1.0E-4,f.cross(e,m).normalize());h.cross(m,f).normalize();this.n11=f.x;this.n12=h.x;this.n13=m.x;this.n21=f.y;this.n22=h.y;this.n23=m.y;this.n31=f.z;this.n32=h.z;this.n33=m.z;return this},multiplyVector3:function(b){var c=b.x,e=b.y,f=b.z,h=1/(this.n41*c+this.n42*e+this.n43*f+this.n44);b.x=(this.n11*c+this.n12*e+this.n13*f+this.n14)*h;
+b.y=(this.n21*c+this.n22*e+this.n23*f+this.n24)*h;b.z=(this.n31*c+this.n32*e+this.n33*f+this.n34)*h;return b},multiplyVector4:function(b){var c=b.x,e=b.y,f=b.z,h=b.w;b.x=this.n11*c+this.n12*e+this.n13*f+this.n14*h;b.y=this.n21*c+this.n22*e+this.n23*f+this.n24*h;b.z=this.n31*c+this.n32*e+this.n33*f+this.n34*h;b.w=this.n41*c+this.n42*e+this.n43*f+this.n44*h;return b},rotateAxis:function(b){var c=b.x,e=b.y,f=b.z;b.x=c*this.n11+e*this.n12+f*this.n13;b.y=c*this.n21+e*this.n22+f*this.n23;b.z=c*this.n31+
+e*this.n32+f*this.n33;b.normalize();return b},crossVector:function(b){var c=new THREE.Vector4;c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=b.w?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44,G=c.n11,H=c.n12,
+E=c.n13,N=c.n14,F=c.n21,I=c.n22,C=c.n23,K=c.n24,U=c.n31,L=c.n32,O=c.n33,S=c.n34,P=c.n41,o=c.n42,W=c.n43,na=c.n44;this.n11=e*G+f*F+h*U+m*P;this.n12=e*H+f*I+h*L+m*o;this.n13=e*E+f*C+h*O+m*W;this.n14=e*N+f*K+h*S+m*na;this.n21=k*G+n*F+u*U+p*P;this.n22=k*H+n*I+u*L+p*o;this.n23=k*E+n*C+u*O+p*W;this.n24=k*N+n*K+u*S+p*na;this.n31=v*G+t*F+x*U+w*P;this.n32=v*H+t*I+x*L+w*o;this.n33=v*E+t*C+x*O+w*W;this.n34=v*N+t*K+x*S+w*na;this.n41=z*G+y*F+B*U+D*P;this.n42=z*H+y*I+B*L+D*o;this.n43=z*E+y*C+B*O+D*W;this.n44=z*
+N+y*K+B*S+D*na;return this},multiplyToArray:function(b,c,e){this.multiply(b,c);e[0]=this.n11;e[1]=this.n21;e[2]=this.n31;e[3]=this.n41;e[4]=this.n12;e[5]=this.n22;e[6]=this.n32;e[7]=this.n42;e[8]=this.n13;e[9]=this.n23;e[10]=this.n33;e[11]=this.n43;e[12]=this.n14;e[13]=this.n24;e[14]=this.n34;e[15]=this.n44;return this},multiplySelf:function(b){this.multiply(this,b);return this},multiplyScalar:function(b){this.n11*=b;this.n12*=b;this.n13*=b;this.n14*=b;this.n21*=b;this.n22*=b;this.n23*=b;this.n24*=
+b;this.n31*=b;this.n32*=b;this.n33*=b;this.n34*=b;this.n41*=b;this.n42*=b;this.n43*=b;this.n44*=b;return this},determinant:function(){var b=this.n11,c=this.n12,e=this.n13,f=this.n14,h=this.n21,m=this.n22,k=this.n23,n=this.n24,u=this.n31,p=this.n32,v=this.n33,t=this.n34,x=this.n41,w=this.n42,z=this.n43,y=this.n44;return f*k*p*x-e*n*p*x-f*m*v*x+c*n*v*x+e*m*t*x-c*k*t*x-f*k*u*w+e*n*u*w+f*h*v*w-b*n*v*w-e*h*t*w+b*k*t*w+f*m*u*z-c*n*u*z-f*h*p*z+b*n*p*z+c*h*t*z-b*m*t*z-e*m*u*y+c*k*u*y+e*h*p*y-b*k*p*y-c*h*
+v*y+b*m*v*y},transpose:function(){var b;b=this.n21;this.n21=this.n12;this.n12=b;b=this.n31;this.n31=this.n13;this.n13=b;b=this.n32;this.n32=this.n23;this.n23=b;b=this.n41;this.n41=this.n14;this.n14=b;b=this.n42;this.n42=this.n24;this.n24=b;b=this.n43;this.n43=this.n34;this.n43=b;return this},clone:function(){var b=new THREE.Matrix4;b.n11=this.n11;b.n12=this.n12;b.n13=this.n13;b.n14=this.n14;b.n21=this.n21;b.n22=this.n22;b.n23=this.n23;b.n24=this.n24;b.n31=this.n31;b.n32=this.n32;b.n33=this.n33;b.n34=
+this.n34;b.n41=this.n41;b.n42=this.n42;b.n43=this.n43;b.n44=this.n44;return b},flatten:function(){this.flat[0]=this.n11;this.flat[1]=this.n21;this.flat[2]=this.n31;this.flat[3]=this.n41;this.flat[4]=this.n12;this.flat[5]=this.n22;this.flat[6]=this.n32;this.flat[7]=this.n42;this.flat[8]=this.n13;this.flat[9]=this.n23;this.flat[10]=this.n33;this.flat[11]=this.n43;this.flat[12]=this.n14;this.flat[13]=this.n24;this.flat[14]=this.n34;this.flat[15]=this.n44;return this.flat},flattenToArray:function(b){b[0]=
+this.n11;b[1]=this.n21;b[2]=this.n31;b[3]=this.n41;b[4]=this.n12;b[5]=this.n22;b[6]=this.n32;b[7]=this.n42;b[8]=this.n13;b[9]=this.n23;b[10]=this.n33;b[11]=this.n43;b[12]=this.n14;b[13]=this.n24;b[14]=this.n34;b[15]=this.n44;return b},flattenToArrayOffset:function(b,c){b[c]=this.n11;b[c+1]=this.n21;b[c+2]=this.n31;b[c+3]=this.n41;b[c+4]=this.n12;b[c+5]=this.n22;b[c+6]=this.n32;b[c+7]=this.n42;b[c+8]=this.n13;b[c+9]=this.n23;b[c+10]=this.n33;b[c+11]=this.n43;b[c+12]=this.n14;b[c+13]=this.n24;b[c+14]=
+this.n34;b[c+15]=this.n44;return b},setTranslation:function(b,c,e){this.set(1,0,0,b,0,1,0,c,0,0,1,e,0,0,0,1);return this},setScale:function(b,c,e){this.set(b,0,0,0,0,c,0,0,0,0,e,0,0,0,0,1);return this},setRotationX:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(1,0,0,0,0,c,-b,0,0,b,c,0,0,0,0,1);return this},setRotationY:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,0,b,0,0,1,0,0,-b,0,c,0,0,0,0,1);return this},setRotationZ:function(b){var c=Math.cos(b),b=Math.sin(b);this.set(c,-b,0,
+0,b,c,0,0,0,0,1,0,0,0,0,1);return this},setRotationAxis:function(b,c){var e=Math.cos(c),f=Math.sin(c),h=1-e,m=b.x,k=b.y,n=b.z,u=h*m,p=h*k;this.set(u*m+e,u*k-f*n,u*n+f*k,0,u*k+f*n,p*k+e,p*n-f*m,0,u*n-f*k,p*n+f*m,h*n*n+e,0,0,0,0,1);return this},setPosition:function(b){this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},getPosition:function(){if(!this.position)this.position=new THREE.Vector3;this.position.set(this.n14,this.n24,this.n34);return this.position},getColumnX:function(){if(!this.columnX)this.columnX=
+new THREE.Vector3;this.columnX.set(this.n11,this.n21,this.n31);return this.columnX},getColumnY:function(){if(!this.columnY)this.columnY=new THREE.Vector3;this.columnY.set(this.n12,this.n22,this.n32);return this.columnY},getColumnZ:function(){if(!this.columnZ)this.columnZ=new THREE.Vector3;this.columnZ.set(this.n13,this.n23,this.n33);return this.columnZ},setRotationFromEuler:function(b,c){var e=b.x,f=b.y,h=b.z,m=Math.cos(e),e=Math.sin(e),k=Math.cos(f),f=Math.sin(f),n=Math.cos(h),h=Math.sin(h);switch(c){case "YXZ":var u=
+k*n,p=k*h,v=f*n,t=f*h;this.n11=u+t*e;this.n12=v*e-p;this.n13=m*f;this.n21=m*h;this.n22=m*n;this.n23=-e;this.n31=p*e-v;this.n32=t+u*e;this.n33=m*k;break;case "ZXY":u=k*n;p=k*h;v=f*n;t=f*h;this.n11=u-t*e;this.n12=-m*h;this.n13=v+p*e;this.n21=p+v*e;this.n22=m*n;this.n23=t-u*e;this.n31=-m*f;this.n32=e;this.n33=m*k;break;case "ZYX":u=m*n;p=m*h;v=e*n;t=e*h;this.n11=k*n;this.n12=v*f-p;this.n13=u*f+t;this.n21=k*h;this.n22=t*f+u;this.n23=p*f-v;this.n31=-f;this.n32=e*k;this.n33=m*k;break;case "YZX":u=m*k;p=
+m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=t-u*h;this.n13=v*h+p;this.n21=h;this.n22=m*n;this.n23=-e*n;this.n31=-f*n;this.n32=p*h+v;this.n33=u-t*h;break;case "XZY":u=m*k;p=m*f;v=e*k;t=e*f;this.n11=k*n;this.n12=-h;this.n13=f*n;this.n21=u*h+t;this.n22=m*n;this.n23=p*h-v;this.n31=v*h-p;this.n32=e*n;this.n33=t*h+u;break;default:u=m*n,p=m*h,v=e*n,t=e*h,this.n11=k*n,this.n12=-k*h,this.n13=f,this.n21=p+v*f,this.n22=u-t*f,this.n23=-e*k,this.n31=t-u*f,this.n32=v+p*f,this.n33=m*k}return this},setRotationFromQuaternion:function(b){var c=
+b.x,e=b.y,f=b.z,h=b.w,m=c+c,k=e+e,n=f+f,b=c*m,u=c*k;c*=n;var p=e*k;e*=n;f*=n;m*=h;k*=h;h*=n;this.n11=1-(p+f);this.n12=u-h;this.n13=c+k;this.n21=u+h;this.n22=1-(b+f);this.n23=e-m;this.n31=c-k;this.n32=e+m;this.n33=1-(b+p);return this},scale:function(b){var c=b.x,e=b.y,b=b.z;this.n11*=c;this.n12*=e;this.n13*=b;this.n21*=c;this.n22*=e;this.n23*=b;this.n31*=c;this.n32*=e;this.n33*=b;this.n41*=c;this.n42*=e;this.n43*=b;return this},compose:function(b,c,e){var f=THREE.Matrix4.__m1,h=THREE.Matrix4.__m2;
+f.identity();f.setRotationFromQuaternion(c);h.setScale(e.x,e.y,e.z);this.multiply(f,h);this.n14=b.x;this.n24=b.y;this.n34=b.z;return this},decompose:function(b,c,e){var f=THREE.Matrix4.__v1,h=THREE.Matrix4.__v2,m=THREE.Matrix4.__v3;f.set(this.n11,this.n21,this.n31);h.set(this.n12,this.n22,this.n32);m.set(this.n13,this.n23,this.n33);b=b instanceof THREE.Vector3?b:new THREE.Vector3;c=c instanceof THREE.Quaternion?c:new THREE.Quaternion;e=e instanceof THREE.Vector3?e:new THREE.Vector3;e.x=f.length();
+e.y=h.length();e.z=m.length();b.x=this.n14;b.y=this.n24;b.z=this.n34;f=THREE.Matrix4.__m1;f.copy(this);f.n11/=e.x;f.n21/=e.x;f.n31/=e.x;f.n12/=e.y;f.n22/=e.y;f.n32/=e.y;f.n13/=e.z;f.n23/=e.z;f.n33/=e.z;c.setFromRotationMatrix(f);return[b,c,e]},extractPosition:function(b){this.n14=b.n14;this.n24=b.n24;this.n34=b.n34},extractRotation:function(b,c){var e=1/c.x,f=1/c.y,h=1/c.z;this.n11=b.n11*e;this.n21=b.n21*e;this.n31=b.n31*e;this.n12=b.n12*f;this.n22=b.n22*f;this.n32=b.n32*f;this.n13=b.n13*h;this.n23=
+b.n23*h;this.n33=b.n33*h}};
+THREE.Matrix4.makeInvert=function(b,c){var e=b.n11,f=b.n12,h=b.n13,m=b.n14,k=b.n21,n=b.n22,u=b.n23,p=b.n24,v=b.n31,t=b.n32,x=b.n33,w=b.n34,z=b.n41,y=b.n42,B=b.n43,D=b.n44;c===void 0&&(c=new THREE.Matrix4);c.n11=u*w*y-p*x*y+p*t*B-n*w*B-u*t*D+n*x*D;c.n12=m*x*y-h*w*y-m*t*B+f*w*B+h*t*D-f*x*D;c.n13=h*p*y-m*u*y+m*n*B-f*p*B-h*n*D+f*u*D;c.n14=m*u*t-h*p*t-m*n*x+f*p*x+h*n*w-f*u*w;c.n21=p*x*z-u*w*z-p*v*B+k*w*B+u*v*D-k*x*D;c.n22=h*w*z-m*x*z+m*v*B-e*w*B-h*v*D+e*x*D;c.n23=m*u*z-h*p*z-m*k*B+e*p*B+h*k*D-e*u*D;c.n24=
+h*p*v-m*u*v+m*k*x-e*p*x-h*k*w+e*u*w;c.n31=n*w*z-p*t*z+p*v*y-k*w*y-n*v*D+k*t*D;c.n32=m*t*z-f*w*z-m*v*y+e*w*y+f*v*D-e*t*D;c.n33=h*p*z-m*n*z+m*k*y-e*p*y-f*k*D+e*n*D;c.n34=m*n*v-f*p*v-m*k*t+e*p*t+f*k*w-e*n*w;c.n41=u*t*z-n*x*z-u*v*y+k*x*y+n*v*B-k*t*B;c.n42=f*x*z-h*t*z+h*v*y-e*x*y-f*v*B+e*t*B;c.n43=h*n*z-f*u*z-h*k*y+e*u*y+f*k*B-e*n*B;c.n44=f*u*v-h*n*v+h*k*t-e*u*t-f*k*x+e*n*x;c.multiplyScalar(1/b.determinant());return c};
+THREE.Matrix4.makeInvert3x3=function(b){var c=b.m33,e=c.m,f=b.n33*b.n22-b.n32*b.n23,h=-b.n33*b.n21+b.n31*b.n23,m=b.n32*b.n21-b.n31*b.n22,k=-b.n33*b.n12+b.n32*b.n13,n=b.n33*b.n11-b.n31*b.n13,u=-b.n32*b.n11+b.n31*b.n12,p=b.n23*b.n12-b.n22*b.n13,v=-b.n23*b.n11+b.n21*b.n13,t=b.n22*b.n11-b.n21*b.n12,b=b.n11*f+b.n21*k+b.n31*p;b==0&&console.error("THREE.Matrix4.makeInvert3x3: Matrix not invertible.");b=1/b;e[0]=b*f;e[1]=b*h;e[2]=b*m;e[3]=b*k;e[4]=b*n;e[5]=b*u;e[6]=b*p;e[7]=b*v;e[8]=b*t;return c};
+THREE.Matrix4.makeFrustum=function(b,c,e,f,h,m){var k;k=new THREE.Matrix4;k.n11=2*h/(c-b);k.n12=0;k.n13=(c+b)/(c-b);k.n14=0;k.n21=0;k.n22=2*h/(f-e);k.n23=(f+e)/(f-e);k.n24=0;k.n31=0;k.n32=0;k.n33=-(m+h)/(m-h);k.n34=-2*m*h/(m-h);k.n41=0;k.n42=0;k.n43=-1;k.n44=0;return k};THREE.Matrix4.makePerspective=function(b,c,e,f){var h,b=e*Math.tan(b*Math.PI/360);h=-b;return THREE.Matrix4.makeFrustum(h*c,b*c,h,b,e,f)};
+THREE.Matrix4.makeOrtho=function(b,c,e,f,h,m){var k,n,u,p;k=new THREE.Matrix4;n=c-b;u=e-f;p=m-h;k.n11=2/n;k.n12=0;k.n13=0;k.n14=-((c+b)/n);k.n21=0;k.n22=2/u;k.n23=0;k.n24=-((e+f)/u);k.n31=0;k.n32=0;k.n33=-2/p;k.n34=-((m+h)/p);k.n41=0;k.n42=0;k.n43=0;k.n44=1;return k};THREE.Matrix4.__v1=new THREE.Vector3;THREE.Matrix4.__v2=new THREE.Vector3;THREE.Matrix4.__v3=new THREE.Vector3;THREE.Matrix4.__m1=new THREE.Matrix4;THREE.Matrix4.__m2=new THREE.Matrix4;
+THREE.Object3D=function(){this.id=THREE.Object3DCount++;this.name="";this.parent=void 0;this.children=[];this.up=new THREE.Vector3(0,1,0);this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.eulerOrder="XYZ";this.scale=new THREE.Vector3(1,1,1);this.flipSided=this.doubleSided=this.dynamic=!1;this.renderDepth=null;this.rotationAutoUpdate=!0;this.matrix=new THREE.Matrix4;this.matrixWorld=new THREE.Matrix4;this.matrixRotationWorld=new THREE.Matrix4;this.matrixWorldNeedsUpdate=this.matrixAutoUpdate=
+!0;this.quaternion=new THREE.Quaternion;this.useQuaternion=!1;this.boundRadius=0;this.boundRadiusScale=1;this.visible=!0;this.receiveShadow=this.castShadow=!1;this.frustumCulled=!0;this._vector=new THREE.Vector3};
+THREE.Object3D.prototype={constructor:THREE.Object3D,translate:function(b,c){this.matrix.rotateAxis(c);this.position.addSelf(c.multiplyScalar(b))},translateX:function(b){this.translate(b,this._vector.set(1,0,0))},translateY:function(b){this.translate(b,this._vector.set(0,1,0))},translateZ:function(b){this.translate(b,this._vector.set(0,0,1))},lookAt:function(b){this.matrix.lookAt(b,this.position,this.up);this.rotationAutoUpdate&&this.rotation.setRotationFromMatrix(this.matrix)},addChild:function(b){if(this.children.indexOf(b)===
+-1){b.parent!==void 0&&b.parent.removeChild(b);b.parent=this;this.children.push(b);for(var c=this;c.parent!==void 0;)c=c.parent;c!==void 0&&c instanceof THREE.Scene&&c.addChildRecurse(b)}},removeChild:function(b){var c=this.children.indexOf(b);if(c!==-1)b.parent=void 0,this.children.splice(c,1)},getChildByName:function(b,c){var e,f,h;e=0;for(f=this.children.length;e<f;e++){h=this.children[e];if(h.name===b)return h;if(c&&(h=h.getChildByName(b,c),h!==void 0))return h}},updateMatrix:function(){this.matrix.setPosition(this.position);
+this.useQuaternion?this.matrix.setRotationFromQuaternion(this.quaternion):this.matrix.setRotationFromEuler(this.rotation,this.eulerOrder);if(this.scale.x!==1||this.scale.y!==1||this.scale.z!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,Math.max(this.scale.y,this.scale.z));this.matrixWorldNeedsUpdate=!0},update:function(b,c,e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||c)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),
+this.matrixRotationWorld.extractRotation(this.matrixWorld,this.scale),this.matrixWorldNeedsUpdate=!1,c=!0;for(var b=0,f=this.children.length;b<f;b++)this.children[b].update(this.matrixWorld,c,e)}};THREE.Object3DCount=0;
+THREE.Projector=function(){function b(){var b=u[n]=u[n]||new THREE.RenderableVertex;n++;return b}function c(b,e){return e.z-b.z}function e(b,e){var c=0,f=1,k=b.z+b.w,h=e.z+e.w,m=-b.z+b.w,n=-e.z+e.w;return k>=0&&h>=0&&m>=0&&n>=0?!0:k<0&&h<0||m<0&&n<0?!1:(k<0?c=Math.max(c,k/(k-h)):h<0&&(f=Math.min(f,k/(k-h))),m<0?c=Math.max(c,m/(m-n)):n<0&&(f=Math.min(f,m/(m-n))),f<c?!1:(b.lerpSelf(e,c),e.lerpSelf(b,1-f),!0))}var f,h,m=[],k,n,u=[],p,v,t=[],x,w=[],z,y,B=[],D,G,H=[],E=[],N=[],F=new THREE.Vector4,I=new THREE.Vector4,
+C=new THREE.Matrix4,K=new THREE.Matrix4,U=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],L=new THREE.Vector4,O=new THREE.Vector4;this.projectVector=function(b,e){C.multiply(e.projectionMatrix,e.matrixWorldInverse);C.multiplyVector3(b);return b};this.unprojectVector=function(b,e){C.multiply(e.matrixWorld,THREE.Matrix4.makeInvert(e.projectionMatrix));C.multiplyVector3(b);return b};this.projectObjects=function(b,e,k){var n,u;h=E.length=0;
+n=b.objects;b=0;for(e=n.length;b<e;b++){u=n[b];var w;if(!(w=!u.visible))if(w=u instanceof THREE.Mesh)if(w=u.frustumCulled){a:{w=void 0;for(var t=u.matrixWorld,p=-u.geometry.boundingSphere.radius*Math.max(u.scale.x,Math.max(u.scale.y,u.scale.z)),v=0;v<6;v++)if(w=U[v].x*t.n14+U[v].y*t.n24+U[v].z*t.n34+U[v].w,w<=p){w=!1;break a}w=!0}w=!w}if(!w)w=m[h]=m[h]||new THREE.RenderableObject,h++,f=w,F.copy(u.position),C.multiplyVector3(F),f.object=u,f.z=F.z,E.push(f)}k&&E.sort(c);return E};this.projectScene=
+function(f,h,m){var E=h.near,F=h.far,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa,V,pa,va,ra;G=y=x=v=N.length=0;h.matrixAutoUpdate&&h.update(void 0,!0);f.update(void 0,!1,h);C.multiply(h.projectionMatrix,h.matrixWorldInverse);U[0].set(C.n41-C.n11,C.n42-C.n12,C.n43-C.n13,C.n44-C.n14);U[1].set(C.n41+C.n11,C.n42+C.n12,C.n43+C.n13,C.n44+C.n14);U[2].set(C.n41+C.n21,C.n42+C.n22,C.n43+C.n23,C.n44+C.n24);U[3].set(C.n41-C.n21,C.n42-C.n22,C.n43-C.n23,C.n44-C.n24);U[4].set(C.n41-C.n31,C.n42-C.n32,C.n43-C.n33,C.n44-C.n34);
+U[5].set(C.n41+C.n31,C.n42+C.n32,C.n43+C.n33,C.n44+C.n34);for(R=0;R<6;R++)ca=U[R],ca.divideScalar(Math.sqrt(ca.x*ca.x+ca.y*ca.y+ca.z*ca.z));ca=this.projectObjects(f,h,!0);f=0;for(R=ca.length;f<R;f++)if(X=ca[f].object,X.visible)if(ja=X.matrixWorld,ea=X.matrixRotationWorld,qa=X.materials,V=X.overdraw,n=0,X instanceof THREE.Mesh){pa=X.geometry;ma=pa.vertices;va=pa.faces;pa=pa.faceVertexUvs;ia=0;for(aa=ma.length;ia<aa;ia++)k=b(),k.positionWorld.copy(ma[ia].position),ja.multiplyVector3(k.positionWorld),
+k.positionScreen.copy(k.positionWorld),C.multiplyVector4(k.positionScreen),k.positionScreen.x/=k.positionScreen.w,k.positionScreen.y/=k.positionScreen.w,k.visible=k.positionScreen.z>E&&k.positionScreen.z<F;ma=0;for(ia=va.length;ma<ia;ma++){aa=va[ma];if(aa instanceof THREE.Face3)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],fa.visible&&ga.visible&&da.visible&&(X.doubleSided||X.flipSided!=(da.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-(da.positionScreen.y-fa.positionScreen.y)*
+(ga.positionScreen.x-fa.positionScreen.x)<0))$=t[v]=t[v]||new THREE.RenderableFace3,v++,p=$,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da);else continue;else if(aa instanceof THREE.Face4)if(fa=u[aa.a],ga=u[aa.b],da=u[aa.c],$=u[aa.d],fa.visible&&ga.visible&&da.visible&&$.visible&&(X.doubleSided||X.flipSided!=(($.positionScreen.x-fa.positionScreen.x)*(ga.positionScreen.y-fa.positionScreen.y)-($.positionScreen.y-fa.positionScreen.y)*(ga.positionScreen.x-fa.positionScreen.x)<0||(ga.positionScreen.x-da.positionScreen.x)*
+($.positionScreen.y-da.positionScreen.y)-(ga.positionScreen.y-da.positionScreen.y)*($.positionScreen.x-da.positionScreen.x)<0)))ra=w[x]=w[x]||new THREE.RenderableFace4,x++,p=ra,p.v1.copy(fa),p.v2.copy(ga),p.v3.copy(da),p.v4.copy($);else continue;p.normalWorld.copy(aa.normal);ea.multiplyVector3(p.normalWorld);p.centroidWorld.copy(aa.centroid);ja.multiplyVector3(p.centroidWorld);p.centroidScreen.copy(p.centroidWorld);C.multiplyVector3(p.centroidScreen);da=aa.vertexNormals;fa=0;for(ga=da.length;fa<ga;fa++)$=
+p.vertexNormalsWorld[fa],$.copy(da[fa]),ea.multiplyVector3($);fa=0;for(ga=pa.length;fa<ga;fa++)if(ra=pa[fa][ma]){da=0;for($=ra.length;da<$;da++)p.uvs[fa][da]=ra[da]}p.meshMaterials=qa;p.faceMaterials=aa.materials;p.overdraw=V;p.z=p.centroidScreen.z;N.push(p)}}else if(X instanceof THREE.Line){K.multiply(C,ja);ma=X.geometry.vertices;fa=b();fa.positionScreen.copy(ma[0].position);K.multiplyVector4(fa.positionScreen);ia=1;for(aa=ma.length;ia<aa;ia++)if(fa=b(),fa.positionScreen.copy(ma[ia].position),K.multiplyVector4(fa.positionScreen),
+ga=u[n-2],L.copy(fa.positionScreen),O.copy(ga.positionScreen),e(L,O))L.multiplyScalar(1/L.w),O.multiplyScalar(1/O.w),ja=B[y]=B[y]||new THREE.RenderableLine,y++,z=ja,z.v1.positionScreen.copy(L),z.v2.positionScreen.copy(O),z.z=Math.max(L.z,O.z),z.materials=X.materials,N.push(z)}else if(X instanceof THREE.Particle&&(I.set(X.matrixWorld.n14,X.matrixWorld.n24,X.matrixWorld.n34,1),C.multiplyVector4(I),I.z/=I.w,I.z>0&&I.z<1))ja=H[G]=H[G]||new THREE.RenderableParticle,G++,D=ja,D.x=I.x/I.w,D.y=I.y/I.w,D.z=
+I.z,D.rotation=X.rotation.z,D.scale.x=X.scale.x*Math.abs(D.x-(I.x+h.projectionMatrix.n11)/(I.w+h.projectionMatrix.n14)),D.scale.y=X.scale.y*Math.abs(D.y-(I.y+h.projectionMatrix.n22)/(I.w+h.projectionMatrix.n24)),D.materials=X.materials,N.push(D);m&&N.sort(c);return N}};THREE.Quaternion=function(b,c,e,f){this.set(b||0,c||0,e||0,f!==void 0?f:1)};
+THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(b,c,e,f){this.x=b;this.y=c;this.z=e;this.w=f;return this},copy:function(b){this.x=b.x;this.y=b.y;this.z=b.z;this.w=b.w;return this},setFromEuler:function(b){var c=0.5*Math.PI/360,e=b.x*c,f=b.y*c,h=b.z*c,b=Math.cos(f),f=Math.sin(f),c=Math.cos(-h),h=Math.sin(-h),m=Math.cos(e),e=Math.sin(e),k=b*c,n=f*h;this.w=k*m-n*e;this.x=k*e+n*m;this.y=f*c*m+b*h*e;this.z=b*h*m-f*c*e;return this},setFromAxisAngle:function(b,c){var e=c/2,f=Math.sin(e);
+this.x=b.x*f;this.y=b.y*f;this.z=b.z*f;this.w=Math.cos(e);return this},setFromRotationMatrix:function(b){var c=Math.pow(b.determinant(),1/3);this.w=Math.sqrt(Math.max(0,c+b.n11+b.n22+b.n33))/2;this.x=Math.sqrt(Math.max(0,c+b.n11-b.n22-b.n33))/2;this.y=Math.sqrt(Math.max(0,c-b.n11+b.n22-b.n33))/2;this.z=Math.sqrt(Math.max(0,c-b.n11-b.n22+b.n33))/2;this.x=b.n32-b.n23<0?-Math.abs(this.x):Math.abs(this.x);this.y=b.n13-b.n31<0?-Math.abs(this.y):Math.abs(this.y);this.z=b.n21-b.n12<0?-Math.abs(this.z):Math.abs(this.z);
+this.normalize();return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var b=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);b==0?this.w=this.z=this.y=this.x=0:(b=1/b,this.x*=b,this.y*=b,this.z*=b,this.w*=b);return this},multiplySelf:function(b){var c=
+this.x,e=this.y,f=this.z,h=this.w,m=b.x,k=b.y,n=b.z,b=b.w;this.x=c*b+h*m+e*n-f*k;this.y=e*b+h*k+f*m-c*n;this.z=f*b+h*n+c*k-e*m;this.w=h*b-c*m-e*k-f*n;return this},multiply:function(b,c){this.x=b.x*c.w+b.y*c.z-b.z*c.y+b.w*c.x;this.y=-b.x*c.z+b.y*c.w+b.z*c.x+b.w*c.y;this.z=b.x*c.y-b.y*c.x+b.z*c.w+b.w*c.z;this.w=-b.x*c.x-b.y*c.y-b.z*c.z+b.w*c.w;return this},multiplyVector3:function(b,c){c||(c=b);var e=b.x,f=b.y,h=b.z,m=this.x,k=this.y,n=this.z,u=this.w,p=u*e+k*h-n*f,v=u*f+n*e-m*h,t=u*h+m*f-k*e,e=-m*
+e-k*f-n*h;c.x=p*u+e*-m+v*-n-t*-k;c.y=v*u+e*-k+t*-m-p*-n;c.z=t*u+e*-n+p*-k-v*-m;return c}};THREE.Quaternion.slerp=function(b,c,e,f){var h=b.w*c.w+b.x*c.x+b.y*c.y+b.z*c.z;if(Math.abs(h)>=1)return e.w=b.w,e.x=b.x,e.y=b.y,e.z=b.z,e;var m=Math.acos(h),k=Math.sqrt(1-h*h);if(Math.abs(k)<0.001)return e.w=0.5*(b.w+c.w),e.x=0.5*(b.x+c.x),e.y=0.5*(b.y+c.y),e.z=0.5*(b.z+c.z),e;h=Math.sin((1-f)*m)/k;f=Math.sin(f*m)/k;e.w=b.w*h+c.w*f;e.x=b.x*h+c.x*f;e.y=b.y*h+c.y*f;e.z=b.z*h+c.z*f;return e};
+THREE.Vertex=function(b){this.position=b||new THREE.Vector3};THREE.Face3=function(b,c,e,f,h,m){this.a=b;this.b=c;this.c=e;this.normal=f instanceof THREE.Vector3?f:new THREE.Vector3;this.vertexNormals=f instanceof Array?f:[];this.color=h instanceof THREE.Color?h:new THREE.Color;this.vertexColors=h instanceof Array?h:[];this.vertexTangents=[];this.materials=m instanceof Array?m:[m];this.centroid=new THREE.Vector3};
+THREE.Face4=function(b,c,e,f,h,m,k){this.a=b;this.b=c;this.c=e;this.d=f;this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3;this.vertexNormals=h instanceof Array?h:[];this.color=m instanceof THREE.Color?m:new THREE.Color;this.vertexColors=m instanceof Array?m:[];this.vertexTangents=[];this.materials=k instanceof Array?k:[k];this.centroid=new THREE.Vector3};THREE.UV=function(b,c){this.u=b||0;this.v=c||0};
+THREE.UV.prototype={constructor:THREE.UV,set:function(b,c){this.u=b;this.v=c;return this},copy:function(b){this.u=b.u;this.v=b.v;return this},clone:function(){return new THREE.UV(this.u,this.v)}};
+THREE.Geometry=function(){this.id=THREE.GeometryCount++;this.vertices=[];this.colors=[];this.faces=[];this.edges=[];this.faceUvs=[[]];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphColors=[];this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.dynamic=this.hasTangents=!1};
+THREE.Geometry.prototype={constructor:THREE.Geometry,computeCentroids:function(){var b,c,e;b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e.centroid.set(0,0,0),e instanceof THREE.Face3?(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),e.centroid.divideScalar(3)):e instanceof THREE.Face4&&(e.centroid.addSelf(this.vertices[e.a].position),e.centroid.addSelf(this.vertices[e.b].position),e.centroid.addSelf(this.vertices[e.c].position),
+e.centroid.addSelf(this.vertices[e.d].position),e.centroid.divideScalar(4))},computeFaceNormals:function(b){var c,e,f,h,m,k,n=new THREE.Vector3,u=new THREE.Vector3;f=0;for(h=this.faces.length;f<h;f++){m=this.faces[f];if(b&&m.vertexNormals.length){n.set(0,0,0);c=0;for(e=m.vertexNormals.length;c<e;c++)n.addSelf(m.vertexNormals[c]);n.divideScalar(3)}else c=this.vertices[m.a],e=this.vertices[m.b],k=this.vertices[m.c],n.sub(k.position,e.position),u.sub(c.position,e.position),n.crossSelf(u);n.isZero()||
+n.normalize();m.normal.copy(n)}},computeVertexNormals:function(){var b,c,e,f;if(this.__tmpVertices==void 0){f=this.__tmpVertices=Array(this.vertices.length);b=0;for(c=this.vertices.length;b<c;b++)f[b]=new THREE.Vector3;b=0;for(c=this.faces.length;b<c;b++)if(e=this.faces[b],e instanceof THREE.Face3)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(e instanceof THREE.Face4)e.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}else{f=
+this.__tmpVertices;b=0;for(c=this.vertices.length;b<c;b++)f[b].set(0,0,0)}b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal)):e instanceof THREE.Face4&&(f[e.a].addSelf(e.normal),f[e.b].addSelf(e.normal),f[e.c].addSelf(e.normal),f[e.d].addSelf(e.normal));b=0;for(c=this.vertices.length;b<c;b++)f[b].normalize();b=0;for(c=this.faces.length;b<c;b++)e=this.faces[b],e instanceof THREE.Face3?(e.vertexNormals[0].copy(f[e.a]),
+e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c])):e instanceof THREE.Face4&&(e.vertexNormals[0].copy(f[e.a]),e.vertexNormals[1].copy(f[e.b]),e.vertexNormals[2].copy(f[e.c]),e.vertexNormals[3].copy(f[e.d]))},computeTangents:function(){function b(b,e,c,f,h,m,o){n=b.vertices[e].position;u=b.vertices[c].position;p=b.vertices[f].position;v=k[h];t=k[m];x=k[o];w=u.x-n.x;z=p.x-n.x;y=u.y-n.y;B=p.y-n.y;D=u.z-n.z;G=p.z-n.z;H=t.u-v.u;E=x.u-v.u;N=t.v-v.v;F=x.v-v.v;I=1/(H*F-E*N);L.set((F*w-N*z)*
+I,(F*y-N*B)*I,(F*D-N*G)*I);O.set((H*z-E*w)*I,(H*B-E*y)*I,(H*G-E*D)*I);K[e].addSelf(L);K[c].addSelf(L);K[f].addSelf(L);U[e].addSelf(O);U[c].addSelf(O);U[f].addSelf(O)}var c,e,f,h,m,k,n,u,p,v,t,x,w,z,y,B,D,G,H,E,N,F,I,C,K=[],U=[],L=new THREE.Vector3,O=new THREE.Vector3,S=new THREE.Vector3,P=new THREE.Vector3,o=new THREE.Vector3;c=0;for(e=this.vertices.length;c<e;c++)K[c]=new THREE.Vector3,U[c]=new THREE.Vector3;c=0;for(e=this.faces.length;c<e;c++)m=this.faces[c],k=this.faceVertexUvs[0][c],m instanceof
+THREE.Face3?b(this,m.a,m.b,m.c,0,1,2):m instanceof THREE.Face4&&(b(this,m.a,m.b,m.c,0,1,2),b(this,m.a,m.b,m.d,0,1,3));var W=["a","b","c","d"];c=0;for(e=this.faces.length;c<e;c++){m=this.faces[c];for(f=0;f<m.vertexNormals.length;f++)o.copy(m.vertexNormals[f]),h=m[W[f]],C=K[h],S.copy(C),S.subSelf(o.multiplyScalar(o.dot(C))).normalize(),P.cross(m.vertexNormals[f],C),h=P.dot(U[h]),h=h<0?-1:1,m.vertexTangents[f]=new THREE.Vector4(S.x,S.y,S.z,h)}this.hasTangents=!0},computeBoundingBox:function(){var b;
+if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,e=this.vertices.length;c<e;c++){b=this.vertices[c];if(b.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=b.position.x;else if(b.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=b.position.x;if(b.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=b.position.y;
+else if(b.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=b.position.y;if(b.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=b.position.z;else if(b.position.z>this.boundingBox.z[1])this.boundingBox.z[1]=b.position.z}}},computeBoundingSphere:function(){for(var b=0,c=0,e=this.vertices.length;c<e;c++)b=Math.max(b,this.vertices[c].position.length());this.boundingSphere={radius:b}},computeEdgeFaces:function(){function b(b,e){return Math.min(b,e)+"_"+Math.max(b,e)}function c(b,e,c){b[e]===
+void 0?(b[e]={set:{},array:[]},b[e].set[c]=1,b[e].array.push(c)):b[e].set[c]===void 0&&(b[e].set[c]=1,b[e].array.push(c))}var e,f,h,m,k,n={};e=0;for(f=this.faces.length;e<f;e++)k=this.faces[e],k instanceof THREE.Face3?(h=b(k.a,k.b),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.a,k.c),c(n,h,e)):k instanceof THREE.Face4&&(h=b(k.b,k.d),c(n,h,e),h=b(k.a,k.b),c(n,h,e),h=b(k.a,k.d),c(n,h,e),h=b(k.b,k.c),c(n,h,e),h=b(k.c,k.d),c(n,h,e));e=0;for(f=this.edges.length;e<f;e++){k=this.edges[e];h=k.vertexIndices[0];m=k.vertexIndices[1];
+k.faceIndices=n[b(h,m)].array;for(h=0;h<k.faceIndices.length;h++)m=k.faceIndices[h],k.faces.push(this.faces[m])}}};THREE.GeometryCount=0;
+THREE.Spline=function(b){function c(b,e,c,f,k,h,m){b=(c-b)*0.5;f=(f-e)*0.5;return(2*(e-c)+b+f)*m+(-3*(e-c)-2*b-f)*h+b*k+e}this.points=b;var e=[],f={x:0,y:0,z:0},h,m,k,n,u,p,v,t,x;this.initFromArray=function(b){this.points=[];for(var e=0;e<b.length;e++)this.points[e]={x:b[e][0],y:b[e][1],z:b[e][2]}};this.getPoint=function(b){h=(this.points.length-1)*b;m=Math.floor(h);k=h-m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>this.points.length-2?m:m+1;e[3]=m>this.points.length-3?m:m+2;p=this.points[e[0]];v=this.points[e[1]];
+t=this.points[e[2]];x=this.points[e[3]];n=k*k;u=k*n;f.x=c(p.x,v.x,t.x,x.x,k,n,u);f.y=c(p.y,v.y,t.y,x.y,k,n,u);f.z=c(p.z,v.z,t.z,x.z,k,n,u);return f};this.getControlPointsArray=function(){var b,e,c=this.points.length,f=[];for(b=0;b<c;b++)e=this.points[b],f[b]=[e.x,e.y,e.z];return f};this.getLength=function(b){var e,c,f=e=e=0,k=new THREE.Vector3,h=new THREE.Vector3,m=[],n=0;m[0]=0;b||(b=100);c=this.points.length*b;k.copy(this.points[0]);for(b=1;b<c;b++)e=b/c,position=this.getPoint(e),h.copy(position),
+n+=h.distanceTo(k),k.copy(position),e*=this.points.length-1,e=Math.floor(e),e!=f&&(m[e]=n,f=e);m[m.length]=n;return{chunks:m,total:n}};this.reparametrizeByArcLength=function(b){var e,c,f,k,h,m,n=[],u=new THREE.Vector3,t=this.getLength();n.push(u.copy(this.points[0]).clone());for(e=1;e<this.points.length;e++){c=t.chunks[e]-t.chunks[e-1];m=Math.ceil(b*c/t.total);k=(e-1)/(this.points.length-1);h=e/(this.points.length-1);for(c=1;c<m-1;c++)f=k+c*(1/m)*(h-k),position=this.getPoint(f),n.push(u.copy(position).clone());
+n.push(u.copy(this.points[e]).clone())}this.points=n}};THREE.Edge=function(b,c,e,f){this.vertices=[b,c];this.vertexIndices=[e,f];this.faces=[];this.faceIndices=[]};THREE.Camera=function(b,c,e,f,h){THREE.Object3D.call(this);this.fov=b||50;this.aspect=c||1;this.near=e||0.1;this.far=f||2E3;this.target=h||new THREE.Object3D;this.useTarget=!0;this.matrixWorldInverse=new THREE.Matrix4;this.projectionMatrix=null;this.updateProjectionMatrix()};THREE.Camera.prototype=new THREE.Object3D;
+THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.supr=THREE.Object3D.prototype;THREE.Camera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);c.multiplyScalar(b);this.position.addSelf(c);this.target.position.addSelf(c)};
+THREE.Camera.prototype.updateProjectionMatrix=function(){if(this.fullWidth){var b=this.fullWidth/this.fullHeight,c=Math.tan(this.fov*Math.PI/360)*this.near,e=-c,f=b*e,b=Math.abs(b*c-f),e=Math.abs(c-e);this.projectionMatrix=THREE.Matrix4.makeFrustum(f+this.x*b/this.fullWidth,f+(this.x+this.width)*b/this.fullWidth,c-(this.y+this.height)*e/this.fullHeight,c-this.y*e/this.fullHeight,this.near,this.far)}else this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};
+THREE.Camera.prototype.setViewOffset=function(b,c,e,f,h,m){this.fullWidth=b;this.fullHeight=c;this.x=e;this.y=f;this.width=h;this.height=m;this.updateProjectionMatrix()};
+THREE.Camera.prototype.update=function(b,c,e){if(this.useTarget)this.matrix.lookAt(this.position,this.target.position,this.up),this.matrix.setPosition(this.position),b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse),c=!0;else if(this.matrixAutoUpdate&&this.updateMatrix(),c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=
+!1,c=!0,THREE.Matrix4.makeInvert(this.matrixWorld,this.matrixWorldInverse);for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};THREE.OrthoCamera=function(b,c,e,f,h,m,k){THREE.Camera.call(this,45,1,h,m,k);this.left=b;this.right=c;this.top=e;this.bottom=f;this.updateProjectionMatrix()};THREE.OrthoCamera.prototype=new THREE.Camera;THREE.OrthoCamera.prototype.constructor=THREE.OrthoCamera;
+THREE.OrthoCamera.prototype.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makeOrtho(this.left,this.right,this.top,this.bottom,this.near,this.far)};THREE.Light=function(b){THREE.Object3D.call(this);this.color=new THREE.Color(b)};THREE.Light.prototype=new THREE.Object3D;THREE.Light.prototype.constructor=THREE.Light;THREE.Light.prototype.supr=THREE.Object3D.prototype;THREE.AmbientLight=function(b){THREE.Light.call(this,b)};THREE.AmbientLight.prototype=new THREE.Light;
+THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.DirectionalLight.prototype=new THREE.Light;THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,c,e){THREE.Light.call(this,b);this.position=new THREE.Vector3;this.intensity=c||1;this.distance=e||0};
+THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;THREE.SpotLight=function(b,c,e,f){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.target=new THREE.Object3D;this.intensity=c||1;this.distance=e||0;this.castShadow=f!==void 0?f:!1};THREE.SpotLight.prototype=new THREE.Light;THREE.SpotLight.prototype.constructor=THREE.SpotLight;
+THREE.Material=function(b){this.id=THREE.MaterialCount++;b=b||{};this.opacity=b.opacity!==void 0?b.opacity:1;this.transparent=b.transparent!==void 0?b.transparent:!1;this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.depthTest=b.depthTest!==void 0?b.depthTest:!0;this.polygonOffset=b.polygonOffset!==void 0?b.polygonOffset:!1;this.polygonOffsetFactor=b.polygonOffsetFactor!==void 0?b.polygonOffsetFactor:0;this.polygonOffsetUnits=b.polygonOffsetUnits!==void 0?b.polygonOffsetUnits:
+0;this.alphaTest=b.alphaTest!==void 0?b.alphaTest:0};THREE.MaterialCount=0;THREE.NoShading=0;THREE.FlatShading=1;THREE.SmoothShading=2;THREE.NoColors=0;THREE.FaceColors=1;THREE.VertexColors=2;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;THREE.MultiplyBlending=3;THREE.AdditiveAlphaBlending=4;
+THREE.LineBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.linewidth=b.linewidth!==void 0?b.linewidth:1;this.linecap=b.linecap!==void 0?b.linecap:"round";this.linejoin=b.linejoin!==void 0?b.linejoin:"round";this.vertexColors=b.vertexColors?b.vertexColors:!1};THREE.LineBasicMaterial.prototype=new THREE.Material;THREE.LineBasicMaterial.prototype.constructor=THREE.LineBasicMaterial;
+THREE.MeshBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshBasicMaterial.prototype=new THREE.Material;THREE.MeshBasicMaterial.prototype.constructor=THREE.MeshBasicMaterial;
+THREE.MeshLambertMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==
+void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};
+THREE.MeshLambertMaterial.prototype=new THREE.Material;THREE.MeshLambertMaterial.prototype.constructor=THREE.MeshLambertMaterial;
+THREE.MeshPhongMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.ambient=b.ambient!==void 0?new THREE.Color(b.ambient):new THREE.Color(328965);this.specular=b.specular!==void 0?new THREE.Color(b.specular):new THREE.Color(1118481);this.shininess=b.shininess!==void 0?b.shininess:30;this.map=b.map!==void 0?b.map:null;this.lightMap=b.lightMap!==void 0?b.lightMap:null;this.envMap=b.envMap!==void 0?b.envMap:null;
+this.combine=b.combine!==void 0?b.combine:THREE.MultiplyOperation;this.reflectivity=b.reflectivity!==void 0?b.reflectivity:1;this.refractionRatio=b.refractionRatio!==void 0?b.refractionRatio:0.98;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.wireframeLinecap=b.wireframeLinecap!==void 0?b.wireframeLinecap:"round";this.wireframeLinejoin=b.wireframeLinejoin!==
+void 0?b.wireframeLinejoin:"round";this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshPhongMaterial.prototype=new THREE.Material;THREE.MeshPhongMaterial.prototype.constructor=THREE.MeshPhongMaterial;
+THREE.MeshDepthMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1};THREE.MeshDepthMaterial.prototype=new THREE.Material;THREE.MeshDepthMaterial.prototype.constructor=THREE.MeshDepthMaterial;
+THREE.MeshNormalMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.shading=b.shading?b.shading:THREE.FlatShading;this.wireframe=b.wireframe?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth?b.wireframeLinewidth:1};THREE.MeshNormalMaterial.prototype=new THREE.Material;THREE.MeshNormalMaterial.prototype.constructor=THREE.MeshNormalMaterial;THREE.MeshFaceMaterial=function(){};
+THREE.MeshShaderMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.fragmentShader=b.fragmentShader!==void 0?b.fragmentShader:"void main() {}";this.vertexShader=b.vertexShader!==void 0?b.vertexShader:"void main() {}";this.uniforms=b.uniforms!==void 0?b.uniforms:{};this.attributes=b.attributes;this.shading=b.shading!==void 0?b.shading:THREE.SmoothShading;this.wireframe=b.wireframe!==void 0?b.wireframe:!1;this.wireframeLinewidth=b.wireframeLinewidth!==void 0?b.wireframeLinewidth:1;this.fog=
+b.fog!==void 0?b.fog:!1;this.lights=b.lights!==void 0?b.lights:!1;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1;this.skinning=b.skinning!==void 0?b.skinning:!1;this.morphTargets=b.morphTargets!==void 0?b.morphTargets:!1};THREE.MeshShaderMaterial.prototype=new THREE.Material;THREE.MeshShaderMaterial.prototype.constructor=THREE.MeshShaderMaterial;
+THREE.ParticleBasicMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.map=b.map!==void 0?b.map:null;this.size=b.size!==void 0?b.size:1;this.sizeAttenuation=b.sizeAttenuation!==void 0?b.sizeAttenuation:!0;this.vertexColors=b.vertexColors!==void 0?b.vertexColors:!1};THREE.ParticleBasicMaterial.prototype=new THREE.Material;THREE.ParticleBasicMaterial.prototype.constructor=THREE.ParticleBasicMaterial;
+THREE.ParticleCanvasMaterial=function(b){THREE.Material.call(this,b);b=b||{};this.color=b.color!==void 0?new THREE.Color(b.color):new THREE.Color(16777215);this.program=b.program!==void 0?b.program:function(){}};THREE.ParticleCanvasMaterial.prototype=new THREE.Material;THREE.ParticleCanvasMaterial.prototype.constructor=THREE.ParticleCanvasMaterial;THREE.ParticleDOMMaterial=function(b){THREE.Material.call(this);this.domElement=b};
+THREE.Texture=function(b,c,e,f,h,m){this.id=THREE.TextureCount++;this.image=b;this.mapping=c!==void 0?c:new THREE.UVMapping;this.wrapS=e!==void 0?e:THREE.ClampToEdgeWrapping;this.wrapT=f!==void 0?f:THREE.ClampToEdgeWrapping;this.magFilter=h!==void 0?h:THREE.LinearFilter;this.minFilter=m!==void 0?m:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.needsUpdate=!1};
+THREE.Texture.prototype={constructor:THREE.Texture,clone:function(){var b=new THREE.Texture(this.image,this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b}};THREE.TextureCount=0;THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
+THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;
+THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;THREE.DataTexture=function(b,c,e,f,h,m,k,n,u){THREE.Texture.call(this,null,h,m,k,n,u);this.image={data:b,width:c,height:e};this.format=f!==void 0?f:THREE.RGBAFormat};THREE.DataTexture.prototype=new THREE.Texture;THREE.DataTexture.prototype.constructor=THREE.DataTexture;
+THREE.DataTexture.prototype.clone=function(){var b=new THREE.DataTexture(this.data.slice(0),this.mapping,this.wrapS,this.wrapT,this.magFilter,this.minFilter);b.offset.copy(this.offset);b.repeat.copy(this.repeat);return b};THREE.Particle=function(b){THREE.Object3D.call(this);this.materials=b instanceof Array?b:[b]};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;
+THREE.ParticleSystem=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.sortParticles=!1};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;THREE.Line=function(b,c,e){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c];this.type=e!=void 0?e:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;
+THREE.Line.prototype.constructor=THREE.Line;
+THREE.Mesh=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c&&c.length?c:[c];this.overdraw=!1;if(this.geometry&&(this.geometry.boundingSphere||this.geometry.computeBoundingSphere(),this.boundRadius=b.boundingSphere.radius,this.geometry.morphTargets.length)){this.morphTargetBase=-1;this.morphTargetForcedOrder=[];this.morphTargetInfluences=[];this.morphTargetDictionary={};for(var e=0;e<this.geometry.morphTargets.length;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[this.geometry.morphTargets[e].name]=
+e}};THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.supr=THREE.Object3D.prototype;THREE.Mesh.prototype.getMorphTargetIndexByName=function(b){if(this.morphTargetDictionary[b]!==void 0)return this.morphTargetDictionary[b];console.log("THREE.Mesh.getMorphTargetIndexByName: morph target "+b+" does not exist. Returning 0.");return 0};
+THREE.Bone=function(b){THREE.Object3D.call(this);this.skin=b;this.skinMatrix=new THREE.Matrix4;this.hasNoneBoneChildren=!1};THREE.Bone.prototype=new THREE.Object3D;THREE.Bone.prototype.constructor=THREE.Bone;THREE.Bone.prototype.supr=THREE.Object3D.prototype;
+THREE.Bone.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.skinMatrix.multiply(b,this.matrix):this.skinMatrix.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;if(this.hasNoneBoneChildren){this.matrixWorld.multiply(this.skin.matrixWorld,this.skinMatrix);for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.skinMatrix,c,e):b.update(this.matrixWorld,!0,e)}else for(f=0;f<h;f++)this.children[f].update(this.skinMatrix,
+c,e)};THREE.Bone.prototype.addChild=function(b){if(this.children.indexOf(b)===-1&&(b.parent!==void 0&&b.parent.removeChild(b),b.parent=this,this.children.push(b),!(b instanceof THREE.Bone)))this.hasNoneBoneChildren=!0};
+THREE.SkinnedMesh=function(b,c){THREE.Mesh.call(this,b,c);this.identityMatrix=new THREE.Matrix4;this.bones=[];this.boneMatrices=[];var e,f,h,m,k,n;if(this.geometry.bones!==void 0){for(e=0;e<this.geometry.bones.length;e++)h=this.geometry.bones[e],m=h.pos,k=h.rotq,n=h.scl,f=this.addBone(),f.name=h.name,f.position.set(m[0],m[1],m[2]),f.quaternion.set(k[0],k[1],k[2],k[3]),f.useQuaternion=!0,n!==void 0?f.scale.set(n[0],n[1],n[2]):f.scale.set(1,1,1);for(e=0;e<this.bones.length;e++)h=this.geometry.bones[e],
+f=this.bones[e],h.parent===-1?this.addChild(f):this.bones[h.parent].addChild(f);this.boneMatrices=new Float32Array(16*this.bones.length);this.pose()}};THREE.SkinnedMesh.prototype=new THREE.Mesh;THREE.SkinnedMesh.prototype.constructor=THREE.SkinnedMesh;
+THREE.SkinnedMesh.prototype.update=function(b,c,e){if(this.visible){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;var f,h=this.children.length;for(f=0;f<h;f++)b=this.children[f],b instanceof THREE.Bone?b.update(this.identityMatrix,!1,e):b.update(this.matrixWorld,c,e);e=this.bones.length;ba=this.bones;bm=this.boneMatrices;for(c=0;c<e;c++)ba[c].skinMatrix.flattenToArrayOffset(bm,
+c*16)}};THREE.SkinnedMesh.prototype.addBone=function(b){b===void 0&&(b=new THREE.Bone(this));this.bones.push(b);return b};
+THREE.SkinnedMesh.prototype.pose=function(){this.update(void 0,!0);for(var b,c=[],e=0;e<this.bones.length;e++)b=this.bones[e],c.push(THREE.Matrix4.makeInvert(b.skinMatrix)),b.skinMatrix.flattenToArrayOffset(this.boneMatrices,e*16);if(this.geometry.skinVerticesA===void 0){this.geometry.skinVerticesA=[];this.geometry.skinVerticesB=[];var f;for(b=0;b<this.geometry.skinIndices.length;b++){var e=this.geometry.vertices[b].position,h=this.geometry.skinIndices[b].x,m=this.geometry.skinIndices[b].y;f=new THREE.Vector3(e.x,
+e.y,e.z);this.geometry.skinVerticesA.push(c[h].multiplyVector3(f));f=new THREE.Vector3(e.x,e.y,e.z);this.geometry.skinVerticesB.push(c[m].multiplyVector3(f));this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y!==1&&(e=(1-(this.geometry.skinWeights[b].x+this.geometry.skinWeights[b].y))*0.5,this.geometry.skinWeights[b].x+=e,this.geometry.skinWeights[b].y+=e)}}};THREE.Ribbon=function(b,c){THREE.Object3D.call(this);this.geometry=b;this.materials=c instanceof Array?c:[c]};
+THREE.Ribbon.prototype=new THREE.Object3D;THREE.Ribbon.prototype.constructor=THREE.Ribbon;THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=new THREE.Object3D;THREE.LOD.prototype.constructor=THREE.LOD;THREE.LOD.prototype.supr=THREE.Object3D.prototype;THREE.LOD.prototype.add=function(b,c){c===void 0&&(c=0);for(var c=Math.abs(c),e=0;e<this.LODs.length;e++)if(c<this.LODs[e].visibleAtDistance)break;this.LODs.splice(e,0,{visibleAtDistance:c,object3D:b});this.addChild(b)};
+THREE.LOD.prototype.update=function(b,c,e){this.matrixAutoUpdate&&(c|=this.updateMatrix());if(c||this.matrixWorldNeedsUpdate)b?this.matrixWorld.multiply(b,this.matrix):this.matrixWorld.copy(this.matrix),this.matrixWorldNeedsUpdate=!1,c=!0;if(this.LODs.length>1){b=e.matrixWorldInverse;b=-(b.n31*this.position.x+b.n32*this.position.y+b.n33*this.position.z+b.n34);this.LODs[0].object3D.visible=!0;for(var f=1;f<this.LODs.length;f++)if(b>=this.LODs[f].visibleAtDistance)this.LODs[f-1].object3D.visible=!1,
+this.LODs[f].object3D.visible=!0;else break;for(;f<this.LODs.length;f++)this.LODs[f].object3D.visible=!1}for(b=0;b<this.children.length;b++)this.children[b].update(this.matrixWorld,c,e)};
+THREE.Sprite=function(b){THREE.Object3D.call(this);if(b.material!==void 0)this.material=b.material,this.map=void 0,this.blending=material.blending;else if(b.map!==void 0)this.map=b.map instanceof THREE.Texture?b.map:THREE.ImageUtils.loadTexture(b.map),this.material=void 0,this.blending=b.blending!==void 0?b.blending:THREE.NormalBlending;this.useScreenCoordinates=b.useScreenCoordinates!==void 0?b.useScreenCoordinates:!0;this.mergeWith3D=b.mergeWith3D!==void 0?b.mergeWith3D:!this.useScreenCoordinates;
+this.affectedByDistance=b.affectedByDistance!==void 0?b.affectedByDistance:!this.useScreenCoordinates;this.scaleByViewport=b.scaleByViewport!==void 0?b.scaleByViewport:!this.affectedByDistance;this.alignment=b.alignment instanceof THREE.Vector2?b.alignment:THREE.SpriteAlignment.center;this.rotation3d=this.rotation;this.rotation=0;this.opacity=1;this.uvOffset=new THREE.Vector2(0,0);this.uvScale=new THREE.Vector2(1,1)};THREE.Sprite.prototype=new THREE.Object3D;THREE.Sprite.prototype.constructor=THREE.Sprite;
+THREE.Sprite.prototype.supr=THREE.Object3D.prototype;THREE.Sprite.prototype.updateMatrix=function(){this.matrix.setPosition(this.position);this.rotation3d.set(0,0,this.rotation);this.matrix.setRotationFromEuler(this.rotation3d);if(this.scale.x!==1||this.scale.y!==1)this.matrix.scale(this.scale),this.boundRadiusScale=Math.max(this.scale.x,this.scale.y);this.matrixWorldNeedsUpdate=!0};THREE.SpriteAlignment={};THREE.SpriteAlignment.topLeft=new THREE.Vector2(1,-1);
+THREE.SpriteAlignment.topCenter=new THREE.Vector2(0,-1);THREE.SpriteAlignment.topRight=new THREE.Vector2(-1,-1);THREE.SpriteAlignment.centerLeft=new THREE.Vector2(1,0);THREE.SpriteAlignment.center=new THREE.Vector2(0,0);THREE.SpriteAlignment.centerRight=new THREE.Vector2(-1,0);THREE.SpriteAlignment.bottomLeft=new THREE.Vector2(1,1);THREE.SpriteAlignment.bottomCenter=new THREE.Vector2(0,1);THREE.SpriteAlignment.bottomRight=new THREE.Vector2(-1,1);
+THREE.Scene=function(){THREE.Object3D.call(this);this.matrixAutoUpdate=!1;this.collisions=this.overrideMaterial=this.fog=null;this.objects=[];this.lights=[];this.__objectsAdded=[];this.__objectsRemoved=[]};THREE.Scene.prototype=new THREE.Object3D;THREE.Scene.prototype.constructor=THREE.Scene;THREE.Scene.prototype.supr=THREE.Object3D.prototype;THREE.Scene.prototype.addChild=function(b){this.supr.addChild.call(this,b);this.addChildRecurse(b)};
+THREE.Scene.prototype.addChildRecurse=function(b){if(b instanceof THREE.Light)this.lights.indexOf(b)===-1&&this.lights.push(b);else if(!(b instanceof THREE.Camera||b instanceof THREE.Bone)&&this.objects.indexOf(b)===-1)this.objects.push(b),this.__objectsAdded.push(b);for(var c=0;c<b.children.length;c++)this.addChildRecurse(b.children[c])};THREE.Scene.prototype.removeChild=function(b){this.supr.removeChild.call(this,b);this.removeChildRecurse(b)};
+THREE.Scene.prototype.removeChildRecurse=function(b){if(b instanceof THREE.Light){var c=this.lights.indexOf(b);c!==-1&&this.lights.splice(c,1)}else b instanceof THREE.Camera||(c=this.objects.indexOf(b),c!==-1&&(this.objects.splice(c,1),this.__objectsRemoved.push(b)));for(c=0;c<b.children.length;c++)this.removeChildRecurse(b.children[c])};THREE.Scene.prototype.addObject=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeObject=THREE.Scene.prototype.removeChild;
+THREE.Scene.prototype.addLight=THREE.Scene.prototype.addChild;THREE.Scene.prototype.removeLight=THREE.Scene.prototype.removeChild;THREE.Fog=function(b,c,e){this.color=new THREE.Color(b);this.near=c||1;this.far=e||1E3};THREE.FogExp2=function(b,c){this.color=new THREE.Color(b);this.density=c!==void 0?c:2.5E-4};
+THREE.DOMRenderer=function(){THREE.Renderer.call(this);var b=null,c=new THREE.Projector,e,f,h,m;this.domElement=document.createElement("div");this.setSize=function(b,c){e=b;f=c;h=e/2;m=f/2};this.render=function(e,f){var u,p,v,t,x,w,z,y;b=c.projectScene(e,f);u=0;for(p=b.length;u<p;u++)if(x=b[u],x instanceof THREE.RenderableParticle){z=x.x*h+h;y=x.y*m+m;v=0;for(t=x.material.length;v<t;v++)if(w=x.material[v],w instanceof THREE.ParticleDOMMaterial)w=w.domElement,w.style.left=z+"px",w.style.top=y+"px"}}};
+THREE.CanvasRenderer=function(b){function c(b){if(B!=b)w.globalAlpha=B=b}function e(b){if(D!=b){switch(b){case THREE.NormalBlending:w.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:w.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:w.globalCompositeOperation="darker"}D=b}}function f(b){if(G!=b)w.strokeStyle=G=b}function h(b){if(H!=b)w.fillStyle=H=b}var m=this,k=null,n=new THREE.Projector,b=b||{},u=b.canvas!==void 0?b.canvas:document.createElement("canvas"),
+p,v,t,x,w=u.getContext("2d"),z=new THREE.Color(0),y=0,B=1,D=0,G=null,H=null,E=null,N=null,F=null,I,C,K,U,L=new THREE.RenderableVertex,O=new THREE.RenderableVertex,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$=new THREE.Color(0),ca=new THREE.Color(0),X=new THREE.Color(0),ja=new THREE.Color(0),ea=new THREE.Color(0),qa=[],V,pa,va,ra,sa,Ca,wa,Aa,za,Fa,M=new THREE.Rectangle,Z=new THREE.Rectangle,T=new THREE.Rectangle,xa=!1,ha=new THREE.Color,ka=new THREE.Color,ya=new THREE.Color,ta=new THREE.Color,oa=new THREE.Vector3,
+Y,Ga,la,Ba,Va,Da,b=16;Y=document.createElement("canvas");Y.width=Y.height=2;Ga=Y.getContext("2d");Ga.fillStyle="rgba(0,0,0,1)";Ga.fillRect(0,0,2,2);la=Ga.getImageData(0,0,2,2);Ba=la.data;Va=document.createElement("canvas");Va.width=Va.height=b;Da=Va.getContext("2d");Da.translate(-b/2,-b/2);Da.scale(b,b);b--;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setSize=function(b,e){p=b;v=e;t=Math.floor(p/2);x=Math.floor(v/2);u.width=p;u.height=
+v;M.set(-t,-x,t,x);Z.set(-t,-x,t,x);B=1;D=0;F=N=E=H=G=null};this.setClearColor=function(b,e){z.copy(b);y=e;Z.set(-t,-x,t,x)};this.setClearColorHex=function(b,e){z.setHex(b);y=e;Z.set(-t,-x,t,x)};this.clear=function(){w.setTransform(1,0,0,-1,t,x);Z.isEmpty()||(Z.minSelf(M),Z.inflate(2),y<1&&w.clearRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight())),y>0&&(e(THREE.NormalBlending),c(1),h("rgba("+Math.floor(z.r*255)+","+Math.floor(z.g*255)+","+Math.floor(z.b*
+255)+","+y+")"),w.fillRect(Math.floor(Z.getX()),Math.floor(Z.getY()),Math.floor(Z.getWidth()),Math.floor(Z.getHeight()))),Z.empty())};this.render=function(b,u){function p(b){var e,c,f,k=b.lights;ka.setRGB(0,0,0);ya.setRGB(0,0,0);ta.setRGB(0,0,0);b=0;for(e=k.length;b<e;b++)c=k[b],f=c.color,c instanceof THREE.AmbientLight?(ka.r+=f.r,ka.g+=f.g,ka.b+=f.b):c instanceof THREE.DirectionalLight?(ya.r+=f.r,ya.g+=f.g,ya.b+=f.b):c instanceof THREE.PointLight&&(ta.r+=f.r,ta.g+=f.g,ta.b+=f.b)}function v(b,e,c,
+f){var k,h,m,o,n=b.lights,b=0;for(k=n.length;b<k;b++)h=n[b],m=h.color,h instanceof THREE.DirectionalLight?(o=c.dot(h.position),o<=0||(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)):h instanceof THREE.PointLight&&(o=c.dot(oa.sub(h.position,e).normalize()),o<=0||(o*=h.distance==0?1:1-Math.min(e.distanceTo(h.position)/h.distance,1),o!=0&&(o*=h.intensity,f.r+=m.r*o,f.g+=m.g*o,f.b+=m.b*o)))}function z(b,k,m){c(m.opacity);e(m.blending);var o,n,u,la,p,v;if(m instanceof THREE.ParticleBasicMaterial){if(m.map)la=
+m.map.image,p=la.width>>1,v=la.height>>1,m=k.scale.x*t,u=k.scale.y*x,o=m*p,n=u*v,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(m,-u),w.translate(-p,-v),w.drawImage(la,0,0),w.restore())}else m instanceof THREE.ParticleCanvasMaterial&&(o=k.scale.x*t,n=k.scale.y*x,T.set(b.x-o,b.y-n,b.x+o,b.y+n),M.instersects(T)&&(f(m.color.getContextStyle()),h(m.color.getContextStyle()),w.save(),w.translate(b.x,b.y),w.rotate(-k.rotation),w.scale(o,n),m.program(w),
+w.restore()))}function B(b,k,h,m){c(m.opacity);e(m.blending);w.beginPath();w.moveTo(b.positionScreen.x,b.positionScreen.y);w.lineTo(k.positionScreen.x,k.positionScreen.y);w.closePath();if(m instanceof THREE.LineBasicMaterial){b=m.linewidth;if(E!=b)w.lineWidth=E=b;b=m.linecap;if(N!=b)w.lineCap=N=b;b=m.linejoin;if(F!=b)w.lineJoin=F=b;f(m.color.getContextStyle());w.stroke();T.inflate(m.linewidth*2)}}function y(b,f,k,h,n,t,la,p,w){m.data.vertices+=3;m.data.faces++;c(p.opacity);e(p.blending);S=b.positionScreen.x;
+P=b.positionScreen.y;o=f.positionScreen.x;W=f.positionScreen.y;na=k.positionScreen.x;R=k.positionScreen.y;G(S,P,o,W,na,R);if(p instanceof THREE.MeshBasicMaterial)if(p.map)p.map.mapping instanceof THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map));else if(p.envMap){if(p.envMap.mapping instanceof THREE.SphericalReflectionMapping)b=u.matrixWorldInverse,oa.copy(la.vertexNormalsWorld[0]),sa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Ca=-(oa.x*b.n21+oa.y*
+b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[1]),wa=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Aa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,oa.copy(la.vertexNormalsWorld[2]),za=(oa.x*b.n11+oa.y*b.n12+oa.z*b.n13)*0.5+0.5,Fa=-(oa.x*b.n21+oa.y*b.n22+oa.z*b.n23)*0.5+0.5,Ya(S,P,o,W,na,R,sa,Ca,wa,Aa,za,Fa,p.envMap)}else p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshLambertMaterial)p.map&&!p.wireframe&&(p.map.mapping instanceof
+THREE.UVMapping&&(ra=la.uvs[0],Ya(S,P,o,W,na,R,ra[h].u,ra[h].v,ra[n].u,ra[n].v,ra[t].u,ra[t].v,p.map)),e(THREE.SubtractiveBlending)),xa?!p.wireframe&&p.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==3?(ca.r=X.r=ja.r=ka.r,ca.g=X.g=ja.g=ka.g,ca.b=X.b=ja.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ja),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,
+ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(p.color.r*ha.r,1)),$.g=Math.max(0,Math.min(p.color.g*ha.g,1)),$.b=Math.max(0,Math.min(p.color.b*ha.b,1)),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)):p.wireframe?Ja(p.color,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka(p.color);else if(p instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-
+Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(k.positionScreen.z,V,pa),ea.r=(X.r+ja.r)*0.5,ea.g=(X.g+ja.g)*0.5,ea.b=(X.b+ja.b)*0.5,va=Wa(ca,X,ja,ea),Sa(S,P,o,W,na,R,0,0,1,0,0,1,va);else if(p instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),p.wireframe?Ja($,p.wireframeLinewidth,p.wireframeLinecap,p.wireframeLinejoin):Ka($)}function D(b,f,k,h,n,p,la,t,w){m.data.vertices+=4;m.data.faces++;c(t.opacity);
+e(t.blending);if(t.map||t.envMap)y(b,f,h,0,1,3,la,t,w),y(n,k,p,1,2,3,la,t,w);else if(S=b.positionScreen.x,P=b.positionScreen.y,o=f.positionScreen.x,W=f.positionScreen.y,na=k.positionScreen.x,R=k.positionScreen.y,ia=h.positionScreen.x,aa=h.positionScreen.y,ma=n.positionScreen.x,fa=n.positionScreen.y,ga=p.positionScreen.x,da=p.positionScreen.y,t instanceof THREE.MeshBasicMaterial)H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color);else if(t instanceof
+THREE.MeshLambertMaterial)xa?!t.wireframe&&t.shading==THREE.SmoothShading&&la.vertexNormalsWorld.length==4?(ca.r=X.r=ja.r=ea.r=ka.r,ca.g=X.g=ja.g=ea.g=ka.g,ca.b=X.b=ja.b=ea.b=ka.b,v(w,la.v1.positionWorld,la.vertexNormalsWorld[0],ca),v(w,la.v2.positionWorld,la.vertexNormalsWorld[1],X),v(w,la.v4.positionWorld,la.vertexNormalsWorld[3],ja),v(w,la.v3.positionWorld,la.vertexNormalsWorld[2],ea),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,da,1,
+0,1,1,0,1,va)):(ha.r=ka.r,ha.g=ka.g,ha.b=ka.b,v(w,la.centroidWorld,la.normalWorld,ha),$.r=Math.max(0,Math.min(t.color.r*ha.r,1)),$.g=Math.max(0,Math.min(t.color.g*ha.g,1)),$.b=Math.max(0,Math.min(t.color.b*ha.b,1)),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($)):(H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja(t.color,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka(t.color));else if(t instanceof THREE.MeshNormalMaterial)$.r=Ta(la.normalWorld.x),
+$.g=Ta(la.normalWorld.y),$.b=Ta(la.normalWorld.z),H(S,P,o,W,na,R,ia,aa),t.wireframe?Ja($,t.wireframeLinewidth,t.wireframeLinecap,t.wireframeLinejoin):Ka($);else if(t instanceof THREE.MeshDepthMaterial)V=u.near,pa=u.far,ca.r=ca.g=ca.b=1-Na(b.positionScreen.z,V,pa),X.r=X.g=X.b=1-Na(f.positionScreen.z,V,pa),ja.r=ja.g=ja.b=1-Na(h.positionScreen.z,V,pa),ea.r=ea.g=ea.b=1-Na(k.positionScreen.z,V,pa),va=Wa(ca,X,ja,ea),G(S,P,o,W,ia,aa),Sa(S,P,o,W,ia,aa,0,0,1,0,0,1,va),G(ma,fa,na,R,ga,da),Sa(ma,fa,na,R,ga,
+da,1,0,1,1,0,1,va)}function G(b,e,c,f,k,h){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(b,e);w.closePath()}function H(b,e,c,f,k,h,m,o){w.beginPath();w.moveTo(b,e);w.lineTo(c,f);w.lineTo(k,h);w.lineTo(m,o);w.lineTo(b,e);w.closePath()}function Ja(b,e,c,k){if(E!=e)w.lineWidth=E=e;if(N!=c)w.lineCap=N=c;if(F!=k)w.lineJoin=F=k;f(b.getContextStyle());w.stroke();T.inflate(e*2)}function Ka(b){h(b.getContextStyle());w.fill()}function Ya(b,e,c,f,k,m,o,n,t,p,la,u,v){if(v.image.width!=0){if(v.needsUpdate==
+!0||qa[v.id]==void 0){var x=v.wrapS==THREE.RepeatWrapping,Da=v.wrapT==THREE.RepeatWrapping;qa[v.id]=w.createPattern(v.image,x&&Da?"repeat":x&&!Da?"repeat-x":!x&&Da?"repeat-y":"no-repeat");v.needsUpdate=!1}h(qa[v.id]);var x=v.offset.x/v.repeat.x,Da=v.offset.y/v.repeat.y,M=(v.image.width-1)*v.repeat.x,v=(v.image.height-1)*v.repeat.y,o=(o+x)*M,n=(n+Da)*v,t=(t+x)*M,p=(p+Da)*v,la=(la+x)*M,u=(u+Da)*v;c-=b;f-=e;k-=b;m-=e;t-=o;p-=n;la-=o;u-=n;x=1/(t*u-la*p);v=(u*c-p*k)*x;p=(u*f-p*m)*x;c=(t*k-la*c)*x;f=(t*
+m-la*f)*x;b=b-v*o-c*n;e=e-p*o-f*n;w.save();w.transform(v,p,c,f,b,e);w.fill();w.restore()}}function Sa(b,e,c,f,k,h,m,o,n,t,p,la,u){var v,x;v=u.width-1;x=u.height-1;m*=v;o*=x;n*=v;t*=x;p*=v;la*=x;c-=b;f-=e;k-=b;h-=e;n-=m;t-=o;p-=m;la-=o;x=1/(n*la-p*t);v=(la*c-t*k)*x;t=(la*f-t*h)*x;c=(n*k-p*c)*x;f=(n*h-p*f)*x;b=b-v*m-c*o;e=e-t*m-f*o;w.save();w.transform(v,t,c,f,b,e);w.clip();w.drawImage(u,0,0);w.restore()}function Wa(b,e,c,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(e.r*255),o=~~(e.g*255),
+e=~~(e.b*255),n=~~(c.r*255),t=~~(c.g*255),c=~~(c.b*255),p=~~(f.r*255),u=~~(f.g*255),f=~~(f.b*255);Ba[0]=k<0?0:k>255?255:k;Ba[1]=h<0?0:h>255?255:h;Ba[2]=b<0?0:b>255?255:b;Ba[4]=m<0?0:m>255?255:m;Ba[5]=o<0?0:o>255?255:o;Ba[6]=e<0?0:e>255?255:e;Ba[8]=n<0?0:n>255?255:n;Ba[9]=t<0?0:t>255?255:t;Ba[10]=c<0?0:c>255?255:c;Ba[12]=p<0?0:p>255?255:p;Ba[13]=u<0?0:u>255?255:u;Ba[14]=f<0?0:f>255?255:f;Ga.putImageData(la,0,0);Da.drawImage(Y,0,0);return Va}function Na(b,e,c){b=(b-e)/(c-e);return b*b*(3-2*b)}function Ta(b){b=
+(b+1)*0.5;return b<0?0:b>1?1:b}function La(b,e){var c=e.x-b.x,f=e.y-b.y,k=c*c+f*f;k!=0&&(k=1/Math.sqrt(k),c*=k,f*=k,e.x+=c,e.y+=f,b.x-=c,b.y-=f)}var Xa,bb,ua,Ea,Ma,Ua,J,A;this.autoClear?this.clear():w.setTransform(1,0,0,-1,t,x);m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,u,this.sortElements);(xa=b.lights.length>0)&&p(b);Xa=0;for(bb=k.length;Xa<bb;Xa++){ua=k[Xa];T.empty();if(ua instanceof THREE.RenderableParticle){I=ua;I.x*=t;I.y*=x;Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],
+A.opacity!=0&&z(I,ua,A,b)}else if(ua instanceof THREE.RenderableLine){if(I=ua.v1,C=ua.v2,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.materials.length;Ea<Ma;)A=ua.materials[Ea++],A.opacity!=0&&B(I,C,ua,A,b)}}else if(ua instanceof THREE.RenderableFace3){if(I=ua.v1,C=ua.v2,K=ua.v3,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=
+t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,K.positionScreen),La(K.positionScreen,I.positionScreen)),T.add3Points(I.positionScreen.x,I.positionScreen.y,C.positionScreen.x,C.positionScreen.y,K.positionScreen.x,K.positionScreen.y),M.instersects(T)){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}else A.opacity!=0&&y(I,C,K,0,1,2,ua,A,b)}}else if(ua instanceof THREE.RenderableFace4&&(I=ua.v1,C=ua.v2,K=ua.v3,U=ua.v4,I.positionScreen.x*=t,I.positionScreen.y*=x,C.positionScreen.x*=t,C.positionScreen.y*=x,K.positionScreen.x*=t,K.positionScreen.y*=x,U.positionScreen.x*=t,U.positionScreen.y*=x,L.positionScreen.copy(C.positionScreen),O.positionScreen.copy(U.positionScreen),ua.overdraw&&(La(I.positionScreen,C.positionScreen),La(C.positionScreen,U.positionScreen),
+La(U.positionScreen,I.positionScreen),La(K.positionScreen,L.positionScreen),La(K.positionScreen,O.positionScreen)),T.addPoint(I.positionScreen.x,I.positionScreen.y),T.addPoint(C.positionScreen.x,C.positionScreen.y),T.addPoint(K.positionScreen.x,K.positionScreen.y),T.addPoint(U.positionScreen.x,U.positionScreen.y),M.instersects(T))){Ea=0;for(Ma=ua.meshMaterials.length;Ea<Ma;)if(A=ua.meshMaterials[Ea++],A instanceof THREE.MeshFaceMaterial){Ua=0;for(J=ua.faceMaterials.length;Ua<J;)(A=ua.faceMaterials[Ua++])&&
+A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}else A.opacity!=0&&D(I,C,K,U,L,O,ua,A,b)}Z.addRectangle(T)}w.setTransform(1,0,0,1,0,0)}};
+THREE.SVGRenderer=function(){function b(b,e,c){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.lights[f],h instanceof THREE.DirectionalLight?(m=e.normalWorld.dot(h.position)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m)):h instanceof THREE.PointLight&&(U.sub(h.position,e.centroidWorld),U.normalize(),m=e.normalWorld.dot(U)*h.intensity,m>0&&(c.r+=h.color.r*m,c.g+=h.color.g*m,c.b+=h.color.b*m))}function c(e,c,k,o,n,t){m.data.vertices+=3;m.data.faces++;S=f(P++);S.setAttribute("d",
+"M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+"z");n instanceof THREE.MeshBasicMaterial?E.copy(n.color):n instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(t,o,N),E.r=Math.max(0,Math.min(n.color.r*N.r,1)),E.g=Math.max(0,Math.min(n.color.g*N.g,1)),E.b=Math.max(0,Math.min(n.color.b*N.b,1))):E.copy(n.color):n instanceof THREE.MeshDepthMaterial?(K=1-n.__2near/(n.__farPlusNear-o.z*n.__farMinusNear),
+E.setRGB(K,K,K)):n instanceof THREE.MeshNormalMaterial&&E.setRGB(h(o.normalWorld.x),h(o.normalWorld.y),h(o.normalWorld.z));n.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+n.wireframeLinewidth+"; stroke-opacity: "+n.opacity+"; stroke-linecap: "+n.wireframeLinecap+"; stroke-linejoin: "+n.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+n.opacity);u.appendChild(S)}function e(e,c,k,o,n,t,p){m.data.vertices+=4;m.data.faces++;
+S=f(P++);S.setAttribute("d","M "+e.positionScreen.x+" "+e.positionScreen.y+" L "+c.positionScreen.x+" "+c.positionScreen.y+" L "+k.positionScreen.x+","+k.positionScreen.y+" L "+o.positionScreen.x+","+o.positionScreen.y+"z");t instanceof THREE.MeshBasicMaterial?E.copy(t.color):t instanceof THREE.MeshLambertMaterial?H?(N.r=F.r,N.g=F.g,N.b=F.b,b(p,n,N),E.r=Math.max(0,Math.min(t.color.r*N.r,1)),E.g=Math.max(0,Math.min(t.color.g*N.g,1)),E.b=Math.max(0,Math.min(t.color.b*N.b,1))):E.copy(t.color):t instanceof
+THREE.MeshDepthMaterial?(K=1-t.__2near/(t.__farPlusNear-n.z*t.__farMinusNear),E.setRGB(K,K,K)):t instanceof THREE.MeshNormalMaterial&&E.setRGB(h(n.normalWorld.x),h(n.normalWorld.y),h(n.normalWorld.z));t.wireframe?S.setAttribute("style","fill: none; stroke: "+E.getContextStyle()+"; stroke-width: "+t.wireframeLinewidth+"; stroke-opacity: "+t.opacity+"; stroke-linecap: "+t.wireframeLinecap+"; stroke-linejoin: "+t.wireframeLinejoin):S.setAttribute("style","fill: "+E.getContextStyle()+"; fill-opacity: "+
+t.opacity);u.appendChild(S)}function f(b){L[b]==null&&(L[b]=document.createElementNS("http://www.w3.org/2000/svg","path"),W==0&&L[b].setAttribute("shape-rendering","crispEdges"));return L[b]}function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}var m=this,k=null,n=new THREE.Projector,u=document.createElementNS("http://www.w3.org/2000/svg","svg"),p,v,t,x,w,z,y,B,D=new THREE.Rectangle,G=new THREE.Rectangle,H=!1,E=new THREE.Color(16777215),N=new THREE.Color(16777215),F=new THREE.Color(0),I=new THREE.Color(0),
+C=new THREE.Color(0),K,U=new THREE.Vector3,L=[],O=[],S,P,o,W=1;this.domElement=u;this.sortElements=this.sortObjects=this.autoClear=!0;this.data={vertices:0,faces:0};this.setQuality=function(b){switch(b){case "high":W=1;break;case "low":W=0}};this.setSize=function(b,e){p=b;v=e;t=p/2;x=v/2;u.setAttribute("viewBox",-t+" "+-x+" "+p+" "+v);u.setAttribute("width",p);u.setAttribute("height",v);D.set(-t,-x,t,x)};this.clear=function(){for(;u.childNodes.length>0;)u.removeChild(u.childNodes[0])};this.render=
+function(b,f){var h,p,v,E,N,L,K,ca;this.autoClear&&this.clear();m.data.vertices=0;m.data.faces=0;k=n.projectScene(b,f,this.sortElements);o=P=0;if(H=b.lights.length>0){K=b.lights;F.setRGB(0,0,0);I.setRGB(0,0,0);C.setRGB(0,0,0);h=0;for(p=K.length;h<p;h++)v=K[h],E=v.color,v instanceof THREE.AmbientLight?(F.r+=E.r,F.g+=E.g,F.b+=E.b):v instanceof THREE.DirectionalLight?(I.r+=E.r,I.g+=E.g,I.b+=E.b):v instanceof THREE.PointLight&&(C.r+=E.r,C.g+=E.g,C.b+=E.b)}h=0;for(p=k.length;h<p;h++)if(K=k[h],G.empty(),
+K instanceof THREE.RenderableParticle){w=K;w.x*=t;w.y*=-x;v=0;for(E=K.materials.length;v<E;)v++}else if(K instanceof THREE.RenderableLine){if(w=K.v1,z=K.v2,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),D.instersects(G)){v=0;for(E=K.materials.length;v<E;)if((ca=K.materials[v++])&&ca.opacity!=0){N=w;L=z;var X=o++;O[X]==null&&(O[X]=document.createElementNS("http://www.w3.org/2000/svg",
+"line"),W==0&&O[X].setAttribute("shape-rendering","crispEdges"));S=O[X];S.setAttribute("x1",N.positionScreen.x);S.setAttribute("y1",N.positionScreen.y);S.setAttribute("x2",L.positionScreen.x);S.setAttribute("y2",L.positionScreen.y);ca instanceof THREE.LineBasicMaterial&&(S.setAttribute("style","fill: none; stroke: "+ca.color.getContextStyle()+"; stroke-width: "+ca.linewidth+"; stroke-opacity: "+ca.opacity+"; stroke-linecap: "+ca.linecap+"; stroke-linejoin: "+ca.linejoin),u.appendChild(S))}}}else if(K instanceof
+THREE.RenderableFace3){if(w=K.v1,z=K.v2,y=K.v3,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),D.instersects(G)){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&
+ca.opacity!=0&&c(w,z,y,K,ca,b)}else ca&&ca.opacity!=0&&c(w,z,y,K,ca,b)}}else if(K instanceof THREE.RenderableFace4&&(w=K.v1,z=K.v2,y=K.v3,B=K.v4,w.positionScreen.x*=t,w.positionScreen.y*=-x,z.positionScreen.x*=t,z.positionScreen.y*=-x,y.positionScreen.x*=t,y.positionScreen.y*=-x,B.positionScreen.x*=t,B.positionScreen.y*=-x,G.addPoint(w.positionScreen.x,w.positionScreen.y),G.addPoint(z.positionScreen.x,z.positionScreen.y),G.addPoint(y.positionScreen.x,y.positionScreen.y),G.addPoint(B.positionScreen.x,
+B.positionScreen.y),D.instersects(G))){v=0;for(E=K.meshMaterials.length;v<E;)if(ca=K.meshMaterials[v++],ca instanceof THREE.MeshFaceMaterial){N=0;for(L=K.faceMaterials.length;N<L;)(ca=K.faceMaterials[N++])&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}else ca&&ca.opacity!=0&&e(w,z,y,B,K,ca,b)}}};
+THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform int combine;\n#endif",
+envmap_fragment:"#ifdef USE_ENVMAP\nvec4 cubeColor = textureCube( envMap, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = vec4( mix( gl_FragColor.xyz, cubeColor.xyz, reflectivity ), opacity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refractionRatio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
+map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, gl_PointCoord );\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif",
+lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif",lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
+lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat pointLightWeighting = max( dot( transformedNormal, lVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef PHONG\nvPointLight[ i ] = vec4( lVector, lDistance );\n#endif\n}\n#endif\n}",
+lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mColor = vec4( diffuse, opacity );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 pointSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight * pointDistance;\npointSpecular += mSpecular * pointSpecularWeight * pointDistance;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( vec3( 0.0 ), 1.0 );\nvec4 dirSpecular = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\nvColor = color;\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\n#endif",skinning_vertex:"#ifdef USE_SKINNING\ngl_Position = ( boneGlobalMatrices[ int( skinIndex.x ) ] * skinVertexA ) * skinWeight.x;\ngl_Position += ( boneGlobalMatrices[ int( skinIndex.y ) ] * skinVertexB ) * skinWeight.y;\ngl_Position = projectionMatrix * viewMatrix * objectMatrix * gl_Position;\n#endif",
+morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\nuniform float morphTargetInfluences[ 8 ];\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0, 0.0, 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif",
+default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform float shadowDarkness;\nuniform float shadowBias;\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",
+shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_SOFT\nconst float xPixelOffset = 1.0 / SHADOWMAP_WIDTH;\nconst float yPixelOffset = 1.0 / SHADOWMAP_HEIGHT;\n#endif\nvec4 shadowColor = vec4( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nif ( shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0 ) {\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nfor ( float y = -1.25; y <= 1.25; y += 1.25 )\nfor ( float x = -1.25; x <= 1.25; x += 1.25 ) {\nvec4 rgbaDepth = texture2D( shadowMap[ i ], vec2( x * xPixelOffset, y * yPixelOffset ) + shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadow += 1.0;\n}\nshadow /= 9.0;\nshadowColor = shadowColor * vec4( vec3( ( 1.0 - shadowDarkness * shadow ) ), 1.0 );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < ( shadowCoord.z + shadowBias ) )\nshadowColor = shadowColor * vec4( vec3( shadowDarkness ), 1.0 );\n#endif\n}\n}\ngl_FragColor = gl_FragColor * shadowColor;\n#endif",
+shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * objectMatrix * vec4( position, 1.0 );\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif"};
+THREE.UniformsUtils={merge:function(b){var c,e,f,h={};for(c=0;c<b.length;c++)for(e in f=this.clone(b[c]),f)h[e]=f[e];return h},clone:function(b){var c,e,f,h={};for(c in b)for(e in h[c]={},b[c])f=b[c][e],h[c][e]=f instanceof THREE.Color||f instanceof THREE.Vector2||f instanceof THREE.Vector3||f instanceof THREE.Vector4||f instanceof THREE.Matrix4||f instanceof THREE.Texture?f.clone():f instanceof Array?f.slice():f;return h}};
+THREE.UniformsLib={common:{diffuse:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},offsetRepeat:{type:"v4",value:new THREE.Vector4(0,0,1,1)},lightMap:{type:"t",value:2,texture:null},envMap:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refractionRatio:{type:"f",value:0.98},combine:{type:"i",value:0},morphTargetInfluences:{type:"f",value:0}},fog:{fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",
+value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightDistance:{type:"fv1",value:[]}},particle:{psColor:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},size:{type:"f",value:1},scale:{type:"f",
+value:1},map:{type:"t",value:0,texture:null},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},shadowmap:{shadowMap:{type:"tv",value:3,texture:[]},shadowMatrix:{type:"m4v",value:[]},shadowBias:{type:"f",value:0.0039},shadowDarkness:{type:"f",value:0.2}}};
+THREE.ShaderLib={lensFlareVertexTexture:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nuniform sampler2D occlusionMap;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\nvVisibility = ( visibility.r / 9.0 ) *\n( 1.0 - visibility.g / 9.0 ) *\n( visibility.b / 9.0 ) *\n( 1.0 - visibility.a / 9.0 );\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvarying float vVisibility;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * vVisibility;\ngl_FragColor = color;\n}\n}"},
+lensFlare:{vertexShader:"uniform vec3 screenPosition;\nuniform vec2 scale;\nuniform float rotation;\nuniform int renderType;\nattribute vec2 position;\nattribute vec2 UV;\nvarying vec2 vUV;\nvoid main() {\nvUV = UV;\nvec2 pos = position;\nif( renderType == 2 ) {\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\n}\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform sampler2D occlusionMap;\nuniform float opacity;\nuniform int renderType;\nvarying vec2 vUV;\nvoid main() {\nif( renderType == 0 ) {\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\n} else if( renderType == 1 ) {\ngl_FragColor = texture2D( map, vUV );\n} else {\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\nvisibility = ( 1.0 - visibility / 4.0 );\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity * visibility;\ngl_FragColor = color;\n}\n}"},
+sprite:{vertexShader:"uniform int useScreenCoordinates;\nuniform int affectedByDistance;\nuniform vec3 screenPosition;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float rotation;\nuniform vec2 scale;\nuniform vec2 alignment;\nuniform vec2 uvOffset;\nuniform vec2 uvScale;\nattribute vec2 position;\nattribute vec2 uv;\nvarying vec2 vUV;\nvoid main() {\nvUV = uvOffset + uv * uvScale;\nvec2 alignedPosition = position + alignment;\nvec2 rotatedPosition;\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\nvec4 finalPosition;\nif( useScreenCoordinates != 0 ) {\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\n} else {\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\nfinalPosition.xy += rotatedPosition * ( affectedByDistance == 1 ? 1.0 : finalPosition.z );\n}\ngl_Position = finalPosition;\n}",
+fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D map;\nuniform float opacity;\nvarying vec2 vUV;\nvoid main() {\nvec4 color = texture2D( map, vUV );\ncolor.a *= opacity;\ngl_FragColor = color;\n}"},shadowPost:{vertexShader:"uniform \tmat4 \tprojectionMatrix;\nattribute \tvec3 \tposition;\nvoid main() {\ngl_Position = projectionMatrix * vec4( position, 1.0 );\n}",fragmentShader:"#ifdef GL_ES\nprecision highp float;\n#endif\nuniform \tfloat \tdarkness;\nvoid main() {\ngl_FragColor = vec4( 0, 0, 0, darkness );\n}"},
+shadowVolumeDynamic:{uniforms:{directionalLightDirection:{type:"fv",value:[]}},vertexShader:"uniform \tvec3 \tdirectionalLightDirection;\nvoid main() {\nvec4 pos = objectMatrix * vec4( position, 1.0 );\nvec3 norm = mat3( objectMatrix[ 0 ].xyz, objectMatrix[ 1 ].xyz, objectMatrix[ 2 ].xyz ) * normal;\nvec4 extruded = vec4( directionalLightDirection * 5000.0 * step( 0.0, dot( directionalLightDirection, norm ) ), 0.0 );\ngl_Position = projectionMatrix * viewMatrix * ( pos + extruded );\n}",
+fragmentShader:"void main() {\ngl_FragColor = vec4( 1.0 );\n}"},depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3},opacity:{type:"f",value:1}},fragmentShader:"uniform float mNear;\nuniform float mFar;\nuniform float opacity;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), opacity );\n}",vertexShader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},
+normal:{uniforms:{opacity:{type:"f",value:1}},fragmentShader:"uniform float opacity;\nvarying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\n}",vertexShader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.shadowmap]),
+fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,
+THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:[THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},lambert:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,
+THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,"void main() {\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,"gl_FragColor = gl_FragColor * vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,
+"}"].join("\n"),vertexShader:["varying vec3 vLightWeighting;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,
+THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},phong:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.common,THREE.UniformsLib.fog,THREE.UniformsLib.lights,THREE.UniformsLib.shadowmap,{ambient:{type:"c",value:new THREE.Color(328965)},
+specular:{type:"c",value:new THREE.Color(1118481)},shininess:{type:"f",value:30}}]),fragmentShader:["uniform vec3 diffuse;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_pars_fragment,THREE.ShaderChunk.lightmap_pars_fragment,THREE.ShaderChunk.envmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.lights_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( vLightWeighting, 1.0 );",THREE.ShaderChunk.map_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.lights_fragment,THREE.ShaderChunk.lightmap_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.envmap_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.ShaderChunk.map_pars_vertex,THREE.ShaderChunk.lightmap_pars_vertex,
+THREE.ShaderChunk.envmap_pars_vertex,THREE.ShaderChunk.lights_pars_vertex,THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.map_vertex,THREE.ShaderChunk.lightmap_vertex,THREE.ShaderChunk.envmap_vertex,THREE.ShaderChunk.color_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = -mvPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
+THREE.ShaderChunk.lights_vertex,THREE.ShaderChunk.skinning_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},particle_basic:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.particle,THREE.UniformsLib.shadowmap]),fragmentShader:["uniform vec3 psColor;\nuniform float opacity;",THREE.ShaderChunk.color_pars_fragment,THREE.ShaderChunk.map_particle_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,THREE.ShaderChunk.shadowmap_pars_fragment,
+"void main() {\ngl_FragColor = vec4( psColor, opacity );",THREE.ShaderChunk.map_particle_fragment,THREE.ShaderChunk.alphatest_fragment,THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["uniform float size;\nuniform float scale;",THREE.ShaderChunk.color_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.color_vertex,"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n#ifdef USE_SIZEATTENUATION\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\n#else\ngl_PointSize = size;\n#endif\ngl_Position = projectionMatrix * mvPosition;",
+THREE.ShaderChunk.shadowmap_vertex,"}"].join("\n")},depthRGBA:{uniforms:{},fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}",vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,
+"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.default_vertex,"}"].join("\n")}};
+THREE.WebGLRenderer=function(b){function c(b,e,c){var f,k,h,m=b.vertices,n=m.length,t=b.colors,p=t.length,u=b.__vertexArray,v=b.__colorArray,w=b.__sortArray,x=b.__dirtyVertices,M=b.__dirtyColors,T=b.__webglCustomAttributes,z,y;if(T)for(z in T)T[z].offset=0;if(c.sortParticles){pa.multiplySelf(c.matrixWorld);for(f=0;f<n;f++)k=m[f].position,sa.copy(k),pa.multiplyVector3(sa),w[f]=[sa.z,f];w.sort(function(b,e){return e[0]-b[0]});for(f=0;f<n;f++)k=m[w[f][1]].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;
+for(f=0;f<p;f++)h=f*3,color=t[w[f][1]],v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T){f=T[z];t=f.value.length;for(h=0;h<t;h++){index=w[h][1];p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[index]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[index];f.size===2?(f.array[p]=y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=
+y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}else{if(x)for(f=0;f<n;f++)k=m[f].position,h=f*3,u[h]=k.x,u[h+1]=k.y,u[h+2]=k.z;if(M)for(f=0;f<p;f++)color=t[f],h=f*3,v[h]=color.r,v[h+1]=color.g,v[h+2]=color.b;if(T)for(z in T)if(f=T[z],f.__original.needsUpdate){t=f.value.length;for(h=0;h<t;h++){p=f.offset;if(f.size===1){if(f.boundTo===void 0||f.boundTo==="vertices")f.array[p]=f.value[h]}else{if(f.boundTo===void 0||f.boundTo==="vertices")y=f.value[h];f.size===2?(f.array[p]=
+y.x,f.array[p+1]=y.y):f.size===3?f.type==="c"?(f.array[p]=y.r,f.array[p+1]=y.g,f.array[p+2]=y.b):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z):(f.array[p]=y.x,f.array[p+1]=y.y,f.array[p+2]=y.z,f.array[p+3]=y.w)}f.offset+=f.size}}}if(x||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,u,e);if(M||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,b.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,v,e);if(T)for(z in T)if(f=T[z],f.__original.needsUpdate||c.sortParticles)o.bindBuffer(o.ARRAY_BUFFER,
+f.buffer),o.bufferData(o.ARRAY_BUFFER,f.array,e)}function e(b,e,c,f,h){f.program||P.initMaterial(f,e,c,h);if(f.morphTargets&&!h.__webglMorphTargetInfluences){h.__webglMorphTargetInfluences=new Float32Array(P.maxMorphTargets);for(var k=0,m=P.maxMorphTargets;k<m;k++)h.__webglMorphTargetInfluences[k]=0}var k=f.program,m=k.uniforms,n=f.uniforms;k!=na&&(o.useProgram(k),na=k);o.uniformMatrix4fv(m.projectionMatrix,!1,va);if(c&&(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||
+f instanceof THREE.MeshPhongMaterial||f instanceof THREE.LineBasicMaterial||f instanceof THREE.ParticleBasicMaterial||f.fog))if(n.fogColor.value=c.color,c instanceof THREE.Fog)n.fogNear.value=c.near,n.fogFar.value=c.far;else if(c instanceof THREE.FogExp2)n.fogDensity.value=c.density;if(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f.lights){var p,t,u,v=0,w=0,x=0,M,T,z,y=Ca,B=y.directional.colors,Z=y.directional.positions,D=y.point.colors,G=y.point.positions,H=y.point.distances,
+E=0,V=0,c=t=z=0;for(p=e.length;c<p;c++)if(t=e[c],u=t.color,M=t.position,T=t.intensity,z=t.distance,t instanceof THREE.AmbientLight)v+=u.r,w+=u.g,x+=u.b;else if(t instanceof THREE.DirectionalLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,Z[z]=M.x,Z[z+1]=M.y,Z[z+2]=M.z,E+=1;else if(t instanceof THREE.SpotLight)z=E*3,B[z]=u.r*T,B[z+1]=u.g*T,B[z+2]=u.b*T,u=1/M.length(),Z[z]=M.x*u,Z[z+1]=M.y*u,Z[z+2]=M.z*u,E+=1;else if(t instanceof THREE.PointLight)t=V*3,D[t]=u.r*T,D[t+1]=u.g*T,D[t+2]=u.b*T,G[t]=M.x,
+G[t+1]=M.y,G[t+2]=M.z,H[V]=z,V+=1;for(c=E*3;c<B.length;c++)B[c]=0;for(c=V*3;c<D.length;c++)D[c]=0;y.point.length=V;y.directional.length=E;y.ambient[0]=v;y.ambient[1]=w;y.ambient[2]=x;e=Ca;n.enableLighting.value=e.directional.length+e.point.length;n.ambientLightColor.value=e.ambient;n.directionalLightColor.value=e.directional.colors;n.directionalLightDirection.value=e.directional.positions;n.pointLightColor.value=e.point.colors;n.pointLightPosition.value=e.point.positions;n.pointLightDistance.value=
+e.point.distances}if(f instanceof THREE.MeshBasicMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshPhongMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity,(n.map.texture=f.map)&&n.offsetRepeat.value.set(f.map.offset.x,f.map.offset.y,f.map.repeat.x,f.map.repeat.y),n.lightMap.texture=f.lightMap,n.envMap.texture=f.envMap,n.reflectivity.value=f.reflectivity,n.refractionRatio.value=f.refractionRatio,n.combine.value=f.combine,n.useRefract.value=f.envMap&&f.envMap.mapping instanceof
+THREE.CubeRefractionMapping;if(f instanceof THREE.LineBasicMaterial)n.diffuse.value=f.color,n.opacity.value=f.opacity;else if(f instanceof THREE.ParticleBasicMaterial)n.psColor.value=f.color,n.opacity.value=f.opacity,n.size.value=f.size,n.scale.value=wa.height/2,n.map.texture=f.map;else if(f instanceof THREE.MeshPhongMaterial)n.ambient.value=f.ambient,n.specular.value=f.specular,n.shininess.value=f.shininess;else if(f instanceof THREE.MeshDepthMaterial)n.mNear.value=b.near,n.mFar.value=b.far,n.opacity.value=
+f.opacity;else if(f instanceof THREE.MeshNormalMaterial)n.opacity.value=f.opacity;if(h.receiveShadow&&!f._shadowPass&&n.shadowMatrix){for(e=0;e<xa.length;e++)n.shadowMatrix.value[e]=xa[e],n.shadowMap.texture[e]=P.shadowMap[e];n.shadowDarkness.value=P.shadowMapDarkness;n.shadowBias.value=P.shadowMapBias}for(var ka in n)if(p=k.uniforms[ka])if(c=n[ka],v=c.type,e=c.value,v=="i")o.uniform1i(p,e);else if(v=="f")o.uniform1f(p,e);else if(v=="v2")o.uniform2f(p,e.x,e.y);else if(v=="v3")o.uniform3f(p,e.x,e.y,
+e.z);else if(v=="v4")o.uniform4f(p,e.x,e.y,e.z,e.w);else if(v=="c")o.uniform3f(p,e.r,e.g,e.b);else if(v=="fv1")o.uniform1fv(p,e);else if(v=="fv")o.uniform3fv(p,e);else if(v=="v3v"){if(!c._array)c._array=new Float32Array(3*e.length);v=0;for(w=e.length;v<w;v++)x=v*3,c._array[x]=e[v].x,c._array[x+1]=e[v].y,c._array[x+2]=e[v].z;o.uniform3fv(p,c._array)}else if(v=="m4"){if(!c._array)c._array=new Float32Array(16);e.flattenToArray(c._array);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="m4v"){if(!c._array)c._array=
+new Float32Array(16*e.length);v=0;for(w=e.length;v<w;v++)e[v].flattenToArrayOffset(c._array,v*16);o.uniformMatrix4fv(p,!1,c._array)}else if(v=="t"){if(o.uniform1i(p,e),p=c.texture)if(p.image instanceof Array&&p.image.length==6){if(c=p,c.image.length==6)if(c.needsUpdate){if(!c.image.__webglTextureCube)c.image.__webglTextureCube=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube);for(e=0;e<6;e++)o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,
+o.RGBA,o.RGBA,o.UNSIGNED_BYTE,c.image[e]);I(o.TEXTURE_CUBE_MAP,c,c.image[0]);c.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.image.__webglTextureCube)}else p instanceof THREE.WebGLRenderTargetCube?(c=p,o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_CUBE_MAP,c.__webglTexture)):C(p,e)}else if(v=="tv"){if(!c._array){c._array=[];v=0;for(w=c.texture.length;v<w;v++)c._array[v]=e+v}o.uniform1iv(p,c._array);v=0;for(w=c.texture.length;v<w;v++)(p=c.texture[v])&&
+C(p,c._array[v])}o.uniformMatrix4fv(m.modelViewMatrix,!1,h._modelViewMatrixArray);m.normalMatrix&&o.uniformMatrix3fv(m.normalMatrix,!1,h._normalMatrixArray);(f instanceof THREE.MeshShaderMaterial||f instanceof THREE.MeshPhongMaterial||f.envMap)&&m.cameraPosition!==null&&o.uniform3f(m.cameraPosition,b.position.x,b.position.y,b.position.z);(f instanceof THREE.MeshShaderMaterial||f.envMap||f.skinning||h.receiveShadow)&&m.objectMatrix!==null&&o.uniformMatrix4fv(m.objectMatrix,!1,h._objectMatrixArray);
+(f instanceof THREE.MeshPhongMaterial||f instanceof THREE.MeshLambertMaterial||f instanceof THREE.MeshShaderMaterial||f.skinning)&&m.viewMatrix!==null&&o.uniformMatrix4fv(m.viewMatrix,!1,ra);f.skinning&&(o.uniformMatrix4fv(m.cameraInverseMatrix,!1,ra),o.uniformMatrix4fv(m.boneGlobalMatrices,!1,h.boneMatrices));return k}function f(b,c,f,h,k,m){if(h.opacity!=0){var n,b=e(b,c,f,h,m).attributes;if(!h.morphTargets&&b.position>=0)o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(b.position,
+3,o.FLOAT,!1,0,0);else if(m.morphTargetBase){c=h.program.attributes;m.morphTargetBase!==-1?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[m.morphTargetBase]),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0)):c.position>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer),o.vertexAttribPointer(c.position,3,o.FLOAT,!1,0,0));if(m.morphTargetForcedOrder.length)for(var f=0,p=m.morphTargetForcedOrder,t=m.morphTargetInfluences;f<h.numSupportedMorphTargets&&f<p.length;)o.bindBuffer(o.ARRAY_BUFFER,
+k.__webglMorphTargetsBuffers[p[f]]),o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0),m.__webglMorphTargetInfluences[f]=t[p[f]],f++;else{var p=[],u=-1,v=0,t=m.morphTargetInfluences,w,x=t.length,f=0;for(m.morphTargetBase!==-1&&(p[m.morphTargetBase]=!0);f<h.numSupportedMorphTargets;){for(w=0;w<x;w++)!p[w]&&t[w]>u&&(v=w,u=t[v]);o.bindBuffer(o.ARRAY_BUFFER,k.__webglMorphTargetsBuffers[v]);o.vertexAttribPointer(c["morphTarget"+f],3,o.FLOAT,!1,0,0);m.__webglMorphTargetInfluences[f]=u;p[v]=1;u=
+-1;f++}}h.program.uniforms.morphTargetInfluences!==null&&o.uniform1fv(h.program.uniforms.morphTargetInfluences,m.__webglMorphTargetInfluences)}if(k.__webglCustomAttributes)for(n in k.__webglCustomAttributes)b[n]>=0&&(c=k.__webglCustomAttributes[n],o.bindBuffer(o.ARRAY_BUFFER,c.buffer),o.vertexAttribPointer(b[n],c.size,o.FLOAT,!1,0,0));b.color>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer),o.vertexAttribPointer(b.color,3,o.FLOAT,!1,0,0));b.normal>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglNormalBuffer),
+o.vertexAttribPointer(b.normal,3,o.FLOAT,!1,0,0));b.tangent>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglTangentBuffer),o.vertexAttribPointer(b.tangent,4,o.FLOAT,!1,0,0));b.uv>=0&&(k.__webglUVBuffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUVBuffer),o.vertexAttribPointer(b.uv,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv)):o.disableVertexAttribArray(b.uv));b.uv2>=0&&(k.__webglUV2Buffer?(o.bindBuffer(o.ARRAY_BUFFER,k.__webglUV2Buffer),o.vertexAttribPointer(b.uv2,2,o.FLOAT,!1,0,0),o.enableVertexAttribArray(b.uv2)):
+o.disableVertexAttribArray(b.uv2));h.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0&&(o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexABuffer),o.vertexAttribPointer(b.skinVertexA,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinVertexBBuffer),o.vertexAttribPointer(b.skinVertexB,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinIndicesBuffer),o.vertexAttribPointer(b.skinIndex,4,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,k.__webglSkinWeightsBuffer),
+o.vertexAttribPointer(b.skinWeight,4,o.FLOAT,!1,0,0));m instanceof THREE.Mesh?(h.wireframe?(o.lineWidth(h.wireframeLinewidth),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglLineBuffer),o.drawElements(o.LINES,k.__webglLineCount,o.UNSIGNED_SHORT,0)):(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,k.__webglFaceBuffer),o.drawElements(o.TRIANGLES,k.__webglFaceCount,o.UNSIGNED_SHORT,0)),P.data.vertices+=k.__webglFaceCount,P.data.faces+=k.__webglFaceCount/3,P.data.drawCalls++):m instanceof THREE.Line?(m=m.type==THREE.LineStrip?
+o.LINE_STRIP:o.LINES,o.lineWidth(h.linewidth),o.drawArrays(m,0,k.__webglLineCount),P.data.drawCalls++):m instanceof THREE.ParticleSystem?(o.drawArrays(o.POINTS,0,k.__webglParticleCount),P.data.drawCalls++):m instanceof THREE.Ribbon&&(o.drawArrays(o.TRIANGLE_STRIP,0,k.__webglVertexCount),P.data.drawCalls++)}}function h(b,e,c){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.createBuffer();if(!b.__webglNormalBuffer)b.__webglNormalBuffer=o.createBuffer();b.hasPos&&(o.bindBuffer(o.ARRAY_BUFFER,b.__webglVertexBuffer),
+o.bufferData(o.ARRAY_BUFFER,b.positionArray,o.DYNAMIC_DRAW),o.enableVertexAttribArray(e.attributes.position),o.vertexAttribPointer(e.attributes.position,3,o.FLOAT,!1,0,0));if(b.hasNormal){o.bindBuffer(o.ARRAY_BUFFER,b.__webglNormalBuffer);if(c==THREE.FlatShading){var f,k,h,m,n,p,t,u,v,w,x=b.count*3;for(w=0;w<x;w+=9)c=b.normalArray,f=c[w],k=c[w+1],h=c[w+2],m=c[w+3],p=c[w+4],u=c[w+5],n=c[w+6],t=c[w+7],v=c[w+8],f=(f+m+n)/3,k=(k+p+t)/3,h=(h+u+v)/3,c[w]=f,c[w+1]=k,c[w+2]=h,c[w+3]=f,c[w+4]=k,c[w+5]=h,c[w+
+6]=f,c[w+7]=k,c[w+8]=h}o.bufferData(o.ARRAY_BUFFER,b.normalArray,o.DYNAMIC_DRAW);o.enableVertexAttribArray(e.attributes.normal);o.vertexAttribPointer(e.attributes.normal,3,o.FLOAT,!1,0,0)}o.drawArrays(o.TRIANGLES,0,b.count);b.count=0}function m(b){if(aa!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):o.enable(o.CULL_FACE),aa=b.doubleSided;if(ma!=b.flipSided)b.flipSided?o.frontFace(o.CW):o.frontFace(o.CCW),ma=b.flipSided}function k(b){ga!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),ga=
+b)}function n(b,e,c){da!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o.POLYGON_OFFSET_FILL),da=b);if(b&&($!=e||ca!=c))o.polygonOffset(e,c),$=e,ca=c}function u(b){V[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-b.n14);V[1].set(b.n41+b.n11,b.n42+b.n12,b.n43+b.n13,b.n44+b.n14);V[2].set(b.n41+b.n21,b.n42+b.n22,b.n43+b.n23,b.n44+b.n24);V[3].set(b.n41-b.n21,b.n42-b.n22,b.n43-b.n23,b.n44-b.n24);V[4].set(b.n41-b.n31,b.n42-b.n32,b.n43-b.n33,b.n44-b.n34);V[5].set(b.n41+b.n31,b.n42+b.n32,b.n43+b.n33,
+b.n44+b.n34);for(var e,b=0;b<6;b++)e=V[b],e.divideScalar(Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z))}function p(b){for(var e=b.matrixWorld,c=-b.geometry.boundingSphere.radius*Math.max(b.scale.x,Math.max(b.scale.y,b.scale.z)),f=0;f<6;f++)if(b=V[f].x*e.n14+V[f].y*e.n24+V[f].z*e.n34+V[f].w,b<=c)return!1;return!0}function v(b,e){b.list[b.count]=e;b.count+=1}function t(b){var e,c,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=k.count=0;for(e=f.materials.length;b<e;b++)c=f.materials[b],c.transparent?v(h,c):
+v(k,c)}function x(b){var e,c,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transparent;o.count=0;b=n.count=0;for(f=h.materials.length;b<f;b++)if(e=h.materials[b],e instanceof THREE.MeshFaceMaterial){e=0;for(c=m.materials.length;e<c;e++)(k=m.materials[e])&&(k.transparent?v(o,k):v(n,k))}else(k=e)&&(k.transparent?v(o,k):v(n,k))}function w(b,e){return e.z-b.z}function z(b,c){var n,t,v,w=0,x,z,y,D,G=b.lights;T||(T=new THREE.Camera(P.shadowCameraFov,c.aspect,P.shadowCameraNear,P.shadowCameraFar));n=0;for(t=
+G.length;n<t;n++)if(v=G[n],v instanceof THREE.SpotLight&&v.castShadow){P.shadowMap[w]||(P.shadowMap[w]=new THREE.WebGLRenderTarget(P.shadowMapWidth,P.shadowMapHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat}));xa[w]||(xa[w]=new THREE.Matrix4);x=P.shadowMap[w];z=xa[w];T.position.copy(v.position);T.target.position.copy(v.target.position);T.update(void 0,!0);b.update(void 0,!1,T);z.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);z.multiplySelf(T.projectionMatrix);
+z.multiplySelf(T.matrixWorldInverse);T.matrixWorldInverse.flattenToArray(ra);T.projectionMatrix.flattenToArray(va);pa.multiply(T.projectionMatrix,T.matrixWorldInverse);u(pa);P.initWebGLObjects(b);K(x);o.clearColor(1,1,1,1);P.clear();o.clearColor(M.r,M.g,M.b,Z);z=b.__webglObjects.length;v=b.__webglObjectsImmediate.length;for(x=0;x<z;x++)y=b.__webglObjects[x],D=y.object,D.visible&&D.castShadow?!(D instanceof THREE.Mesh)||!D.frustumCulled||p(D)?(D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,
+T,!1),y.render=!0):y.render=!1:y.render=!1;k(!0);F(THREE.NormalBlending);for(x=0;x<z;x++)if(y=b.__webglObjects[x],y.render)D=y.object,buffer=y.buffer,m(D),y=D.customDepthMaterial?D.customDepthMaterial:D.geometry.morphTargets.length?ya:ka,f(T,G,null,y,buffer,D);for(x=0;x<v;x++)y=b.__webglObjectsImmediate[x],D=y.object,D.visible&&D.castShadow&&(D.matrixAutoUpdate&&D.matrixWorld.flattenToArray(D._objectMatrixArray),B(D,T,!1),m(D),program=e(T,G,null,ka,D),D.render(function(b){h(b,program,ka.shading)}));
+w++}}function y(b,e){var c,f,k;c=Y.attributes;var h=Y.uniforms,m=qa/ea,n,p=[],t=ea*0.5,u=qa*0.5,v=!0;o.useProgram(Y.program);na=Y.program;ga=fa=-1;Ga||(o.enableVertexAttribArray(Y.attributes.position),o.enableVertexAttribArray(Y.attributes.uv),Ga=!0);o.disable(o.CULL_FACE);o.enable(o.BLEND);o.depthMask(!0);o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.vertexAttribPointer(c.position,2,o.FLOAT,!1,16,0);o.vertexAttribPointer(c.uv,2,o.FLOAT,!1,16,8);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);
+o.uniformMatrix4fv(h.projectionMatrix,!1,va);o.activeTexture(o.TEXTURE0);o.uniform1i(h.map,0);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.useScreenCoordinates?k.z=-k.position.z:(k._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,k.matrixWorld,k._modelViewMatrixArray),k.z=-k._modelViewMatrix.n34);b.__webglSprites.sort(w);c=0;for(f=b.__webglSprites.length;c<f;c++)k=b.__webglSprites[c],k.material===void 0&&k.map&&k.map.image&&k.map.image.width&&(k.useScreenCoordinates?(o.uniform1i(h.useScreenCoordinates,
+1),o.uniform3f(h.screenPosition,(k.position.x-t)/t,(u-k.position.y)/u,Math.max(0,Math.min(1,k.position.z)))):(o.uniform1i(h.useScreenCoordinates,0),o.uniform1i(h.affectedByDistance,k.affectedByDistance?1:0),o.uniformMatrix4fv(h.modelViewMatrix,!1,k._modelViewMatrixArray)),n=k.map.image.width/(k.scaleByViewport?qa:1),p[0]=n*m*k.scale.x,p[1]=n*k.scale.y,o.uniform2f(h.uvScale,k.uvScale.x,k.uvScale.y),o.uniform2f(h.uvOffset,k.uvOffset.x,k.uvOffset.y),o.uniform2f(h.alignment,k.alignment.x,k.alignment.y),
+o.uniform1f(h.opacity,k.opacity),o.uniform1f(h.rotation,k.rotation),o.uniform2fv(h.scale,p),k.mergeWith3D&&!v?(o.enable(o.DEPTH_TEST),v=!0):!k.mergeWith3D&&v&&(o.disable(o.DEPTH_TEST),v=!1),F(k.blending),C(k.map,0),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0));o.enable(o.CULL_FACE);o.enable(o.DEPTH_TEST);o.depthMask(ia)}function B(b,e,c){b._modelViewMatrix.multiplyToArray(e.matrixWorldInverse,b.matrixWorld,b._modelViewMatrixArray);c&&THREE.Matrix4.makeInvert3x3(b._modelViewMatrix).transposeIntoArray(b._normalMatrixArray)}
+function D(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)if(f.attributes[e].needsUpdate)return!0;return!1}function G(b){var e,c,f,k;k=b.__materials;b=0;for(c=k.length;b<c;b++)if(f=k[b],f.attributes)for(e in f.attributes)f.attributes[e].needsUpdate=!1}function H(b,e){var c;for(c=b.length-1;c>=0;c--)b[c].object==e&&b.splice(c,1)}function E(b){function e(b){var k=[];c=0;for(f=b.length;c<f;c++)b[c]==void 0?k.push("undefined"):k.push(b[c].id);return k.join("_")}
+var c,f,k,h,m,n,o,p,t={},u=b.morphTargets!==void 0?b.morphTargets.length:0;b.geometryGroups={};k=0;for(h=b.faces.length;k<h;k++)m=b.faces[k],n=m.materials,o=e(n),t[o]==void 0&&(t[o]={hash:o,counter:0}),p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],materials:n,vertices:0,numMorphTargets:u}),m=m instanceof THREE.Face3?3:4,b.geometryGroups[p].vertices+m>65535&&(t[o].counter+=1,p=t[o].hash+"_"+t[o].counter,b.geometryGroups[p]==void 0&&(b.geometryGroups[p]={faces:[],
+materials:n,vertices:0,numMorphTargets:u})),b.geometryGroups[p].faces.push(k),b.geometryGroups[p].vertices+=m;b.geometryGroupsList=[];for(var v in b.geometryGroups)b.geometryGroupsList.push(b.geometryGroups[v])}function N(b,e,c){b.push({buffer:e,object:c,opaque:{list:[],count:0},transparent:{list:[],count:0}})}function F(b){if(b!=fa){switch(b){case THREE.AdditiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE);break;case THREE.SubtractiveBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,
+o.ONE_MINUS_SRC_COLOR);break;case THREE.MultiplyBlending:o.blendEquation(o.FUNC_ADD);o.blendFunc(o.ZERO,o.SRC_COLOR);break;default:o.blendEquationSeparate(o.FUNC_ADD,o.FUNC_ADD),o.blendFuncSeparate(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA)}fa=b}}function I(b,e,c){(c.width&c.width-1)==0&&(c.height&c.height-1)==0?(o.texParameteri(b,o.TEXTURE_WRAP_S,S(e.wrapS)),o.texParameteri(b,o.TEXTURE_WRAP_T,S(e.wrapT)),o.texParameteri(b,o.TEXTURE_MAG_FILTER,S(e.magFilter)),o.texParameteri(b,
+o.TEXTURE_MIN_FILTER,S(e.minFilter)),o.generateMipmap(b)):(o.texParameteri(b,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(b,o.TEXTURE_MAG_FILTER,O(e.magFilter)),o.texParameteri(b,o.TEXTURE_MIN_FILTER,O(e.minFilter)))}function C(b,e){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b.__webglTexture=o.createTexture();o.activeTexture(o.TEXTURE0+e);o.bindTexture(o.TEXTURE_2D,b.__webglTexture);b instanceof THREE.DataTexture?o.texImage2D(o.TEXTURE_2D,
+0,S(b.format),b.image.width,b.image.height,0,S(b.format),o.UNSIGNED_BYTE,b.image.data):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,b.image);I(o.TEXTURE_2D,b,b.image);b.needsUpdate=!1}else o.activeTexture(o.TEXTURE0+e),o.bindTexture(o.TEXTURE_2D,b.__webglTexture)}function K(b){var e=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.depthBuffer=!0;if(b.stencilBuffer===void 0)b.stencilBuffer=!0;b.__webglRenderbuffer=o.createRenderbuffer();
+b.__webglTexture=o.createTexture();if(e){o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture);I(o.TEXTURE_CUBE_MAP,b,b);b.__webglFramebuffer=[];for(var c=0;c<6;c++)b.__webglFramebuffer[c]=o.createFramebuffer(),o.texImage2D(o.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),null)}else b.__webglFramebuffer=o.createFramebuffer(),o.bindTexture(o.TEXTURE_2D,b.__webglTexture),I(o.TEXTURE_2D,b,b),o.texImage2D(o.TEXTURE_2D,0,S(b.format),b.width,b.height,0,S(b.format),S(b.type),
+null);o.bindRenderbuffer(o.RENDERBUFFER,b.__webglRenderbuffer);if(e)for(c=0;c<6;++c)o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer[c]),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_CUBE_MAP_POSITIVE_X+c,b.__webglTexture,0);else o.bindFramebuffer(o.FRAMEBUFFER,b.__webglFramebuffer),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,b.__webglTexture,0);b.depthBuffer&&!b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_COMPONENT16,b.width,b.height),
+o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):b.depthBuffer&&b.stencilBuffer?(o.renderbufferStorage(o.RENDERBUFFER,o.DEPTH_STENCIL,b.width,b.height),o.framebufferRenderbuffer(o.FRAMEBUFFER,o.DEPTH_STENCIL_ATTACHMENT,o.RENDERBUFFER,b.__webglRenderbuffer)):o.renderbufferStorage(o.RENDERBUFFER,o.RGBA4,b.width,b.height);e?o.bindTexture(o.TEXTURE_CUBE_MAP,null):o.bindTexture(o.TEXTURE_2D,null);o.bindRenderbuffer(o.RENDERBUFFER,null);o.bindFramebuffer(o.FRAMEBUFFER,
+null)}var f,k;b?(e=e?b.__webglFramebuffer[b.activeCubeFace]:b.__webglFramebuffer,c=b.width,b=b.height,k=f=0):(e=null,c=ea,b=qa,f=X,k=ja);e!=R&&(o.bindFramebuffer(o.FRAMEBUFFER,e),o.viewport(f,k,c,b),R=e)}function U(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o.TEXTURE_CUBE_MAP,b.__webglTexture),o.generateMipmap(o.TEXTURE_CUBE_MAP),o.bindTexture(o.TEXTURE_CUBE_MAP,null)):(o.bindTexture(o.TEXTURE_2D,b.__webglTexture),o.generateMipmap(o.TEXTURE_2D),o.bindTexture(o.TEXTURE_2D,null))}function L(b,
+e){var c;b=="fragment"?c=o.createShader(o.FRAGMENT_SHADER):b=="vertex"&&(c=o.createShader(o.VERTEX_SHADER));o.shaderSource(c,e);o.compileShader(c);if(!o.getShaderParameter(c,o.COMPILE_STATUS))return console.error(o.getShaderInfoLog(c)),console.error(e),null;return c}function O(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMapNearestFilter:case THREE.NearestMipMapLinearFilter:return o.NEAREST;default:return o.LINEAR}}function S(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;case THREE.ClampToEdgeWrapping:return o.CLAMP_TO_EDGE;
+case THREE.MirroredRepeatWrapping:return o.MIRRORED_REPEAT;case THREE.NearestFilter:return o.NEAREST;case THREE.NearestMipMapNearestFilter:return o.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return o.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return o.LINEAR;case THREE.LinearMipMapNearestFilter:return o.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return o.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return o.BYTE;case THREE.UnsignedByteType:return o.UNSIGNED_BYTE;case THREE.ShortType:return o.SHORT;
+case THREE.UnsignedShortType:return o.UNSIGNED_SHORT;case THREE.IntType:return o.INT;case THREE.UnsignedShortType:return o.UNSIGNED_INT;case THREE.FloatType:return o.FLOAT;case THREE.AlphaFormat:return o.ALPHA;case THREE.RGBFormat:return o.RGB;case THREE.RGBAFormat:return o.RGBA;case THREE.LuminanceFormat:return o.LUMINANCE;case THREE.LuminanceAlphaFormat:return o.LUMINANCE_ALPHA}return 0}var P=this,o,W=[],na=null,R=null,ia=!0,aa=null,ma=null,fa=null,ga=null,da=null,$=null,ca=null,X=0,ja=0,ea=0,qa=
+0,V=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4],pa=new THREE.Matrix4,va=new Float32Array(16),ra=new Float32Array(16),sa=new THREE.Vector4,Ca={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]}},b=b||{},wa=b.canvas!==void 0?b.canvas:document.createElement("canvas"),Aa=b.stencil!==void 0?b.stencil:!0,za=b.preserveDrawingBuffer!==void 0?b.preserveDrawingBuffer:!1,Fa=b.antialias!==
+void 0?b.antialias:!1,M=b.clearColor!==void 0?new THREE.Color(b.clearColor):new THREE.Color(0),Z=b.clearAlpha!==void 0?b.clearAlpha:0;_maxLights=b.maxLights!==void 0?b.maxLights:4;this.data={vertices:0,faces:0,drawCalls:0};this.maxMorphTargets=8;this.domElement=wa;this.sortObjects=this.autoClear=!0;this.shadowMapBias=0.0039;this.shadowMapDarkness=0.5;this.shadowMapHeight=this.shadowMapWidth=512;this.shadowCameraNear=1;this.shadowCameraFar=5E3;this.shadowCameraFov=50;this.shadowMap=[];this.shadowMapEnabled=
+!1;this.shadowMapSoft=!0;var T,xa=[],b=THREE.ShaderLib.depthRGBA,ha=THREE.UniformsUtils.clone(b.uniforms),ka=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha}),ya=new THREE.MeshShaderMaterial({fragmentShader:b.fragmentShader,vertexShader:b.vertexShader,uniforms:ha,morphTargets:!0});ka._shadowPass=!0;ya._shadowPass=!0;try{if(!(o=wa.getContext("experimental-webgl",{antialias:Fa,stencil:Aa,preserveDrawingBuffer:za})))throw"Error creating WebGL context.";
+console.log(navigator.userAgent+" | "+o.getParameter(o.VERSION)+" | "+o.getParameter(o.VENDOR)+" | "+o.getParameter(o.RENDERER)+" | "+o.getParameter(o.SHADING_LANGUAGE_VERSION))}catch(ta){console.error(ta)}o.clearColor(0,0,0,1);o.clearDepth(1);o.clearStencil(0);o.enable(o.DEPTH_TEST);o.depthFunc(o.LEQUAL);o.frontFace(o.CCW);o.cullFace(o.BACK);o.enable(o.CULL_FACE);o.enable(o.BLEND);o.blendEquation(o.FUNC_ADD);o.blendFunc(o.SRC_ALPHA,o.ONE_MINUS_SRC_ALPHA);o.clearColor(M.r,M.g,M.b,Z);this.context=
+o;var oa=o.getParameter(o.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0,Y={};Y.vertices=new Float32Array(16);Y.faces=new Uint16Array(6);i=0;Y.vertices[i++]=-1;Y.vertices[i++]=-1;Y.vertices[i++]=0;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=1;Y.vertices[i++]=0;Y.vertices[i++]=-1;Y.vertices[i++]=1;Y.vertices[i++]=0;i=Y.vertices[i++]=0;Y.faces[i++]=0;Y.faces[i++]=1;Y.faces[i++]=2;Y.faces[i++]=0;Y.faces[i++]=2;Y.faces[i++]=
+3;Y.vertexBuffer=o.createBuffer();Y.elementBuffer=o.createBuffer();o.bindBuffer(o.ARRAY_BUFFER,Y.vertexBuffer);o.bufferData(o.ARRAY_BUFFER,Y.vertices,o.STATIC_DRAW);o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,Y.elementBuffer);o.bufferData(o.ELEMENT_ARRAY_BUFFER,Y.faces,o.STATIC_DRAW);Y.program=o.createProgram();o.attachShader(Y.program,L("fragment",THREE.ShaderLib.sprite.fragmentShader));o.attachShader(Y.program,L("vertex",THREE.ShaderLib.sprite.vertexShader));o.linkProgram(Y.program);Y.attributes={};Y.uniforms=
+{};Y.attributes.position=o.getAttribLocation(Y.program,"position");Y.attributes.uv=o.getAttribLocation(Y.program,"uv");Y.uniforms.uvOffset=o.getUniformLocation(Y.program,"uvOffset");Y.uniforms.uvScale=o.getUniformLocation(Y.program,"uvScale");Y.uniforms.rotation=o.getUniformLocation(Y.program,"rotation");Y.uniforms.scale=o.getUniformLocation(Y.program,"scale");Y.uniforms.alignment=o.getUniformLocation(Y.program,"alignment");Y.uniforms.map=o.getUniformLocation(Y.program,"map");Y.uniforms.opacity=o.getUniformLocation(Y.program,
+"opacity");Y.uniforms.useScreenCoordinates=o.getUniformLocation(Y.program,"useScreenCoordinates");Y.uniforms.affectedByDistance=o.getUniformLocation(Y.program,"affectedByDistance");Y.uniforms.screenPosition=o.getUniformLocation(Y.program,"screenPosition");Y.uniforms.modelViewMatrix=o.getUniformLocation(Y.program,"modelViewMatrix");Y.uniforms.projectionMatrix=o.getUniformLocation(Y.program,"projectionMatrix");var Ga=!1;this.setSize=function(b,e){wa.width=b;wa.height=e;this.setViewport(0,0,wa.width,
+wa.height)};this.setViewport=function(b,e,c,f){X=b;ja=e;ea=c;qa=f;o.viewport(X,ja,ea,qa)};this.setScissor=function(b,e,c,f){o.scissor(b,e,c,f)};this.enableScissorTest=function(b){b?o.enable(o.SCISSOR_TEST):o.disable(o.SCISSOR_TEST)};this.enableDepthBufferWrite=function(b){ia=b;o.depthMask(b)};this.setClearColorHex=function(b,e){M.setHex(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.setClearColor=function(b,e){M.copy(b);Z=e;o.clearColor(M.r,M.g,M.b,Z)};this.clear=function(){o.clear(o.COLOR_BUFFER_BIT|o.DEPTH_BUFFER_BIT|
+o.STENCIL_BUFFER_BIT)};this.getContext=function(){return o};this.deallocateObject=function(b){if(b.__webglInit)if(b.__webglInit=!1,delete b._modelViewMatrix,delete b._normalMatrixArray,delete b._modelViewMatrixArray,delete b._objectMatrixArray,b instanceof THREE.Mesh)for(g in b.geometry.geometryGroups){var e=b.geometry.geometryGroups[g];o.deleteBuffer(e.__webglVertexBuffer);o.deleteBuffer(e.__webglNormalBuffer);o.deleteBuffer(e.__webglTangentBuffer);o.deleteBuffer(e.__webglColorBuffer);o.deleteBuffer(e.__webglUVBuffer);
+o.deleteBuffer(e.__webglUV2Buffer);o.deleteBuffer(e.__webglSkinVertexABuffer);o.deleteBuffer(e.__webglSkinVertexBBuffer);o.deleteBuffer(e.__webglSkinIndicesBuffer);o.deleteBuffer(e.__webglSkinWeightsBuffer);o.deleteBuffer(e.__webglFaceBuffer);o.deleteBuffer(e.__webglLineBuffer);if(e.numMorphTargets)for(var c=0,f=e.numMorphTargets;c<f;c++)o.deleteBuffer(e.__webglMorphTargetsBuffers[c])}else if(b instanceof THREE.Ribbon)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);
+else if(b instanceof THREE.Line)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer);else if(b instanceof THREE.ParticleSystem)b=b.geometry,o.deleteBuffer(b.__webglVertexBuffer),o.deleteBuffer(b.__webglColorBuffer)};this.deallocateTexture=function(b){if(b.__webglInit)b.__webglInit=!1,o.deleteTexture(b.__webglTexture)};this.initMaterial=function(b,e,c,f){var k,h,m;b instanceof THREE.MeshDepthMaterial?m="depth":b instanceof THREE.MeshNormalMaterial?m="normal":b instanceof
+THREE.MeshBasicMaterial?m="basic":b instanceof THREE.MeshLambertMaterial?m="lambert":b instanceof THREE.MeshPhongMaterial?m="phong":b instanceof THREE.LineBasicMaterial?m="basic":b instanceof THREE.ParticleBasicMaterial&&(m="particle_basic");if(m){var n=THREE.ShaderLib[m];b.uniforms=THREE.UniformsUtils.clone(n.uniforms);b.vertexShader=n.vertexShader;b.fragmentShader=n.fragmentShader}var p,t,u;p=u=n=0;for(t=e.length;p<t;p++)h=e[p],h instanceof THREE.SpotLight&&u++,h instanceof THREE.DirectionalLight&&
+u++,h instanceof THREE.PointLight&&n++;n+u<=_maxLights?p=u:(p=Math.ceil(_maxLights*u/(n+u)),n=_maxLights-p);h={directional:p,point:n};n=u=0;for(p=e.length;n<p;n++)t=e[n],t instanceof THREE.SpotLight&&t.castShadow&&u++;var v=50;if(f!==void 0&&f instanceof THREE.SkinnedMesh)v=f.bones.length;var w;a:{p=b.fragmentShader;t=b.vertexShader;var n=b.uniforms,e=b.attributes,c={map:!!b.map,envMap:!!b.envMap,lightMap:!!b.lightMap,vertexColors:b.vertexColors,fog:c,sizeAttenuation:b.sizeAttenuation,skinning:b.skinning,
+morphTargets:b.morphTargets,maxMorphTargets:this.maxMorphTargets,maxDirLights:h.directional,maxPointLights:h.point,maxBones:v,shadowMapEnabled:this.shadowMapEnabled&&f.receiveShadow,shadowMapSoft:this.shadowMapSoft,shadowMapWidth:this.shadowMapWidth,shadowMapHeight:this.shadowMapHeight,maxShadows:u,alphaTest:b.alphaTest},x,f=[];m?f.push(m):(f.push(p),f.push(t));for(x in c)f.push(x),f.push(c[x]);m=f.join();x=0;for(f=W.length;x<f;x++)if(W[x].code==m){w=W[x].program;break a}x=o.createProgram();f=[oa?
+"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,"#define MAX_BONES "+c.maxBones,c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.skinning?"#define USE_SKINNING":"",c.morphTargets?"#define USE_MORPHTARGETS":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":"",c.sizeAttenuation?
+"#define USE_SIZEATTENUATION":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform mat4 cameraInverseMatrix;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\n#ifdef USE_COLOR\nattribute vec3 color;\n#endif\n#ifdef USE_MORPHTARGETS\nattribute vec3 morphTarget0;\nattribute vec3 morphTarget1;\nattribute vec3 morphTarget2;\nattribute vec3 morphTarget3;\nattribute vec3 morphTarget4;\nattribute vec3 morphTarget5;\nattribute vec3 morphTarget6;\nattribute vec3 morphTarget7;\n#endif\n#ifdef USE_SKINNING\nattribute vec4 skinVertexA;\nattribute vec4 skinVertexB;\nattribute vec4 skinIndex;\nattribute vec4 skinWeight;\n#endif\n"].join("\n");
+h=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+c.maxDirLights,"#define MAX_POINT_LIGHTS "+c.maxPointLights,"#define MAX_SHADOWS "+c.maxShadows,c.alphaTest?"#define ALPHATEST "+c.alphaTest:"",c.fog?"#define USE_FOG":"",c.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",c.map?"#define USE_MAP":"",c.envMap?"#define USE_ENVMAP":"",c.lightMap?"#define USE_LIGHTMAP":"",c.vertexColors?"#define USE_COLOR":"",c.shadowMapEnabled?"#define USE_SHADOWMAP":"",c.shadowMapSoft?"#define SHADOWMAP_SOFT":
+"",c.shadowMapSoft?"#define SHADOWMAP_WIDTH "+c.shadowMapWidth.toFixed(1):"",c.shadowMapSoft?"#define SHADOWMAP_HEIGHT "+c.shadowMapHeight.toFixed(1):"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");o.attachShader(x,L("fragment",h+p));o.attachShader(x,L("vertex",f+t));o.linkProgram(x);o.getProgramParameter(x,o.LINK_STATUS)||console.error("Could not initialise shader\nVALIDATE_STATUS: "+o.getProgramParameter(x,o.VALIDATE_STATUS)+", gl error ["+o.getError()+"]");x.uniforms=
+{};x.attributes={};var M,f=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition","cameraInverseMatrix","boneGlobalMatrices","morphTargetInfluences"];for(M in n)f.push(M);M=f;f=0;for(n=M.length;f<n;f++)p=M[f],x.uniforms[p]=o.getUniformLocation(x,p);f=["position","normal","uv","uv2","tangent","color","skinVertexA","skinVertexB","skinIndex","skinWeight"];for(M=0;M<c.maxMorphTargets;M++)f.push("morphTarget"+M);for(w in e)f.push(w);w=f;M=0;for(e=w.length;M<e;M++)c=
+w[M],x.attributes[c]=o.getAttribLocation(x,c);W.push({program:x,code:m});w=x}b.program=w;w=b.program.attributes;w.position>=0&&o.enableVertexAttribArray(w.position);w.color>=0&&o.enableVertexAttribArray(w.color);w.normal>=0&&o.enableVertexAttribArray(w.normal);w.tangent>=0&&o.enableVertexAttribArray(w.tangent);b.skinning&&w.skinVertexA>=0&&w.skinVertexB>=0&&w.skinIndex>=0&&w.skinWeight>=0&&(o.enableVertexAttribArray(w.skinVertexA),o.enableVertexAttribArray(w.skinVertexB),o.enableVertexAttribArray(w.skinIndex),
+o.enableVertexAttribArray(w.skinWeight));if(b.attributes)for(k in b.attributes)w[k]!==void 0&&w[k]>=0&&o.enableVertexAttribArray(w[k]);if(b.morphTargets)for(k=b.numSupportedMorphTargets=0;k<this.maxMorphTargets;k++)M="morphTarget"+k,w[M]>=0&&(o.enableVertexAttribArray(w[M]),b.numSupportedMorphTargets++)};this.clearTarget=function(b,c,e,f){K(b);b=0;c&&(b|=o.COLOR_BUFFER_BIT);e&&(b|=o.DEPTH_BUFFER_BIT);f&&(b|=o.STENCIL_BUFFER_BIT);o.clear(b)};this.render=function(b,c,o,v){var M,T,D,Z,G,H,E,V,ka=b.lights,
+C=b.fog;this.shadowMapEnabled&&z(b,c);P.data.vertices=0;P.data.faces=0;P.data.drawCalls=0;c.matrixAutoUpdate&&c.update(void 0,!0);b.update(void 0,!1,c);c.matrixWorldInverse.flattenToArray(ra);c.projectionMatrix.flattenToArray(va);pa.multiply(c.projectionMatrix,c.matrixWorldInverse);u(pa);this.initWebGLObjects(b);K(o);(this.autoClear||v)&&this.clear();G=b.__webglObjects.length;for(v=0;v<G;v++)if(M=b.__webglObjects[v],E=M.object,E.visible)if(!(E instanceof THREE.Mesh)||!E.frustumCulled||p(E)){if(E.matrixWorld.flattenToArray(E._objectMatrixArray),
+B(E,c,!0),x(M),M.render=!0,this.sortObjects)M.object.renderDepth?M.z=M.object.renderDepth:(sa.copy(E.position),pa.multiplyVector3(sa),M.z=sa.z)}else M.render=!1;else M.render=!1;this.sortObjects&&b.__webglObjects.sort(w);H=b.__webglObjectsImmediate.length;for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(E.matrixAutoUpdate&&E.matrixWorld.flattenToArray(E._objectMatrixArray),B(E,c,!0),t(M));if(b.overrideMaterial){k(b.overrideMaterial.depthTest);F(b.overrideMaterial.blending);for(v=
+0;v<G;v++)if(M=b.__webglObjects[v],M.render)E=M.object,V=M.buffer,m(E),f(c,ka,C,b.overrideMaterial,V,E);for(v=0;v<H;v++)M=b.__webglObjectsImmediate[v],E=M.object,E.visible&&(m(E),T=e(c,ka,C,b.overrideMaterial,E),E.render(function(c){h(c,T,b.overrideMaterial.shading)}))}else{F(THREE.NormalBlending);for(v=G-1;v>=0;v--)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),
+f(c,ka,C,Z,V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.opaque;m(E);for(M=0;M<D.count;M++)Z=D.list[M],k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}for(v=0;v<G;v++)if(M=b.__webglObjects[v],M.render){E=M.object;V=M.buffer;D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),f(c,ka,C,Z,
+V,E)}for(v=0;v<H;v++)if(M=b.__webglObjectsImmediate[v],E=M.object,E.visible){D=M.transparent;m(E);for(M=0;M<D.count;M++)Z=D.list[M],F(Z.blending),k(Z.depthTest),n(Z.polygonOffset,Z.polygonOffsetFactor,Z.polygonOffsetUnits),T=e(c,ka,C,Z,E),E.render(function(b){h(b,T,Z.shading)})}}b.__webglSprites.length&&y(b,c);o&&o.minFilter!==THREE.NearestFilter&&o.minFilter!==THREE.LinearFilter&&U(o)};this.initWebGLObjects=function(b){if(!b.__webglObjects)b.__webglObjects=[],b.__webglObjectsImmediate=[],b.__webglSprites=
+[];for(;b.__objectsAdded.length;){var e=b.__objectsAdded[0],f=b,k=void 0,h=void 0,m=void 0;if(!e.__webglInit)if(e.__webglInit=!0,e._modelViewMatrix=new THREE.Matrix4,e._normalMatrixArray=new Float32Array(9),e._modelViewMatrixArray=new Float32Array(16),e._objectMatrixArray=new Float32Array(16),e.matrixWorld.flattenToArray(e._objectMatrixArray),e instanceof THREE.Mesh)for(k in h=e.geometry,h.geometryGroups==void 0&&E(h),h.geometryGroups){m=h.geometryGroups[k];if(!m.__webglVertexBuffer){var n=m;n.__webglVertexBuffer=
+o.createBuffer();n.__webglNormalBuffer=o.createBuffer();n.__webglTangentBuffer=o.createBuffer();n.__webglColorBuffer=o.createBuffer();n.__webglUVBuffer=o.createBuffer();n.__webglUV2Buffer=o.createBuffer();n.__webglSkinVertexABuffer=o.createBuffer();n.__webglSkinVertexBBuffer=o.createBuffer();n.__webglSkinIndicesBuffer=o.createBuffer();n.__webglSkinWeightsBuffer=o.createBuffer();n.__webglFaceBuffer=o.createBuffer();n.__webglLineBuffer=o.createBuffer();if(n.numMorphTargets){var p=void 0,t=void 0;n.__webglMorphTargetsBuffers=
+[];p=0;for(t=n.numMorphTargets;p<t;p++)n.__webglMorphTargetsBuffers.push(o.createBuffer())}for(var n=m,p=e,v=void 0,u=void 0,w=void 0,x=w=void 0,M=void 0,T=void 0,z=T=t=0,y=w=u=void 0,Z=y=u=v=void 0,w=void 0,x=p.geometry,M=x.faces,y=n.faces,v=0,u=y.length;v<u;v++)w=y[v],w=M[w],w instanceof THREE.Face3?(t+=3,T+=1,z+=3):w instanceof THREE.Face4&&(t+=4,T+=2,z+=4);for(var v=n,u=p,B=y=M=void 0,V=void 0,B=void 0,w=[],M=0,y=u.materials.length;M<y;M++)if(B=u.materials[M],B instanceof THREE.MeshFaceMaterial){B=
+0;for(l=v.materials.length;B<l;B++)(V=v.materials[B])&&w.push(V)}else(V=B)&&w.push(V);v=w;n.__materials=v;a:{M=u=void 0;y=v.length;for(u=0;u<y;u++)if(M=v[u],M.map||M.lightMap||M instanceof THREE.MeshShaderMaterial){u=!0;break a}u=!1}a:{y=M=void 0;w=v.length;for(M=0;M<w;M++)if(y=v[M],!(y instanceof THREE.MeshBasicMaterial&&!y.envMap||y instanceof THREE.MeshDepthMaterial)){y=y&&y.shading!=void 0&&y.shading==THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading;break a}y=!1}a:{w=M=void 0;B=v.length;
+for(M=0;M<B;M++)if(w=v[M],w.vertexColors){w=w.vertexColors;break a}w=!1}n.__vertexArray=new Float32Array(t*3);if(y)n.__normalArray=new Float32Array(t*3);if(x.hasTangents)n.__tangentArray=new Float32Array(t*4);if(w)n.__colorArray=new Float32Array(t*3);if(u){if(x.faceUvs.length>0||x.faceVertexUvs.length>0)n.__uvArray=new Float32Array(t*2);if(x.faceUvs.length>1||x.faceVertexUvs.length>1)n.__uv2Array=new Float32Array(t*2)}if(p.geometry.skinWeights.length&&p.geometry.skinIndices.length)n.__skinVertexAArray=
+new Float32Array(t*4),n.__skinVertexBArray=new Float32Array(t*4),n.__skinIndexArray=new Float32Array(t*4),n.__skinWeightArray=new Float32Array(t*4);n.__faceArray=new Uint16Array(T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0));n.__lineArray=new Uint16Array(z*2);if(n.numMorphTargets){n.__morphTargetsArrays=[];x=0;for(M=n.numMorphTargets;x<M;x++)n.__morphTargetsArrays.push(new Float32Array(t*3))}n.__needsSmoothNormals=y==THREE.SmoothShading;n.__uvType=u;n.__vertexColorType=w;n.__normalType=
+y;n.__webglFaceCount=T*3+(p.geometry.edgeFaces?p.geometry.edgeFaces.length*6:0);n.__webglLineCount=z*2;x=0;for(M=v.length;x<M;x++)if(u=v[x],u.attributes){if(n.__webglCustomAttributes===void 0)n.__webglCustomAttributes={};for(a in u.attributes){w=u.attributes[a];y={};for(Z in w)y[Z]=w[Z];if(!y.__webglInitialized||y.createUniqueBuffers)y.__webglInitialized=!0,T=1,y.type==="v2"?T=2:y.type==="v3"?T=3:y.type==="v4"?T=4:y.type==="c"&&(T=3),y.size=T,y.array=new Float32Array(t*T),y.buffer=o.createBuffer(),
+y.buffer.belongsToAttribute=a,w.needsUpdate=!0,y.__original=w;n.__webglCustomAttributes[a]=y}}n.__inittedArrays=!0;h.__dirtyVertices=!0;h.__dirtyMorphTargets=!0;h.__dirtyElements=!0;h.__dirtyUvs=!0;h.__dirtyNormals=!0;h.__dirtyTangents=!0;h.__dirtyColors=!0}N(f.__webglObjects,m,e)}else if(e instanceof THREE.Ribbon){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=
+new Float32Array(m*3),k.__webglVertexCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.Line){h=e.geometry;if(!h.__webglVertexBuffer)k=h,k.__webglVertexBuffer=o.createBuffer(),k.__webglColorBuffer=o.createBuffer(),k=h,m=k.vertices.length,k.__vertexArray=new Float32Array(m*3),k.__colorArray=new Float32Array(m*3),k.__webglLineCount=m,h.__dirtyVertices=!0,h.__dirtyColors=!0;N(f.__webglObjects,h,e)}else if(e instanceof THREE.ParticleSystem){h=e.geometry;
+if(!h.__webglVertexBuffer){k=h;k.__webglVertexBuffer=o.createBuffer();k.__webglColorBuffer=o.createBuffer();k=h;m=e;n=k.vertices.length;k.__vertexArray=new Float32Array(n*3);k.__colorArray=new Float32Array(n*3);k.__sortArray=[];k.__webglParticleCount=n;k.__materials=m.materials;Z=t=p=void 0;p=0;for(t=m.materials.length;p<t;p++)if(Z=m.materials[p],Z.attributes){if(k.__webglCustomAttributes===void 0)k.__webglCustomAttributes={};for(a in Z.attributes){originalAttribute=Z.attributes[a];attribute={};for(property in originalAttribute)attribute[property]=
+originalAttribute[property];if(!attribute.__webglInitialized||attribute.createUniqueBuffers)attribute.__webglInitialized=!0,size=1,attribute.type==="v2"?size=2:attribute.type==="v3"?size=3:attribute.type==="v4"?size=4:attribute.type==="c"&&(size=3),attribute.size=size,attribute.array=new Float32Array(n*size),attribute.buffer=o.createBuffer(),attribute.buffer.belongsToAttribute=a,originalAttribute.needsUpdate=!0,attribute.__original=originalAttribute;k.__webglCustomAttributes[a]=attribute}}h.__dirtyVertices=
+!0;h.__dirtyColors=!0}N(f.__webglObjects,h,e)}else THREE.MarchingCubes!==void 0&&e instanceof THREE.MarchingCubes?f.__webglObjectsImmediate.push({object:e,opaque:{list:[],count:0},transparent:{list:[],count:0}}):e instanceof THREE.Sprite&&f.__webglSprites.push(e);b.__objectsAdded.splice(0,1)}for(;b.__objectsRemoved.length;){f=b.__objectsRemoved[0];e=b;if(f instanceof THREE.Mesh||f instanceof THREE.ParticleSystem||f instanceof THREE.Ribbon||f instanceof THREE.Line)H(e.__webglObjects,f);else if(f instanceof
+THREE.Sprite){e=e.__webglSprites;h=void 0;for(h=e.length-1;h>=0;h--)e[h]==f&&e.splice(h,1)}else f instanceof THREE.MarchingCubes&&H(e.__webglObjectsImmediate,f);b.__objectsRemoved.splice(0,1)}e=0;for(f=b.__webglObjects.length;e<f;e++)if(k=b.__webglObjects[e].object,t=m=h=void 0,k instanceof THREE.Mesh){h=k.geometry;n=0;for(p=h.geometryGroupsList.length;n<p;n++)if(m=h.geometryGroupsList[n],t=D(m),h.__dirtyVertices||h.__dirtyMorphTargets||h.__dirtyElements||h.__dirtyUvs||h.__dirtyNormals||h.__dirtyColors||
+h.__dirtyTangents||t)if(t=m,Z=o.DYNAMIC_DRAW,T=!h.dynamic,t.__inittedArrays){var ka=x=z=void 0,C=void 0,xa=ka=void 0,K=void 0,pa=void 0,ha=void 0,I=V=B=w=y=M=u=v=void 0,L=void 0,J=C=ha=C=pa=K=void 0,A=void 0,F=A=J=K=void 0,Y=void 0,va=F=A=J=ka=ka=xa=ha=C=F=A=J=Y=F=A=J=Y=F=A=J=void 0,O=0,X=0,S=0,ra=0,R=0,ca=0,P=0,ya=0,oa=0,Q=0,U=0,F=J=0,F=void 0,W=t.__vertexArray,ja=t.__uvArray,fa=t.__uv2Array,ma=t.__normalArray,$=t.__tangentArray,sa=t.__colorArray,aa=t.__skinVertexAArray,ea=t.__skinVertexBArray,ta=
+t.__skinIndexArray,da=t.__skinWeightArray,na=t.__morphTargetsArrays,ga=t.__webglCustomAttributes,A=void 0,qa=t.__faceArray,ia=t.__lineArray,Ga=t.__needsSmoothNormals,u=t.__vertexColorType,v=t.__uvType,M=t.__normalType,wa=k.geometry,Ca=wa.__dirtyVertices,Aa=wa.__dirtyElements,za=wa.__dirtyUvs,Fa=wa.__dirtyNormals,Za=wa.__dirtyTangents,$a=wa.__dirtyColors,ab=wa.__dirtyMorphTargets,Oa=wa.vertices,cb=t.faces,fb=wa.faces,db=wa.faceVertexUvs[0],eb=wa.faceVertexUvs[1],Pa=wa.skinVerticesA,Qa=wa.skinVerticesB,
+Ra=wa.skinIndices,Ia=wa.skinWeights,Ha=wa.morphTargets;if(ga)for(va in ga)ga[va].offset=0,ga[va].offsetSrc=0;z=0;for(x=cb.length;z<x;z++)if(ka=cb[z],C=fb[ka],db&&(y=db[ka]),eb&&(w=eb[ka]),ka=C.vertexNormals,xa=C.normal,K=C.vertexColors,pa=C.color,ha=C.vertexTangents,C instanceof THREE.Face3){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,X+=9;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=
+A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],A.array[J+2]=A.value[C.c]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.offsetSrc+=3),A.offset+=3):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c]):A.boundTo==="faces"?(I=V=B=F=A.value[F],
+A.offsetSrc++):A.boundTo==="faceVertices"&&(B=A.value[F],V=A.value[F+1],I=A.value[F+2],A.offsetSrc+=3),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.offset+=6):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=
+V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z),A.offset+=9):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.offset+=12));if(ab){J=0;for(A=Ha.length;J<A;J++)B=Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+
+7]=I.y,F[U+8]=I.z;U+=9}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=
+1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,Q+=12;if($a&&u)K.length==3&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2]):A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,oa+=9;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+
+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,P+=12;if(Fa&&M)if(ka.length==3&&Ga)for(ha=0;ha<3;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<3;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<3;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<3;ha++)ka=w[ha],fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+2,R+=3,ia[ya]=O,ia[ya+1]=O+
+1,ia[ya+2]=O,ia[ya+3]=O+2,ia[ya+4]=O+1,ia[ya+5]=O+2,ya+=6,O+=3)}else if(C instanceof THREE.Face4){if(Ca)B=Oa[C.a].position,V=Oa[C.b].position,I=Oa[C.c].position,L=Oa[C.d].position,W[X]=B.x,W[X+1]=B.y,W[X+2]=B.z,W[X+3]=V.x,W[X+4]=V.y,W[X+5]=V.z,W[X+6]=I.x,W[X+7]=I.y,W[X+8]=I.z,W[X+9]=L.x,W[X+10]=L.y,W[X+11]=L.z,X+=12;if(ga)for(va in ga)if(A=ga[va],A.__original.needsUpdate)J=A.offset,F=A.offsetSrc,A.size===1?(A.boundTo===void 0||A.boundTo==="vertices"?(A.array[J]=A.value[C.a],A.array[J+1]=A.value[C.b],
+A.array[J+2]=A.value[C.c],A.array[J+3]=A.value[C.d]):A.boundTo==="faces"?(F=A.value[F],A.array[J]=F,A.array[J+1]=F,A.array[J+2]=F,A.array[J+3]=F,A.offsetSrc++):A.boundTo==="faceVertices"&&(A.array[J]=A.value[F],A.array[J+1]=A.value[F+1],A.array[J+2]=A.value[F+2],A.array[J+3]=A.value[F+3],A.offsetSrc+=4),A.offset+=4):(A.boundTo===void 0||A.boundTo==="vertices"?(B=A.value[C.a],V=A.value[C.b],I=A.value[C.c],L=A.value[C.d]):A.boundTo==="faces"?(L=I=V=B=F=A.value[F],A.offsetSrc++):A.boundTo==="faceVertices"&&
+(B=A.value[F],V=A.value[F+1],I=A.value[F+2],L=A.value[F+3],A.offsetSrc+=4),A.size===2?(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=V.x,A.array[J+3]=V.y,A.array[J+4]=I.x,A.array[J+5]=I.y,A.array[J+6]=L.x,A.array[J+7]=L.y,A.offset+=8):A.size===3?(A.type==="c"?(A.array[J]=B.r,A.array[J+1]=B.g,A.array[J+2]=B.b,A.array[J+3]=V.r,A.array[J+4]=V.g,A.array[J+5]=V.b,A.array[J+6]=I.r,A.array[J+7]=I.g,A.array[J+8]=I.b,A.array[J+9]=L.r,A.array[J+10]=L.g,A.array[J+11]=L.b):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+
+2]=B.z,A.array[J+3]=V.x,A.array[J+4]=V.y,A.array[J+5]=V.z,A.array[J+6]=I.x,A.array[J+7]=I.y,A.array[J+8]=I.z,A.array[J+9]=L.x,A.array[J+10]=L.y,A.array[J+11]=L.z),A.offset+=12):(A.array[J]=B.x,A.array[J+1]=B.y,A.array[J+2]=B.z,A.array[J+3]=B.w,A.array[J+4]=V.x,A.array[J+5]=V.y,A.array[J+6]=V.z,A.array[J+7]=V.w,A.array[J+8]=I.x,A.array[J+9]=I.y,A.array[J+10]=I.z,A.array[J+11]=I.w,A.array[J+12]=L.x,A.array[J+13]=L.y,A.array[J+14]=L.z,A.array[J+15]=L.w,A.offset+=16));if(ab){J=0;for(A=Ha.length;J<A;J++)B=
+Ha[J].vertices[C.a].position,V=Ha[J].vertices[C.b].position,I=Ha[J].vertices[C.c].position,L=Ha[J].vertices[C.d].position,F=na[J],F[U]=B.x,F[U+1]=B.y,F[U+2]=B.z,F[U+3]=V.x,F[U+4]=V.y,F[U+5]=V.z,F[U+6]=I.x,F[U+7]=I.y,F[U+8]=I.z,F[U+9]=L.x,F[U+10]=L.y,F[U+11]=L.z;U+=12}if(Ia.length)J=Ia[C.a],A=Ia[C.b],F=Ia[C.c],Y=Ia[C.d],da[Q]=J.x,da[Q+1]=J.y,da[Q+2]=J.z,da[Q+3]=J.w,da[Q+4]=A.x,da[Q+5]=A.y,da[Q+6]=A.z,da[Q+7]=A.w,da[Q+8]=F.x,da[Q+9]=F.y,da[Q+10]=F.z,da[Q+11]=F.w,da[Q+12]=Y.x,da[Q+13]=Y.y,da[Q+14]=Y.z,
+da[Q+15]=Y.w,J=Ra[C.a],A=Ra[C.b],F=Ra[C.c],Y=Ra[C.d],ta[Q]=J.x,ta[Q+1]=J.y,ta[Q+2]=J.z,ta[Q+3]=J.w,ta[Q+4]=A.x,ta[Q+5]=A.y,ta[Q+6]=A.z,ta[Q+7]=A.w,ta[Q+8]=F.x,ta[Q+9]=F.y,ta[Q+10]=F.z,ta[Q+11]=F.w,ta[Q+12]=Y.x,ta[Q+13]=Y.y,ta[Q+14]=Y.z,ta[Q+15]=Y.w,J=Pa[C.a],A=Pa[C.b],F=Pa[C.c],Y=Pa[C.d],aa[Q]=J.x,aa[Q+1]=J.y,aa[Q+2]=J.z,aa[Q+3]=1,aa[Q+4]=A.x,aa[Q+5]=A.y,aa[Q+6]=A.z,aa[Q+7]=1,aa[Q+8]=F.x,aa[Q+9]=F.y,aa[Q+10]=F.z,aa[Q+11]=1,aa[Q+12]=Y.x,aa[Q+13]=Y.y,aa[Q+14]=Y.z,aa[Q+15]=1,J=Qa[C.a],A=Qa[C.b],F=Qa[C.c],
+C=Qa[C.d],ea[Q]=J.x,ea[Q+1]=J.y,ea[Q+2]=J.z,ea[Q+3]=1,ea[Q+4]=A.x,ea[Q+5]=A.y,ea[Q+6]=A.z,ea[Q+7]=1,ea[Q+8]=F.x,ea[Q+9]=F.y,ea[Q+10]=F.z,ea[Q+11]=1,ea[Q+12]=C.x,ea[Q+13]=C.y,ea[Q+14]=C.z,ea[Q+15]=1,Q+=16;if($a&&u)K.length==4&&u==THREE.VertexColors?(C=K[0],J=K[1],A=K[2],K=K[3]):K=A=J=C=pa,sa[oa]=C.r,sa[oa+1]=C.g,sa[oa+2]=C.b,sa[oa+3]=J.r,sa[oa+4]=J.g,sa[oa+5]=J.b,sa[oa+6]=A.r,sa[oa+7]=A.g,sa[oa+8]=A.b,sa[oa+9]=K.r,sa[oa+10]=K.g,sa[oa+11]=K.b,oa+=12;if(Za&&wa.hasTangents)K=ha[0],pa=ha[1],C=ha[2],ha=
+ha[3],$[P]=K.x,$[P+1]=K.y,$[P+2]=K.z,$[P+3]=K.w,$[P+4]=pa.x,$[P+5]=pa.y,$[P+6]=pa.z,$[P+7]=pa.w,$[P+8]=C.x,$[P+9]=C.y,$[P+10]=C.z,$[P+11]=C.w,$[P+12]=ha.x,$[P+13]=ha.y,$[P+14]=ha.z,$[P+15]=ha.w,P+=16;if(Fa&&M)if(ka.length==4&&Ga)for(ha=0;ha<4;ha++)xa=ka[ha],ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;else for(ha=0;ha<4;ha++)ma[ca]=xa.x,ma[ca+1]=xa.y,ma[ca+2]=xa.z,ca+=3;if(za&&y!==void 0&&v)for(ha=0;ha<4;ha++)ka=y[ha],ja[S]=ka.u,ja[S+1]=ka.v,S+=2;if(za&&w!==void 0&&v)for(ha=0;ha<4;ha++)ka=w[ha],
+fa[ra]=ka.u,fa[ra+1]=ka.v,ra+=2;Aa&&(qa[R]=O,qa[R+1]=O+1,qa[R+2]=O+3,qa[R+3]=O+1,qa[R+4]=O+2,qa[R+5]=O+3,R+=6,ia[ya]=O,ia[ya+1]=O+1,ia[ya+2]=O,ia[ya+3]=O+3,ia[ya+4]=O+1,ia[ya+5]=O+2,ia[ya+6]=O+2,ia[ya+7]=O+3,ya+=8,O+=4)}Ca&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglVertexBuffer),o.bufferData(o.ARRAY_BUFFER,W,Z));if(ga)for(va in ga)A=ga[va],A.__original.needsUpdate&&(o.bindBuffer(o.ARRAY_BUFFER,A.buffer),o.bufferData(o.ARRAY_BUFFER,A.array,Z));if(ab){J=0;for(A=Ha.length;J<A;J++)o.bindBuffer(o.ARRAY_BUFFER,
+t.__webglMorphTargetsBuffers[J]),o.bufferData(o.ARRAY_BUFFER,na[J],Z)}$a&&oa>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglColorBuffer),o.bufferData(o.ARRAY_BUFFER,sa,Z));Fa&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglNormalBuffer),o.bufferData(o.ARRAY_BUFFER,ma,Z));Za&&wa.hasTangents&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglTangentBuffer),o.bufferData(o.ARRAY_BUFFER,$,Z));za&&S>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUVBuffer),o.bufferData(o.ARRAY_BUFFER,ja,Z));za&&ra>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglUV2Buffer),
+o.bufferData(o.ARRAY_BUFFER,fa,Z));Aa&&(o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglFaceBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,qa,Z),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,t.__webglLineBuffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,ia,Z));Q>0&&(o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexABuffer),o.bufferData(o.ARRAY_BUFFER,aa,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinVertexBBuffer),o.bufferData(o.ARRAY_BUFFER,ea,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinIndicesBuffer),o.bufferData(o.ARRAY_BUFFER,
+ta,Z),o.bindBuffer(o.ARRAY_BUFFER,t.__webglSkinWeightsBuffer),o.bufferData(o.ARRAY_BUFFER,da,Z));T&&(delete t.__inittedArrays,delete t.__colorArray,delete t.__normalArray,delete t.__tangentArray,delete t.__uvArray,delete t.__uv2Array,delete t.__faceArray,delete t.__vertexArray,delete t.__lineArray,delete t.__skinVertexAArray,delete t.__skinVertexBArray,delete t.__skinIndexArray,delete t.__skinWeightArray)}h.__dirtyVertices=!1;h.__dirtyMorphTargets=!1;h.__dirtyElements=!1;h.__dirtyUvs=!1;h.__dirtyNormals=
+!1;h.__dirtyTangents=!1;h.__dirtyColors=!1;G(m)}else if(k instanceof THREE.Ribbon){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+
+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.Line){h=k.geometry;if(h.__dirtyVertices||h.__dirtyColors){k=h;m=o.DYNAMIC_DRAW;n=z=T=T=void 0;x=k.vertices;p=k.colors;v=x.length;t=p.length;u=k.__vertexArray;Z=k.__colorArray;M=k.__dirtyColors;if(k.__dirtyVertices){for(T=0;T<v;T++)z=x[T].position,n=T*3,u[n]=z.x,u[n+1]=z.y,u[n+2]=z.z;o.bindBuffer(o.ARRAY_BUFFER,k.__webglVertexBuffer);
+o.bufferData(o.ARRAY_BUFFER,u,m)}if(M){for(T=0;T<t;T++)color=p[T],n=T*3,Z[n]=color.r,Z[n+1]=color.g,Z[n+2]=color.b;o.bindBuffer(o.ARRAY_BUFFER,k.__webglColorBuffer);o.bufferData(o.ARRAY_BUFFER,Z,m)}}h.__dirtyVertices=!1;h.__dirtyColors=!1}else if(k instanceof THREE.ParticleSystem)h=k.geometry,t=D(h),(h.__dirtyVertices||h.__dirtyColors||k.sortParticles||t)&&c(h,o.DYNAMIC_DRAW,k),h.__dirtyVertices=!1,h.__dirtyColors=!1,G(h)};this.setFaceCulling=function(b,e){b?(!e||e=="ccw"?o.frontFace(o.CCW):o.frontFace(o.CW),
+b=="back"?o.cullFace(o.BACK):b=="front"?o.cullFace(o.FRONT):o.cullFace(o.FRONT_AND_BACK),o.enable(o.CULL_FACE)):o.disable(o.CULL_FACE)};this.supportsVertexTextures=function(){return oa}};
+THREE.WebGLRenderTarget=function(b,c,e){this.width=b;this.height=c;e=e||{};this.wrapS=e.wrapS!==void 0?e.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=e.wrapT!==void 0?e.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=e.magFilter!==void 0?e.magFilter:THREE.LinearFilter;this.minFilter=e.minFilter!==void 0?e.minFilter:THREE.LinearMipMapLinearFilter;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=e.format!==void 0?e.format:THREE.RGBAFormat;this.type=e.type!==void 0?e.type:
+THREE.UnsignedByteType;this.depthBuffer=e.depthBuffer!==void 0?e.depthBuffer:!0;this.stencilBuffer=e.stencilBuffer!==void 0?e.stencilBuffer:!0};
+THREE.WebGLRenderTarget.prototype.clone=function(){var b=new THREE.WebGLRenderTarget(this.width,this.height);b.wrapS=this.wrapS;b.wrapT=this.wrapT;b.magFilter=this.magFilter;b.minFilter=this.minFilter;b.offset.copy(this.offset);b.repeat.copy(this.repeat);b.format=this.format;b.type=this.type;b.depthBuffer=this.depthBuffer;b.stencilBuffer=this.stencilBuffer;return b};THREE.WebGLRenderTargetCube=function(b,c,e){THREE.WebGLRenderTarget.call(this,b,c,e);this.activeCubeFace=0};
+THREE.WebGLRenderTargetCube.prototype=new THREE.WebGLRenderTarget;THREE.WebGLRenderTargetCube.prototype.constructor=THREE.WebGLRenderTargetCube;THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(b){this.positionWorld.copy(b.positionWorld);this.positionScreen.copy(b.positionScreen)};
+THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterials=this.meshMaterials=null;this.overdraw=!1;this.uvs=[[]];this.z=null};
+THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.materials=null};
+THREE.ColorUtils={adjustHSV:function(b,c,e,f){var h=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(b,h);h.h=THREE.ColorUtils.clamp(h.h+c,0,1);h.s=THREE.ColorUtils.clamp(h.s+e,0,1);h.v=THREE.ColorUtils.clamp(h.v+f,0,1);b.setHSV(h.h,h.s,h.v)},rgbToHsv:function(b,c){var e=b.r,f=b.g,h=b.b,m=Math.max(Math.max(e,f),h),k=Math.min(Math.min(e,f),h);if(k==m)k=e=0;else{var n=m-k,k=n/m,e=e==m?(f-h)/n:f==m?2+(h-e)/n:4+(e-f)/n;e/=6;e<0&&(e+=1);e>1&&(e-=1)}c===void 0&&(c={h:0,s:0,v:0});c.h=e;c.s=k;c.v=m;return c},
+clamp:function(b,c,e){return b<c?c:b>e?e:b}};THREE.ColorUtils.__hsv={h:0,s:0,v:0};
+THREE.GeometryUtils={merge:function(b,c){var e=c instanceof THREE.Mesh,f=b.vertices.length,h=e?c.geometry:c,m=b.vertices,k=h.vertices,n=b.faces,u=h.faces,p=b.faceVertexUvs[0],h=h.faceVertexUvs[0];e&&c.matrixAutoUpdate&&c.updateMatrix();for(var v=0,t=k.length;v<t;v++){var x=new THREE.Vertex(k[v].position.clone());e&&c.matrix.multiplyVector3(x.position);m.push(x)}v=0;for(t=u.length;v<t;v++){var k=u[v],w,z,y=k.vertexNormals,x=k.vertexColors;k instanceof THREE.Face3?w=new THREE.Face3(k.a+f,k.b+f,k.c+
+f):k instanceof THREE.Face4&&(w=new THREE.Face4(k.a+f,k.b+f,k.c+f,k.d+f));w.normal.copy(k.normal);e=0;for(m=y.length;e<m;e++)z=y[e],w.vertexNormals.push(z.clone());w.color.copy(k.color);e=0;for(m=x.length;e<m;e++)z=x[e],w.vertexColors.push(z.clone());w.materials=k.materials.slice();w.centroid.copy(k.centroid);n.push(w)}v=0;for(t=h.length;v<t;v++){f=h[v];n=[];e=0;for(m=f.length;e<m;e++)n.push(new THREE.UV(f[e].u,f[e].v));p.push(n)}},clone:function(b){var c=new THREE.Geometry,e,f=b.vertices,h=b.faces,
+m=b.faceVertexUvs[0],b=0;for(e=f.length;b<e;b++){var k=new THREE.Vertex(f[b].position.clone());c.vertices.push(k)}b=0;for(e=h.length;b<e;b++){var n=h[b],u,p,v=n.vertexNormals,t=n.vertexColors;n instanceof THREE.Face3?u=new THREE.Face3(n.a,n.b,n.c):n instanceof THREE.Face4&&(u=new THREE.Face4(n.a,n.b,n.c,n.d));u.normal.copy(n.normal);f=0;for(k=v.length;f<k;f++)p=v[f],u.vertexNormals.push(p.clone());u.color.copy(n.color);f=0;for(k=t.length;f<k;f++)p=t[f],u.vertexColors.push(p.clone());u.materials=n.materials.slice();
+u.centroid.copy(n.centroid);c.faces.push(u)}b=0;for(e=m.length;b<e;b++){h=m[b];u=[];f=0;for(k=h.length;f<k;f++)u.push(new THREE.UV(h[f].u,h[f].v));c.faceVertexUvs[0].push(u)}return c},randomPointInTriangle:function(b,c,e){var f,h,m,k=new THREE.Vector3,n=THREE.GeometryUtils.__v1;f=THREE.GeometryUtils.random();h=THREE.GeometryUtils.random();f+h>1&&(f=1-f,h=1-h);m=1-f-h;k.copy(b);k.multiplyScalar(f);n.copy(c);n.multiplyScalar(h);k.addSelf(n);n.copy(e);n.multiplyScalar(m);k.addSelf(n);return k},randomPointInFace:function(b,
+c,e){var f,h,m;if(b instanceof THREE.Face3)return f=c.vertices[b.a].position,h=c.vertices[b.b].position,m=c.vertices[b.c].position,THREE.GeometryUtils.randomPointInTriangle(f,h,m);else if(b instanceof THREE.Face4){f=c.vertices[b.a].position;h=c.vertices[b.b].position;m=c.vertices[b.c].position;var c=c.vertices[b.d].position,k;e?b._area1&&b._area2?(e=b._area1,k=b._area2):(e=THREE.GeometryUtils.triangleArea(f,h,c),k=THREE.GeometryUtils.triangleArea(h,m,c),b._area1=e,b._area2=k):(e=THREE.GeometryUtils.triangleArea(f,
+h,c),k=THREE.GeometryUtils.triangleArea(h,m,c));return THREE.GeometryUtils.random()*(e+k)<e?THREE.GeometryUtils.randomPointInTriangle(f,h,c):THREE.GeometryUtils.randomPointInTriangle(h,m,c)}},randomPointsInGeometry:function(b,c){function e(b){function e(c,f){if(f<c)return c;var k=c+Math.floor((f-c)/2);return p[k]>b?e(c,k-1):p[k]<b?e(k+1,f):k}return e(0,p.length-1)}var f,h,m=b.faces,k=b.vertices,n=m.length,u=0,p=[],v,t,x,w;for(h=0;h<n;h++){f=m[h];if(f instanceof THREE.Face3)v=k[f.a].position,t=k[f.b].position,
+x=k[f.c].position,f._area=THREE.GeometryUtils.triangleArea(v,t,x);else if(f instanceof THREE.Face4)v=k[f.a].position,t=k[f.b].position,x=k[f.c].position,w=k[f.d].position,f._area1=THREE.GeometryUtils.triangleArea(v,t,w),f._area2=THREE.GeometryUtils.triangleArea(t,x,w),f._area=f._area1+f._area2;u+=f._area;p[h]=u}f=[];k={};for(h=0;h<c;h++)n=THREE.GeometryUtils.random()*u,n=e(n),f[h]=THREE.GeometryUtils.randomPointInFace(m[n],b,!0),k[n]?k[n]+=1:k[n]=1;return f},triangleArea:function(b,c,e){var f,h=THREE.GeometryUtils.__v1;
+h.sub(b,c);f=h.length();h.sub(b,e);b=h.length();h.sub(c,e);e=h.length();c=0.5*(f+b+e);return Math.sqrt(c*(c-f)*(c-b)*(c-e))},random16:function(){return(65280*Math.random()+255*Math.random())/65535}};THREE.GeometryUtils.random=THREE.GeometryUtils.random16;THREE.GeometryUtils.__v1=new THREE.Vector3;
+THREE.ImageUtils={loadTexture:function(b,c,e){var f=new Image,h=new THREE.Texture(f,c);f.onload=function(){h.needsUpdate=!0;e&&e(this)};f.crossOrigin="";f.src=b;return h},loadTextureCube:function(b,c,e){var f,h=[],m=new THREE.Texture(h,c),c=h.loadCount=0;for(f=b.length;c<f;++c)h[c]=new Image,h[c].onload=function(){h.loadCount+=1;if(h.loadCount==6)m.needsUpdate=!0;e&&e(this)},h[c].crossOrigin="",h[c].src=b[c];return m},getNormalMap:function(b,c){var e=function(b){var e=Math.sqrt(b[0]*b[0]+b[1]*b[1]+
+b[2]*b[2]);return[b[0]/e,b[1]/e,b[2]/e]};c|=1;var f=b.width,h=b.height,m=document.createElement("canvas");m.width=f;m.height=h;var k=m.getContext("2d");k.drawImage(b,0,0);for(var n=k.getImageData(0,0,f,h).data,u=k.createImageData(f,h),p=u.data,v=0;v<f;v++)for(var t=1;t<h;t++){var x=t-1<0?h-1:t-1,w=(t+1)%h,z=v-1<0?f-1:v-1,y=(v+1)%f,B=[],D=[0,0,n[(t*f+v)*4]/255*c];B.push([-1,0,n[(t*f+z)*4]/255*c]);B.push([-1,-1,n[(x*f+z)*4]/255*c]);B.push([0,-1,n[(x*f+v)*4]/255*c]);B.push([1,-1,n[(x*f+y)*4]/255*c]);
+B.push([1,0,n[(t*f+y)*4]/255*c]);B.push([1,1,n[(w*f+y)*4]/255*c]);B.push([0,1,n[(w*f+v)*4]/255*c]);B.push([-1,1,n[(w*f+z)*4]/255*c]);x=[];z=B.length;for(w=0;w<z;w++){var y=B[w],G=B[(w+1)%z],y=[y[0]-D[0],y[1]-D[1],y[2]-D[2]],G=[G[0]-D[0],G[1]-D[1],G[2]-D[2]];x.push(e([y[1]*G[2]-y[2]*G[1],y[2]*G[0]-y[0]*G[2],y[0]*G[1]-y[1]*G[0]]))}B=[0,0,0];for(w=0;w<x.length;w++)B[0]+=x[w][0],B[1]+=x[w][1],B[2]+=x[w][2];B[0]/=x.length;B[1]/=x.length;B[2]/=x.length;D=(t*f+v)*4;p[D]=(B[0]+1)/2*255|0;p[D+1]=(B[1]+0.5)*
+255|0;p[D+2]=B[2]*255|0;p[D+3]=255}k.putImageData(u,0,0);return m}};THREE.SceneUtils={showHierarchy:function(b,c){THREE.SceneUtils.traverseHierarchy(b,function(b){b.visible=c})},traverseHierarchy:function(b,c){var e,f,h=b.children.length;for(f=0;f<h;f++)e=b.children[f],c(e),THREE.SceneUtils.traverseHierarchy(e,c)}};
+if(THREE.WebGLRenderer)THREE.ShaderUtils={lib:{fresnel:{uniforms:{mRefractionRatio:{type:"f",value:1.02},mFresnelBias:{type:"f",value:0.1},mFresnelPower:{type:"f",value:2},mFresnelScale:{type:"f",value:1},tCube:{type:"t",value:1,texture:null}},fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\nvec4 refractedColor = vec4( 1.0, 1.0, 1.0, 1.0 );\nrefractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;\nrefractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;\nrefractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;\nrefractedColor.a = 1.0;\ngl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );\n}",
+vertexShader:"uniform float mRefractionRatio;\nuniform float mFresnelBias;\nuniform float mFresnelScale;\nuniform float mFresnelPower;\nvarying vec3 vReflect;\nvarying vec3 vRefract[3];\nvarying float vReflectionFactor;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = normalize ( mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal );\nvec3 I = mPosition.xyz - cameraPosition;\nvReflect = reflect( I, nWorld );\nvRefract[0] = refract( normalize( I ), nWorld, mRefractionRatio );\nvRefract[1] = refract( normalize( I ), nWorld, mRefractionRatio * 0.99 );\nvRefract[2] = refract( normalize( I ), nWorld, mRefractionRatio * 0.98 );\nvReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), nWorld ), mFresnelPower );\ngl_Position = projectionMatrix * mvPosition;\n}"},
+normal:{uniforms:THREE.UniformsUtils.merge([THREE.UniformsLib.fog,THREE.UniformsLib.lights,{enableAO:{type:"i",value:0},enableDiffuse:{type:"i",value:0},enableSpecular:{type:"i",value:0},tDiffuse:{type:"t",value:0,texture:null},tNormal:{type:"t",value:2,texture:null},tSpecular:{type:"t",value:3,texture:null},tAO:{type:"t",value:4,texture:null},uNormalScale:{type:"f",value:1},tDisplacement:{type:"t",value:5,texture:null},uDisplacementBias:{type:"f",value:0},uDisplacementScale:{type:"f",value:1},uDiffuseColor:{type:"c",
+value:new THREE.Color(15658734)},uSpecularColor:{type:"c",value:new THREE.Color(1118481)},uAmbientColor:{type:"c",value:new THREE.Color(328965)},uShininess:{type:"f",value:30},uOpacity:{type:"f",value:1}}]),fragmentShader:["uniform vec3 uAmbientColor;\nuniform vec3 uDiffuseColor;\nuniform vec3 uSpecularColor;\nuniform float uShininess;\nuniform float uOpacity;\nuniform bool enableDiffuse;\nuniform bool enableSpecular;\nuniform bool enableAO;\nuniform sampler2D tDiffuse;\nuniform sampler2D tNormal;\nuniform sampler2D tSpecular;\nuniform sampler2D tAO;\nuniform float uNormalScale;\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;",
+THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( 1.0 );\nvec4 mColor = vec4( uDiffuseColor, uOpacity );\nvec4 mSpecular = vec4( uSpecularColor, uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse )\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\nif( enableAO )\ngl_FragColor = gl_FragColor * texture2D( tAO, vUv );\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( vTangent, vBinormal, vNormal );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointTotal = vec4( vec3( 0.0 ), 1.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec3 pointVector = normalize( vPointLight[ i ].xyz );\nvec3 pointHalfVector = normalize( vPointLight[ i ].xyz + viewPosition );\nfloat pointDistance = vPointLight[ i ].w;\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = specularTex.r * pow( pointDotNormalHalf, uShininess );\npointTotal += pointDistance * vec4( pointLightColor[ i ], 1.0 ) * ( mColor * pointDiffuseWeight + mSpecular * pointSpecularWeight * pointDiffuseWeight );\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirTotal = vec4( vec3( 0.0 ), 1.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + viewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = specularTex.r * pow( dirDotNormalHalf, uShininess );\ndirTotal += vec4( directionalLightColor[ i ], 1.0 ) * ( mColor * dirDiffuseWeight + mSpecular * dirSpecularWeight * dirDiffuseWeight );\n}\n#endif\nvec4 totalLight = vec4( ambientLightColor * uAmbientColor, uOpacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirTotal;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointTotal;\n#endif\ngl_FragColor = gl_FragColor * totalLight;",
+THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:"attribute vec4 tangent;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvViewPosition = -mvPosition.xyz;\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvBinormal = normalize( vBinormal );\nvUv = uv;\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#ifdef VERTEX_TEXTURES\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\nvec4 displacedPosition = vec4( vNormal.xyz * df, 0.0 ) + mvPosition;\ngl_Position = projectionMatrix * displacedPosition;\n#else\ngl_Position = projectionMatrix * mvPosition;\n#endif\n}"},
+cube:{uniforms:{tCube:{type:"t",value:1,texture:null}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( - wPos.x, wPos.yz ) );\n}"}}};
+THREE.Curve=function(){};THREE.Curve.prototype.getPoint=function(){console.log("Warning, getPoint() not implemented!");return null};THREE.Curve.prototype.getPointAt=function(b){return this.getPoint(this.getUtoTmapping(b))};THREE.Curve.prototype.getPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPoint(c/b));return e};THREE.Curve.prototype.getSpacedPoints=function(b){b||(b=5);var c,e=[];for(c=0;c<=b;c++)e.push(this.getPointAt(c/b));return e};
+THREE.Curve.prototype.getLength=function(){var b=this.getLengths();return b[b.length-1]};THREE.Curve.prototype.getLengths=function(b){b||(b=200);if(this.cacheArcLengths&&this.cacheArcLengths.length==b+1)return this.cacheArcLengths;var c=[],e,f=this.getPoint(0),h,m=0;c.push(0);for(h=1;h<=b;h++)e=this.getPoint(h/b),m+=e.distanceTo(f),c.push(m),f=e;return this.cacheArcLengths=c};
+THREE.Curve.prototype.getUtoTmapping=function(b,c){var e=this.getLengths(),f=0,h=e.length,m;m=c?c:b*e[h-1];time=Date.now();for(var k=0,n=h-1,u;k<=n;)if(f=Math.floor(k+(n-k)/2),u=e[f]-m,u<0)k=f+1;else if(u>0)n=f-1;else{n=f;break}f=n;if(e[f]==m)return f/(h-1);k=e[f];return e=(f+(m-k)/(e[f+1]-k))/(h-1)};THREE.Curve.prototype.getNormalVector=function(b){b=this.getTangent(b);return new THREE.Vector2(-b.y,b.x)};
+THREE.Curve.prototype.getTangent=function(b){var c=b-1.0E-4;b+=1.0E-4;c<0&&(c=0);b>1&&(b=1);var c=this.getPoint(c),b=this.getPoint(b),e=new THREE.Vector2;e.sub(b,c);return e.unit()};THREE.LineCurve=function(b,c){b instanceof THREE.Vector2?(this.v1=b,this.v2=c):THREE.LineCurve.oldConstructor.apply(this,arguments)};THREE.LineCurve.oldConstructor=function(b,c,e,f){this.constructor(new THREE.Vector2(b,c),new THREE.Vector2(e,f))};THREE.LineCurve.prototype=new THREE.Curve;
+THREE.LineCurve.prototype.constructor=THREE.LineCurve;THREE.LineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2;c.sub(this.v2,this.v1);c.multiplyScalar(b).addSelf(this.v1);return c};THREE.LineCurve.prototype.getPointAt=function(b){return this.getPoint(b)};THREE.LineCurve.prototype.getTangent=function(){var b=new THREE.Vector2;b.sub(this.v2,this.v1);b.normalize();return b};
+THREE.QuadraticBezierCurve=function(b,c,e){if(!(c instanceof THREE.Vector2))var f=Array.prototype.slice.call(arguments),b=new THREE.Vector2(f[0],f[1]),c=new THREE.Vector2(f[2],f[3]),e=new THREE.Vector2(f[4],f[5]);this.v0=b;this.v1=c;this.v2=e};THREE.QuadraticBezierCurve.prototype=new THREE.Curve;THREE.QuadraticBezierCurve.prototype.constructor=THREE.QuadraticBezierCurve;
+THREE.QuadraticBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(c,b)};THREE.QuadraticBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.x,this.v1.x,this.v2.x);b=THREE.Curve.Utils.tangentQuadraticBezier(b,this.v0.y,this.v1.y,this.v2.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.CubicBezierCurve=function(b,c,e,f){if(!(c instanceof THREE.Vector2))var h=Array.prototype.slice.call(arguments),b=new THREE.Vector2(h[0],h[1]),c=new THREE.Vector2(h[2],h[3]),e=new THREE.Vector2(h[4],h[5]),f=new THREE.Vector2(h[6],h[7]);this.v0=b;this.v1=c;this.v2=e;this.v3=f};THREE.CubicBezierCurve.prototype=new THREE.Curve;THREE.CubicBezierCurve.prototype.constructor=THREE.CubicBezierCurve;
+THREE.CubicBezierCurve.prototype.getPoint=function(b){var c;c=THREE.Shape.Utils.b3(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Shape.Utils.b3(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(c,b)};THREE.CubicBezierCurve.prototype.getTangent=function(b){var c;c=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.x,this.v1.x,this.v2.x,this.v3.x);b=THREE.Curve.Utils.tangentCubicBezier(b,this.v0.y,this.v1.y,this.v2.y,this.v3.y);c=new THREE.Vector2(c,b);c.normalize();return c};
+THREE.SplineCurve=function(b){this.points=b};THREE.SplineCurve.prototype=new THREE.Curve;THREE.SplineCurve.prototype.constructor=THREE.SplineCurve;
+THREE.SplineCurve.prototype.getPoint=function(b){var c=new THREE.Vector2,e=[],f=this.points,h;h=(f.length-1)*b;b=Math.floor(h);h-=b;e[0]=b==0?b:b-1;e[1]=b;e[2]=b>f.length-2?b:b+1;e[3]=b>f.length-3?b:b+2;c.x=THREE.Curve.Utils.interpolate(f[e[0]].x,f[e[1]].x,f[e[2]].x,f[e[3]].x,h);c.y=THREE.Curve.Utils.interpolate(f[e[0]].y,f[e[1]].y,f[e[2]].y,f[e[3]].y,h);return c};THREE.ArcCurve=function(b,c,e,f,h,m){this.aX=b;this.aY=c;this.aRadius=e;this.aStartAngle=f;this.aEndAngle=h;this.aClockwise=m};
+THREE.ArcCurve.prototype=new THREE.Curve;THREE.ArcCurve.prototype.constructor=THREE.ArcCurve;THREE.ArcCurve.prototype.getPoint=function(b){var c=this.aEndAngle-this.aStartAngle;this.aClockwise||(b=1-b);b=this.aStartAngle+b*c;return new THREE.Vector2(this.aX+this.aRadius*Math.cos(b),this.aY+this.aRadius*Math.sin(b))};
+THREE.Curve.Utils={tangentQuadraticBezier:function(b,c,e,f){return 2*(1-b)*(e-c)+2*b*(f-e)},tangentCubicBezier:function(b,c,e,f,h){return-3*c*(1-b)*(1-b)+3*e*(1-b)*(1-b)-6*b*e*(1-b)+6*b*f*(1-b)-3*b*b*f+3*b*b*h},tangentSpline:function(b){return 6*b*b-6*b+(3*b*b-4*b+1)+(-6*b*b+6*b)+(3*b*b-2*b)},interpolate:function(b,c,e,f,h){var b=(e-b)*0.5,f=(f-c)*0.5,m=h*h;return(2*c-2*e+b+f)*h*m+(-3*c+3*e-2*b-f)*m+b*h+c}};
+THREE.Curve.create=function(b,c){b.prototype=new THREE.Curve;b.prototype.constructor=b;b.prototype.getPoint=c;return b};THREE.LineCurve3=THREE.Curve.create(function(b,c){this.v1=b;this.v2=c},function(b){var c=new THREE.Vector3;c.sub(v2,v1);c.multiplyScalar(b);c.addSelf(this.v1);return c});
+THREE.QuadraticBezierCurve3=THREE.Curve.create(function(b,c,e){this.v0=b;this.v1=c;this.v2=e},function(b){var c,e;c=THREE.Shape.Utils.b2(b,this.v0.x,this.v1.x,this.v2.x);e=THREE.Shape.Utils.b2(b,this.v0.y,this.v1.y,this.v2.y);b=THREE.Shape.Utils.b2(b,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(c,e,b)});THREE.CurvePath=function(){this.curves=[];this.bends=[]};THREE.CurvePath.prototype=new THREE.Curve;THREE.CurvePath.prototype.constructor=THREE.CurvePath;THREE.CurvePath.prototype.add=function(b){this.curves.push(b)};
+THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){};THREE.CurvePath.prototype.getPoint=function(b){for(var c=b*this.getLength(),e=this.getCurveLengths(),b=0;b<e.length;){if(e[b]>=c)return c=e[b]-c,b=this.curves[b],c=1-c/b.getLength(),b.getPointAt(c);b++}return null};THREE.CurvePath.prototype.getLength=function(){var b=this.getCurveLengths();return b[b.length-1]};
+THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var b=[],c=0,e,f=this.curves.length;for(e=0;e<f;e++)c+=this.curves[e].getLength(),b.push(c);return this.cacheLengths=b};
+THREE.CurvePath.prototype.getBoundingBox=function(){var b=this.getPoints(),c,e,f,h;c=e=Number.NEGATIVE_INFINITY;f=h=Number.POSITIVE_INFINITY;var m,k,n,u;u=new THREE.Vector2;k=0;for(n=b.length;k<n;k++){m=b[k];if(m.x>c)c=m.x;else if(m.x<f)f=m.x;if(m.y>e)e=m.y;else if(m.y<e)h=m.y;u.addSelf(m.x,m.y)}return{minX:f,minY:h,maxX:c,maxY:e,centroid:u.divideScalar(n)}};THREE.CurvePath.prototype.createPointsGeometry=function(b){return this.createGeometry(this.getPoints(b,!0))};
+THREE.CurvePath.prototype.createSpacedPointsGeometry=function(b){return this.createGeometry(this.getSpacedPoints(b,!0))};THREE.CurvePath.prototype.createGeometry=function(b){for(var c=new THREE.Geometry,e=0;e<b.length;e++)c.vertices.push(new THREE.Vertex(new THREE.Vector3(b[e].x,b[e].y,0)));return c};THREE.CurvePath.prototype.addWrapPath=function(b){this.bends.push(b)};
+THREE.CurvePath.prototype.getTransformedPoints=function(b,c){var e=this.getPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};THREE.CurvePath.prototype.getTransformedSpacedPoints=function(b,c){var e=this.getSpacedPoints(b),f,h;if(!c)c=this.bends;f=0;for(h=c.length;f<h;f++)e=this.getWrapPoints(e,c[f]);return e};
+THREE.CurvePath.prototype.getWrapPoints=function(b,c){var e=this.getBoundingBox(),f,h,m,k,n,u;f=0;for(h=b.length;f<h;f++)m=b[f],k=m.x,n=m.y,u=k/e.maxX,u=c.getUtoTmapping(u,k),k=c.getPoint(u),n=c.getNormalVector(u).multiplyScalar(n),m.x=k.x+n.x,m.y=k.y+n.y;return b};THREE.Path=function(b){THREE.CurvePath.call(this);this.actions=[];b&&this.fromPoints(b)};THREE.Path.prototype=new THREE.CurvePath;THREE.Path.prototype.constructor=THREE.Path;
+THREE.PathActions={MOVE_TO:"moveTo",LINE_TO:"lineTo",QUADRATIC_CURVE_TO:"quadraticCurveTo",BEZIER_CURVE_TO:"bezierCurveTo",CSPLINE_THRU:"splineThru",ARC:"arc"};THREE.Path.prototype.fromPoints=function(b){this.moveTo(b[0].x,b[0].y);var c,e=b.length;for(c=1;c<e;c++)this.lineTo(b[c].x,b[c].y)};THREE.Path.prototype.moveTo=function(){var b=Array.prototype.slice.call(arguments);this.actions.push({action:THREE.PathActions.MOVE_TO,args:b})};
+THREE.Path.prototype.lineTo=function(b,c){var e=Array.prototype.slice.call(arguments),f=this.actions[this.actions.length-1].args;this.curves.push(new THREE.LineCurve(new THREE.Vector2(f[f.length-2],f[f.length-1]),new THREE.Vector2(b,c)));this.actions.push({action:THREE.PathActions.LINE_TO,args:e})};
+THREE.Path.prototype.quadraticCurveTo=function(b,c,e,f){var h=Array.prototype.slice.call(arguments),m=this.actions[this.actions.length-1].args;this.curves.push(new THREE.QuadraticBezierCurve(new THREE.Vector2(m[m.length-2],m[m.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f)));this.actions.push({action:THREE.PathActions.QUADRATIC_CURVE_TO,args:h})};
+THREE.Path.prototype.bezierCurveTo=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments),n=this.actions[this.actions.length-1].args;this.curves.push(new THREE.CubicBezierCurve(new THREE.Vector2(n[n.length-2],n[n.length-1]),new THREE.Vector2(b,c),new THREE.Vector2(e,f),new THREE.Vector2(h,m)));this.actions.push({action:THREE.PathActions.BEZIER_CURVE_TO,args:k})};
+THREE.Path.prototype.splineThru=function(b){var c=Array.prototype.slice.call(arguments),e=this.actions[this.actions.length-1].args,e=[new THREE.Vector2(e[e.length-2],e[e.length-1])],e=e.concat(b);this.curves.push(new THREE.SplineCurve(e));this.actions.push({action:THREE.PathActions.CSPLINE_THRU,args:c})};THREE.Path.prototype.arc=function(b,c,e,f,h,m){var k=Array.prototype.slice.call(arguments);this.curves.push(new THREE.ArcCurve(b,c,e,f,h,m));this.actions.push({action:THREE.PathActions.ARC,args:k})};
+THREE.Path.prototype.getSpacedPoints=function(b){b||(b=40);for(var c=[],e=0;e<b;e++)c.push(this.getPoint(e/b));return c};
+THREE.Path.prototype.getPoints=function(b,c){var b=b||12,e=[],f,h,m,k,n,u,p,v,t,x,w,z,y;f=0;for(h=this.actions.length;f<h;f++)switch(m=this.actions[f],k=m.action,m=m.args,k){case THREE.PathActions.LINE_TO:e.push(new THREE.Vector2(m[0],m[1]));break;case THREE.PathActions.QUADRATIC_CURVE_TO:n=m[2];u=m[3];t=m[0];x=m[1];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b2(y,w,t,n),y=THREE.Shape.Utils.b2(y,z,x,
+u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.BEZIER_CURVE_TO:n=m[4];u=m[5];t=m[0];x=m[1];p=m[2];v=m[3];e.length>0?(k=e[e.length-1],w=k.x,z=k.y):(k=this.actions[f-1].args,w=k[k.length-2],z=k[k.length-1]);for(k=1;k<=b;k++)y=k/b,m=THREE.Shape.Utils.b3(y,w,t,p,n),y=THREE.Shape.Utils.b3(y,z,x,v,u),e.push(new THREE.Vector2(m,y));break;case THREE.PathActions.CSPLINE_THRU:k=this.actions[f-1].args;k=[new THREE.Vector2(k[k.length-2],k[k.length-1])];y=b*m[0].length;k=k.concat(m[0]);m=new THREE.SplineCurve(k);
+for(k=1;k<=y;k++)e.push(m.getPointAt(k/y));break;case THREE.PathActions.ARC:k=this.actions[f-1].args;n=m[0];u=m[1];p=m[2];t=m[3];y=m[4];x=!!m[5];v=k[k.length-2];w=k[k.length-1];k.length==0&&(v=w=0);z=y-t;var B=b*2;for(k=1;k<=B;k++)y=k/B,x||(y=1-y),y=t+y*z,m=v+n+p*Math.cos(y),y=w+u+p*Math.sin(y),e.push(new THREE.Vector2(m,y))}c&&e.push(e[0]);return e};THREE.Path.prototype.transform=function(b,c){this.getBoundingBox();return this.getWrapPoints(this.getPoints(c),b)};
+THREE.Path.prototype.nltransform=function(b,c,e,f,h,m){var k=this.getPoints(),n,u,p,v,t;n=0;for(u=k.length;n<u;n++)p=k[n],v=p.x,t=p.y,p.x=b*v+c*t+e,p.y=f*t+h*v+m;return k};
+THREE.Path.prototype.debug=function(b){var c=this.getBoundingBox();b||(b=document.createElement("canvas"),b.setAttribute("width",c.maxX+100),b.setAttribute("height",c.maxY+100),document.body.appendChild(b));c=b.getContext("2d");c.fillStyle="white";c.fillRect(0,0,b.width,b.height);c.strokeStyle="black";c.beginPath();var e,f,h,b=0;for(e=this.actions.length;b<e;b++)f=this.actions[b],h=f.args,f=f.action,f!=THREE.PathActions.CSPLINE_THRU&&c[f].apply(c,h);c.stroke();c.closePath();c.strokeStyle="red";f=
+this.getPoints();b=0;for(e=f.length;b<e;b++)h=f[b],c.beginPath(),c.arc(h.x,h.y,1.5,0,Math.PI*2,!1),c.stroke(),c.closePath()};
+THREE.Path.prototype.toShapes=function(){var b,c,e,f,h=[],m=new THREE.Path;b=0;for(c=this.actions.length;b<c;b++)e=this.actions[b],f=e.args,e=e.action,e==THREE.PathActions.MOVE_TO&&m.actions.length!=0&&(h.push(m),m=new THREE.Path),m[e].apply(m,f);m.actions.length!=0&&h.push(m);if(h.length==0)return[];var k,m=[];if(THREE.Shape.Utils.isClockWise(h[0].getPoints())){b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k&&m.push(k),k=new THREE.Shape,k.actions=f.actions,k.curves=
+f.curves):k.holes.push(f);m.push(k)}else{k=new THREE.Shape;b=0;for(c=h.length;b<c;b++)f=h[b],THREE.Shape.Utils.isClockWise(f.getPoints())?(k.actions=f.actions,k.curves=f.curves,m.push(k),k=new THREE.Shape):k.holes.push(f)}return m};THREE.Shape=function(){THREE.Path.apply(this,arguments);this.holes=[]};THREE.Shape.prototype=new THREE.Path;THREE.Shape.prototype.constructor=THREE.Path;THREE.Shape.prototype.extrude=function(b){return new THREE.ExtrudeGeometry(this,b)};
+THREE.Shape.prototype.getPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedPoints(b,this.bends);return f};THREE.Shape.prototype.getSpacedPointsHoles=function(b){var c,e=this.holes.length,f=[];for(c=0;c<e;c++)f[c]=this.holes[c].getTransformedSpacedPoints(b,this.bends);return f};THREE.Shape.prototype.extractAllPoints=function(b){return{shape:this.getTransformedPoints(b),holes:this.getPointsHoles(b)}};
+THREE.Shape.prototype.extractAllSpacedPoints=function(b){return{shape:this.getTransformedSpacedPoints(b),holes:this.getSpacedPointsHoles(b)}};
+THREE.Shape.Utils={removeHoles:function(b,c){var e=b.concat(),f=e.concat(),h,m,k,n,u,p,v,t,x,w,z=[];for(u=0;u<c.length;u++){p=c[u];f=f.concat(p);m=Number.POSITIVE_INFINITY;for(h=0;h<p.length;h++){x=p[h];w=[];for(t=0;t<e.length;t++)v=e[t],v=x.distanceToSquared(v),w.push(v),v<m&&(m=v,k=h,n=t)}h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;var y=[p[k],e[n],e[h]];t=THREE.FontUtils.Triangulate.area(y);var B=[p[k],p[m],e[n]];x=THREE.FontUtils.Triangulate.area(B);w=n;v=k;n+=1;k+=-1;n<0&&(n+=e.length);n%=
+e.length;k<0&&(k+=p.length);k%=p.length;h=n-1>=0?n-1:e.length-1;m=k-1>=0?k-1:p.length-1;y=[p[k],e[n],e[h]];y=THREE.FontUtils.Triangulate.area(y);B=[p[k],p[m],e[n]];B=THREE.FontUtils.Triangulate.area(B);t+x>y+B&&(n=w,k=v,n<0&&(n+=e.length),n%=e.length,k<0&&(k+=p.length),k%=p.length,h=n-1>=0?n-1:e.length-1,m=k-1>=0?k-1:p.length-1);t=e.slice(0,n);x=e.slice(n);w=p.slice(k);v=p.slice(0,k);m=[p[k],p[m],e[n]];z.push([p[k],e[n],e[h]]);z.push(m);e=t.concat(w).concat(v).concat(x)}return{shape:e,isolatedPts:z,
+allpoints:f}},triangulateShape:function(b,c){var e=THREE.Shape.Utils.removeHoles(b,c),f=e.allpoints,h=e.isolatedPts,e=THREE.FontUtils.Triangulate(e.shape,!1),m,k,n,u,p={};m=0;for(k=f.length;m<k;m++)u=f[m].x+":"+f[m].y,p[u]!==void 0&&console.log("Duplicate point",u),p[u]=m;m=0;for(k=e.length;m<k;m++){n=e[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}m=0;for(k=h.length;m<k;m++){n=h[m];for(f=0;f<3;f++)u=n[f].x+":"+n[f].y,u=p[u],u!==void 0&&(n[f]=u)}return e.concat(h)},isClockWise:function(b){return THREE.FontUtils.Triangulate.area(b)<
+0},b2p0:function(b,c){var e=1-b;return e*e*c},b2p1:function(b,c){return 2*(1-b)*b*c},b2p2:function(b,c){return b*b*c},b2:function(b,c,e,f){return this.b2p0(b,c)+this.b2p1(b,e)+this.b2p2(b,f)},b3p0:function(b,c){var e=1-b;return e*e*e*c},b3p1:function(b,c){var e=1-b;return 3*e*e*b*c},b3p2:function(b,c){return 3*(1-b)*b*b*c},b3p3:function(b,c){return b*b*b*c},b3:function(b,c,e,f,h){return this.b3p0(b,c)+this.b3p1(b,e)+this.b3p2(b,f)+this.b3p3(b,h)}};
+THREE.TextPath=function(b,c){THREE.Path.call(this);this.parameters=c||{};this.set(b)};THREE.TextPath.prototype.set=function(b,c){this.text=b;var c=c||this.parameters,e=c.curveSegments!==void 0?c.curveSegments:4,f=c.font!==void 0?c.font:"helvetiker",h=c.weight!==void 0?c.weight:"normal",m=c.style!==void 0?c.style:"normal";THREE.FontUtils.size=c.size!==void 0?c.size:100;THREE.FontUtils.divisions=e;THREE.FontUtils.face=f;THREE.FontUtils.weight=h;THREE.FontUtils.style=m};
+THREE.TextPath.prototype.toShapes=function(){for(var b=THREE.FontUtils.drawText(this.text).paths,c=[],e=0,f=b.length;e<f;e++)c=c.concat(b[e].toShapes());return c};
+THREE.AnimationHandler=function(){var b=[],c={},e={update:function(e){for(var c=0;c<b.length;c++)b[c].update(e)},addToUpdate:function(e){b.indexOf(e)===-1&&b.push(e)},removeFromUpdate:function(e){e=b.indexOf(e);e!==-1&&b.splice(e,1)},add:function(b){c[b.name]!==void 0&&console.log("THREE.AnimationHandler.add: Warning! "+b.name+" already exists in library. Overwriting.");c[b.name]=b;if(b.initialized!==!0){for(var e=0;e<b.hierarchy.length;e++){for(var f=0;f<b.hierarchy[e].keys.length;f++){if(b.hierarchy[e].keys[f].time<
+0)b.hierarchy[e].keys[f].time=0;if(b.hierarchy[e].keys[f].rot!==void 0&&!(b.hierarchy[e].keys[f].rot instanceof THREE.Quaternion)){var n=b.hierarchy[e].keys[f].rot;b.hierarchy[e].keys[f].rot=new THREE.Quaternion(n[0],n[1],n[2],n[3])}}if(b.hierarchy[e].keys[0].morphTargets!==void 0){n={};for(f=0;f<b.hierarchy[e].keys.length;f++)for(var u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++){var p=b.hierarchy[e].keys[f].morphTargets[u];n[p]=-1}b.hierarchy[e].usedMorphTargets=n;for(f=0;f<b.hierarchy[e].keys.length;f++){var v=
+{};for(p in n){for(u=0;u<b.hierarchy[e].keys[f].morphTargets.length;u++)if(b.hierarchy[e].keys[f].morphTargets[u]===p){v[p]=b.hierarchy[e].keys[f].morphTargetsInfluences[u];break}u===b.hierarchy[e].keys[f].morphTargets.length&&(v[p]=0)}b.hierarchy[e].keys[f].morphTargetsInfluences=v}}for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].time===b.hierarchy[e].keys[f-1].time&&(b.hierarchy[e].keys.splice(f,1),f--);for(f=1;f<b.hierarchy[e].keys.length;f++)b.hierarchy[e].keys[f].index=f}f=parseInt(b.length*
+b.fps,10);b.JIT={};b.JIT.hierarchy=[];for(e=0;e<b.hierarchy.length;e++)b.JIT.hierarchy.push(Array(f));b.initialized=!0}},get:function(b){if(typeof b==="string")return c[b]?c[b]:(console.log("THREE.AnimationHandler.get: Couldn't find animation "+b),null)},parse:function(b){var e=[];if(b instanceof THREE.SkinnedMesh)for(var c=0;c<b.bones.length;c++)e.push(b.bones[c]);else f(b,e);return e}},f=function(b,e){e.push(b);for(var c=0;c<b.children.length;c++)f(b.children[c],e)};e.LINEAR=0;e.CATMULLROM=1;e.CATMULLROM_FORWARD=
+2;return e}();THREE.Animation=function(b,c,e,f){this.root=b;this.data=THREE.AnimationHandler.get(c);this.hierarchy=THREE.AnimationHandler.parse(b);this.currentTime=0;this.timeScale=1;this.isPlaying=!1;this.loop=this.isPaused=!0;this.interpolationType=e!==void 0?e:THREE.AnimationHandler.LINEAR;this.JITCompile=f!==void 0?f:!0;this.points=[];this.target=new THREE.Vector3};
+THREE.Animation.prototype.play=function(b,c){if(!this.isPlaying){this.isPlaying=!0;this.loop=b!==void 0?b:!0;this.currentTime=c!==void 0?c:0;var e,f=this.hierarchy.length,h;for(e=0;e<f;e++){h=this.hierarchy[e];if(this.interpolationType!==THREE.AnimationHandler.CATMULLROM_FORWARD)h.useQuaternion=!0;h.matrixAutoUpdate=!0;if(h.animationCache===void 0)h.animationCache={},h.animationCache.prevKey={pos:0,rot:0,scl:0},h.animationCache.nextKey={pos:0,rot:0,scl:0},h.animationCache.originalMatrix=h instanceof
+THREE.Bone?h.skinMatrix:h.matrix;var m=h.animationCache.prevKey;h=h.animationCache.nextKey;m.pos=this.data.hierarchy[e].keys[0];m.rot=this.data.hierarchy[e].keys[0];m.scl=this.data.hierarchy[e].keys[0];h.pos=this.getNextKeyWith("pos",e,1);h.rot=this.getNextKeyWith("rot",e,1);h.scl=this.getNextKeyWith("scl",e,1)}this.update(0)}this.isPaused=!1;THREE.AnimationHandler.addToUpdate(this)};
+THREE.Animation.prototype.pause=function(){this.isPaused?THREE.AnimationHandler.addToUpdate(this):THREE.AnimationHandler.removeFromUpdate(this);this.isPaused=!this.isPaused};
+THREE.Animation.prototype.stop=function(){this.isPaused=this.isPlaying=!1;THREE.AnimationHandler.removeFromUpdate(this);for(var b=0;b<this.hierarchy.length;b++)if(this.hierarchy[b].animationCache!==void 0)this.hierarchy[b]instanceof THREE.Bone?this.hierarchy[b].skinMatrix=this.hierarchy[b].animationCache.originalMatrix:this.hierarchy[b].matrix=this.hierarchy[b].animationCache.originalMatrix,delete this.hierarchy[b].animationCache};
+THREE.Animation.prototype.update=function(b){if(this.isPlaying){var c=["pos","rot","scl"],e,f,h,m,k,n,u,p,v=this.data.JIT.hierarchy,t,x;this.currentTime+=b*this.timeScale;x=this.currentTime;t=this.currentTime%=this.data.length;p=parseInt(Math.min(t*this.data.fps,this.data.length*this.data.fps),10);for(var w=0,z=this.hierarchy.length;w<z;w++)if(b=this.hierarchy[w],u=b.animationCache,this.JITCompile&&v[w][p]!==void 0)b instanceof THREE.Bone?(b.skinMatrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=
+!1):(b.matrix=v[w][p],b.matrixAutoUpdate=!1,b.matrixWorldNeedsUpdate=!0);else{if(this.JITCompile)b instanceof THREE.Bone?b.skinMatrix=b.animationCache.originalMatrix:b.matrix=b.animationCache.originalMatrix;for(var y=0;y<3;y++){e=c[y];k=u.prevKey[e];n=u.nextKey[e];if(n.time<=x){if(t<x)if(this.loop){k=this.data.hierarchy[w].keys[0];for(n=this.getNextKeyWith(e,w,1);n.time<t;)k=n,n=this.getNextKeyWith(e,w,n.index+1)}else{this.stop();return}else{do k=n,n=this.getNextKeyWith(e,w,n.index+1);while(n.time<
+t)}u.prevKey[e]=k;u.nextKey[e]=n}b.matrixAutoUpdate=!0;b.matrixWorldNeedsUpdate=!0;f=(t-k.time)/(n.time-k.time);h=k[e];m=n[e];if(f<0||f>1)console.log("THREE.Animation.update: Warning! Scale out of bounds:"+f+" on bone "+w),f=f<0?0:1;if(e==="pos")if(e=b.position,this.interpolationType===THREE.AnimationHandler.LINEAR)e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)if(this.points[0]=
+this.getPrevKeyWith("pos",w,k.index-1).pos,this.points[1]=h,this.points[2]=m,this.points[3]=this.getNextKeyWith("pos",w,n.index+1).pos,f=f*0.33+0.33,h=this.interpolateCatmullRom(this.points,f),e.x=h[0],e.y=h[1],e.z=h[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)f=this.interpolateCatmullRom(this.points,f*1.01),this.target.set(f[0],f[1],f[2]),this.target.subSelf(e),this.target.y=0,this.target.normalize(),f=Math.atan2(this.target.x,this.target.z),b.rotation.set(0,f,0)}else if(e===
+"rot")THREE.Quaternion.slerp(h,m,b.quaternion,f);else if(e==="scl")e=b.scale,e.x=h[0]+(m[0]-h[0])*f,e.y=h[1]+(m[1]-h[1])*f,e.z=h[2]+(m[2]-h[2])*f}}if(this.JITCompile&&v[0][p]===void 0){this.hierarchy[0].update(void 0,!0);for(w=0;w<this.hierarchy.length;w++)v[w][p]=this.hierarchy[w]instanceof THREE.Bone?this.hierarchy[w].skinMatrix.clone():this.hierarchy[w].matrix.clone()}}};
+THREE.Animation.prototype.interpolateCatmullRom=function(b,c){var e=[],f=[],h,m,k,n,u,p;h=(b.length-1)*c;m=Math.floor(h);h-=m;e[0]=m==0?m:m-1;e[1]=m;e[2]=m>b.length-2?m:m+1;e[3]=m>b.length-3?m:m+2;m=b[e[0]];n=b[e[1]];u=b[e[2]];p=b[e[3]];e=h*h;k=h*e;f[0]=this.interpolate(m[0],n[0],u[0],p[0],h,e,k);f[1]=this.interpolate(m[1],n[1],u[1],p[1],h,e,k);f[2]=this.interpolate(m[2],n[2],u[2],p[2],h,e,k);return f};
+THREE.Animation.prototype.interpolate=function(b,c,e,f,h,m,k){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*k+(-3*(c-e)-2*b-f)*m+b*h+c};THREE.Animation.prototype.getNextKeyWith=function(b,c,e){var f=this.data.hierarchy[c].keys;for(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e=e<f.length-1?e:f.length-1:e%=f.length;e<f.length;e++)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[0]};
+THREE.Animation.prototype.getPrevKeyWith=function(b,c,e){for(var f=this.data.hierarchy[c].keys,e=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?e>0?e:0:e>=0?e:e+f.length;e>=0;e--)if(f[e][b]!==void 0)return f[e];return this.data.hierarchy[c].keys[f.length-1]};
+THREE.FirstPersonCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.movementSpeed=1;this.lookSpeed=0.005;this.noFly=!1;this.lookVertical=!0;this.autoForward=!1;this.activeLook=!0;this.heightSpeed=!1;this.heightCoef=1;this.heightMin=0;this.constrainVertical=!1;this.verticalMin=0;this.verticalMax=3.14;this.domElement=document;this.lastUpdate=(new Date).getTime();this.tdiff=0;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=
+b.movementSpeed;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.noFly!==void 0)this.noFly=b.noFly;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.autoForward!==void 0)this.autoForward=b.autoForward;if(b.activeLook!==void 0)this.activeLook=b.activeLook;if(b.heightSpeed!==void 0)this.heightSpeed=b.heightSpeed;if(b.heightCoef!==void 0)this.heightCoef=b.heightCoef;if(b.heightMin!==void 0)this.heightMin=b.heightMin;if(b.heightMax!==void 0)this.heightMax=b.heightMax;if(b.constrainVertical!==
+void 0)this.constrainVertical=b.constrainVertical;if(b.verticalMin!==void 0)this.verticalMin=b.verticalMin;if(b.verticalMax!==void 0)this.verticalMax=b.verticalMax;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=!1;this.windowHalfX=window.innerWidth/2;this.windowHalfY=window.innerHeight/2;this.onMouseDown=function(b){b.preventDefault();
+b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}this.mouseDragOn=!0};this.onMouseUp=function(b){b.preventDefault();b.stopPropagation();if(this.activeLook)switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.mouseDragOn=!1};this.onMouseMove=function(b){this.mouseX=b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.onKeyDown=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=
+!0;break;case 37:case 65:this.moveLeft=!0;break;case 40:case 83:this.moveBackward=!0;break;case 39:case 68:this.moveRight=!0;break;case 82:this.moveUp=!0;break;case 70:this.moveDown=!0;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(b){switch(b.keyCode){case 38:case 87:this.moveForward=!1;break;case 37:case 65:this.moveLeft=!1;break;case 40:case 83:this.moveBackward=!1;break;case 39:case 68:this.moveRight=!1;break;case 82:this.moveUp=!1;break;case 70:this.moveDown=!1}};this.update=
+function(){var b=(new Date).getTime();this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;if(!this.freeze){this.autoSpeedFactor=this.heightSpeed?this.tdiff*((this.position.y<this.heightMin?this.heightMin:this.position.y>this.heightMax?this.heightMax:this.position.y)-this.heightMin)*this.heightCoef:0;var c=this.tdiff*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&&this.translateZ(-(c+this.autoSpeedFactor));this.moveBackward&&this.translateZ(c);this.moveLeft&&this.translateX(-c);
+this.moveRight&&this.translateX(c);this.moveUp&&this.translateY(c);this.moveDown&&this.translateY(-c);c=this.tdiff*this.lookSpeed;this.activeLook||(c=0);this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b=this.target.position,h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*Math.sin(this.theta)}b=
+1;this.constrainVertical&&(b=3.14/(this.verticalMax-this.verticalMin));this.lon+=this.mouseX*c;this.lookVertical&&(this.lat-=this.mouseY*c*b);this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=(this.phi-0)*(this.verticalMax-this.verticalMin)/3.14+this.verticalMin;b=this.target.position;h=this.position;b.x=h.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=h.y+100*Math.cos(this.phi);b.z=h.z+100*Math.sin(this.phi)*
+Math.sin(this.theta);this.supr.update.call(this)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),!1);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),!1);this.domElement.addEventListener("mouseup",c(this,this.onMouseUp),!1);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),!1);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),!1)};
+THREE.FirstPersonCamera.prototype=new THREE.Camera;THREE.FirstPersonCamera.prototype.constructor=THREE.FirstPersonCamera;THREE.FirstPersonCamera.prototype.supr=THREE.Camera.prototype;THREE.FirstPersonCamera.prototype.translate=function(b,c){this.matrix.rotateAxis(c);if(this.noFly)c.y=0;this.position.addSelf(c.multiplyScalar(b));this.target.position.addSelf(c.multiplyScalar(b))};
+THREE.PathCamera=function(b){function c(b,e,c,f){var k={name:c,fps:0.6,length:f,hierarchy:[]},h,m=e.getControlPointsArray(),n=e.getLength(),u=m.length,G=0;h=u-1;e={parent:-1,keys:[]};e.keys[0]={time:0,pos:m[0],rot:[0,0,0,1],scl:[1,1,1]};e.keys[h]={time:f,pos:m[h],rot:[0,0,0,1],scl:[1,1,1]};for(h=1;h<u-1;h++)G=f*n.chunks[h]/n.total,e.keys[h]={time:G,pos:m[h]};k.hierarchy[0]=e;THREE.AnimationHandler.add(k);return new THREE.Animation(b,c,THREE.AnimationHandler.CATMULLROM_FORWARD,!1)}function e(b,e){var c,
+f,k=new THREE.Geometry;for(c=0;c<b.points.length*e;c++)f=c/(b.points.length*e),f=b.getPoint(f),k.vertices[c]=new THREE.Vertex(new THREE.Vector3(f.x,f.y,f.z));return k}function f(b,c){var f=e(c,10),k=e(c,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3});lineObj=new THREE.Line(f,h);particleObj=new THREE.ParticleSystem(k,new THREE.ParticleBasicMaterial({color:16755200,size:3}));lineObj.scale.set(1,1,1);b.addChild(lineObj);particleObj.scale.set(1,1,1);b.addChild(particleObj);k=new THREE.SphereGeometry(1,
+16,8);h=new THREE.MeshBasicMaterial({color:65280});for(i=0;i<c.points.length;i++)f=new THREE.Mesh(k,h),f.position.copy(c.points[i]),f.updateMatrix(),b.addChild(f)}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.id="PathCamera"+THREE.PathCameraIdCounter++;this.duration=1E4;this.waypoints=[];this.useConstantSpeed=!0;this.resamplingCoef=50;this.debugPath=new THREE.Object3D;this.debugDummy=new THREE.Object3D;this.animationParent=new THREE.Object3D;this.lookSpeed=0.005;this.lookHorizontal=
+this.lookVertical=!0;this.verticalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.horizontalAngleMap={srcRange:[0,6.28],dstRange:[0,6.28]};this.domElement=document;if(b){if(b.duration!==void 0)this.duration=b.duration*1E3;if(b.waypoints!==void 0)this.waypoints=b.waypoints;if(b.useConstantSpeed!==void 0)this.useConstantSpeed=b.useConstantSpeed;if(b.resamplingCoef!==void 0)this.resamplingCoef=b.resamplingCoef;if(b.createDebugPath!==void 0)this.createDebugPath=b.createDebugPath;if(b.createDebugDummy!==
+void 0)this.createDebugDummy=b.createDebugDummy;if(b.lookSpeed!==void 0)this.lookSpeed=b.lookSpeed;if(b.lookVertical!==void 0)this.lookVertical=b.lookVertical;if(b.lookHorizontal!==void 0)this.lookHorizontal=b.lookHorizontal;if(b.verticalAngleMap!==void 0)this.verticalAngleMap=b.verticalAngleMap;if(b.horizontalAngleMap!==void 0)this.horizontalAngleMap=b.horizontalAngleMap;if(b.domElement!==void 0)this.domElement=b.domElement}this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX=0;this.windowHalfX=
+window.innerWidth/2;this.windowHalfY=window.innerHeight/2;var h=Math.PI*2,m=Math.PI/180;this.update=function(b,e,c){var f,k;this.lookHorizontal&&(this.lon+=this.mouseX*this.lookSpeed);this.lookVertical&&(this.lat-=this.mouseY*this.lookSpeed);this.lon=Math.max(0,Math.min(360,this.lon));this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*m;this.theta=this.lon*m;f=this.phi%h;this.phi=f>=0?f:f+h;f=this.verticalAngleMap.srcRange;k=this.verticalAngleMap.dstRange;var n=k[1]-k[0];this.phi=
+TWEEN.Easing.Quadratic.EaseInOut(((this.phi-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.horizontalAngleMap.srcRange;k=this.horizontalAngleMap.dstRange;n=k[1]-k[0];this.theta=TWEEN.Easing.Quadratic.EaseInOut(((this.theta-f[0])*(k[1]-k[0])/(f[1]-f[0])+k[0]-k[0])/n)*n+k[0];f=this.target.position;f.x=100*Math.sin(this.phi)*Math.cos(this.theta);f.y=100*Math.cos(this.phi);f.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.supr.update.call(this,b,e,c)};this.onMouseMove=function(b){this.mouseX=
+b.clientX-this.windowHalfX;this.mouseY=b.clientY-this.windowHalfY};this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var b=new THREE.MeshLambertMaterial({color:30719}),k=new THREE.MeshLambertMaterial({color:65280}),n=new THREE.CubeGeometry(10,10,20),u=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(n,b);b=new THREE.Mesh(u,k);b.position.set(0,10,0);this.animation=
+c(this.animationParent,this.spline,this.id,this.duration);this.animationParent.addChild(this);this.animationParent.addChild(this.target);this.animationParent.addChild(b)}else this.animation=c(this.animationParent,this.spline,this.id,this.duration),this.animationParent.addChild(this.target),this.animationParent.addChild(this);this.createDebugPath&&f(this.debugPath,this.spline);this.domElement.addEventListener("mousemove",function(b,e){return function(){e.apply(b,arguments)}}(this,this.onMouseMove),
+!1)};THREE.PathCamera.prototype=new THREE.Camera;THREE.PathCamera.prototype.constructor=THREE.PathCamera;THREE.PathCamera.prototype.supr=THREE.Camera.prototype;THREE.PathCameraIdCounter=0;
+THREE.FlyCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.tmpQuaternion=new THREE.Quaternion;this.movementSpeed=1;this.rollSpeed=0.005;this.autoForward=this.dragToLook=!1;this.domElement=document;if(b){if(b.movementSpeed!==void 0)this.movementSpeed=b.movementSpeed;if(b.rollSpeed!==void 0)this.rollSpeed=b.rollSpeed;if(b.dragToLook!==void 0)this.dragToLook=b.dragToLook;if(b.autoForward!==void 0)this.autoForward=
+b.autoForward;if(b.domElement!==void 0)this.domElement=b.domElement}this.useTarget=!1;this.useQuaternion=!0;this.mouseStatus=0;this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0};this.moveVector=new THREE.Vector3(0,0,0);this.rotationVector=new THREE.Vector3(0,0,0);this.lastUpdate=-1;this.tdiff=0;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.keydown=function(b){if(!b.altKey){switch(b.keyCode){case 16:this.movementSpeedMultiplier=
+0.1;break;case 87:this.moveState.forward=1;break;case 83:this.moveState.back=1;break;case 65:this.moveState.left=1;break;case 68:this.moveState.right=1;break;case 82:this.moveState.up=1;break;case 70:this.moveState.down=1;break;case 38:this.moveState.pitchUp=1;break;case 40:this.moveState.pitchDown=1;break;case 37:this.moveState.yawLeft=1;break;case 39:this.moveState.yawRight=1;break;case 81:this.moveState.rollLeft=1;break;case 69:this.moveState.rollRight=1}this.updateMovementVector();this.updateRotationVector()}};
+this.keyup=function(b){switch(b.keyCode){case 16:this.movementSpeedMultiplier=1;break;case 87:this.moveState.forward=0;break;case 83:this.moveState.back=0;break;case 65:this.moveState.left=0;break;case 68:this.moveState.right=0;break;case 82:this.moveState.up=0;break;case 70:this.moveState.down=0;break;case 38:this.moveState.pitchUp=0;break;case 40:this.moveState.pitchDown=0;break;case 37:this.moveState.yawLeft=0;break;case 39:this.moveState.yawRight=0;break;case 81:this.moveState.rollLeft=0;break;
+case 69:this.moveState.rollRight=0}this.updateMovementVector();this.updateRotationVector()};this.mousedown=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus++;else switch(b.button){case 0:this.moveForward=!0;break;case 2:this.moveBackward=!0}};this.mousemove=function(b){if(!this.dragToLook||this.mouseStatus>0){var c=this.getContainerDimensions(),h=c.size[0]/2,m=c.size[1]/2;this.moveState.yawLeft=-(b.clientX-c.offset[0]-h)/h;this.moveState.pitchDown=(b.clientY-
+c.offset[1]-m)/m;this.updateRotationVector()}};this.mouseup=function(b){b.preventDefault();b.stopPropagation();if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else switch(b.button){case 0:this.moveForward=!1;break;case 2:this.moveBackward=!1}this.updateRotationVector()};this.update=function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.tdiff=(b-this.lastUpdate)/1E3;this.lastUpdate=b;var b=this.tdiff*this.movementSpeed,c=this.tdiff*
+this.rollSpeed;this.translateX(this.moveVector.x*b);this.translateY(this.moveVector.y*b);this.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*c,this.rotationVector.y*c,this.rotationVector.z*c,1).normalize();this.quaternion.multiplySelf(this.tmpQuaternion);this.matrix.setPosition(this.position);this.matrix.setRotationFromQuaternion(this.quaternion);this.matrixWorldNeedsUpdate=!0;this.supr.update.call(this)};this.updateMovementVector=function(){var b=this.moveState.forward||
+this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-b+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=
+document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),!1);this.domElement.addEventListener("mousedown",c(this,this.mousedown),!1);this.domElement.addEventListener("mouseup",c(this,this.mouseup),!1);window.addEventListener("keydown",c(this,this.keydown),!1);window.addEventListener("keyup",c(this,
+this.keyup),!1);this.updateMovementVector();this.updateRotationVector()};THREE.FlyCamera.prototype=new THREE.Camera;THREE.FlyCamera.prototype.constructor=THREE.FlyCamera;THREE.FlyCamera.prototype.supr=THREE.Camera.prototype;
+THREE.RollCamera=function(b,c,e,f){THREE.Camera.call(this,b,c,e,f);this.mouseLook=!0;this.autoForward=!1;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.domElement=document;this.matrixAutoUpdate=this.useTarget=!1;this.forward=new THREE.Vector3(0,0,1);this.roll=0;this.lastUpdate=-1;this.delta=0;var h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Matrix4,u=!1,p=1,v=0,t=0,x=0,w=0,z=0,y=window.innerWidth/2,B=window.innerHeight/2;this.update=
+function(){var b=(new Date).getTime();if(this.lastUpdate==-1)this.lastUpdate=b;this.delta=(b-this.lastUpdate)/1E3;this.lastUpdate=b;this.mouseLook&&(b=this.delta*this.lookSpeed,this.rotateHorizontally(b*w),this.rotateVertically(b*z));b=this.delta*this.movementSpeed;this.translateZ(b*(v>0||this.autoForward&&!(v<0)?1:v));this.translateX(b*t);this.translateY(b*x);u&&(this.roll+=this.rollSpeed*this.delta*p);if(this.forward.y>this.constrainVertical[1])this.forward.y=this.constrainVertical[1],this.forward.normalize();
+else if(this.forward.y<this.constrainVertical[0])this.forward.y=this.constrainVertical[0],this.forward.normalize();k.copy(this.forward);m.set(0,1,0);h.cross(m,k).normalize();m.cross(k,h).normalize();this.matrix.n11=h.x;this.matrix.n12=m.x;this.matrix.n13=k.x;this.matrix.n21=h.y;this.matrix.n22=m.y;this.matrix.n23=k.y;this.matrix.n31=h.z;this.matrix.n32=m.z;this.matrix.n33=k.z;n.identity();n.n11=Math.cos(this.roll);n.n12=-Math.sin(this.roll);n.n21=Math.sin(this.roll);n.n22=Math.cos(this.roll);this.matrix.multiplySelf(n);
+this.matrixWorldNeedsUpdate=!0;this.matrix.n14=this.position.x;this.matrix.n24=this.position.y;this.matrix.n34=this.position.z;this.supr.update.call(this)};this.translateX=function(b){this.position.x+=this.matrix.n11*b;this.position.y+=this.matrix.n21*b;this.position.z+=this.matrix.n31*b};this.translateY=function(b){this.position.x+=this.matrix.n12*b;this.position.y+=this.matrix.n22*b;this.position.z+=this.matrix.n32*b};this.translateZ=function(b){this.position.x-=this.matrix.n13*b;this.position.y-=
+this.matrix.n23*b;this.position.z-=this.matrix.n33*b};this.rotateHorizontally=function(b){h.set(this.matrix.n11,this.matrix.n21,this.matrix.n31);h.multiplyScalar(b);this.forward.subSelf(h);this.forward.normalize()};this.rotateVertically=function(b){m.set(this.matrix.n12,this.matrix.n22,this.matrix.n32);m.multiplyScalar(b);this.forward.addSelf(m);this.forward.normalize()};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+function(b){w=(b.clientX-y)/window.innerWidth;z=(b.clientY-B)/window.innerHeight},!1);this.domElement.addEventListener("mousedown",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=1;break;case 2:v=-1}},!1);this.domElement.addEventListener("mouseup",function(b){b.preventDefault();b.stopPropagation();switch(b.button){case 0:v=0;break;case 2:v=0}},!1);this.domElement.addEventListener("keydown",function(b){switch(b.keyCode){case 38:case 87:v=1;break;case 37:case 65:t=-1;break;
+case 40:case 83:v=-1;break;case 39:case 68:t=1;break;case 81:u=!0;p=1;break;case 69:u=!0;p=-1;break;case 82:x=1;break;case 70:x=-1}},!1);this.domElement.addEventListener("keyup",function(b){switch(b.keyCode){case 38:case 87:v=0;break;case 37:case 65:t=0;break;case 40:case 83:v=0;break;case 39:case 68:t=0;break;case 81:u=!1;break;case 69:u=!1;break;case 82:x=0;break;case 70:x=0}},!1)};THREE.RollCamera.prototype=new THREE.Camera;THREE.RollCamera.prototype.constructor=THREE.RollCamera;
+THREE.RollCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera=function(b){function c(b,c){return function(){c.apply(b,arguments)}}b=b||{};THREE.Camera.call(this,b.fov,b.aspect,b.near,b.far,b.target);this.domElement=b.domElement||document;this.screen=b.screen||{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0};this.radius=b.radius||(this.screen.width+this.screen.height)/4;this.rotateSpeed=b.rotateSpeed||1;this.zoomSpeed=b.zoomSpeed||1.2;this.panSpeed=b.panSpeed||0.3;this.noZoom=b.noZoom||!1;this.noPan=b.noPan||
+!1;this.staticMoving=b.staticMoving||!1;this.dynamicDampingFactor=b.dynamicDampingFactor||0.2;this.minDistance=b.minDistance||0;this.maxDistance=b.maxDistance||Infinity;this.keys=b.keys||[65,83,68];this.useTarget=!0;var e=!1,f=this.STATE.NONE,h=new THREE.Vector3,m=new THREE.Vector3,k=new THREE.Vector3,n=new THREE.Vector2,u=new THREE.Vector2,p=new THREE.Vector2,v=new THREE.Vector2;this.handleEvent=function(b){if(typeof this[b.type]=="function")this[b.type](b)};this.getMouseOnScreen=function(b,c){return new THREE.Vector2((b-
+this.screen.offsetLeft)/this.radius*0.5,(c-this.screen.offsetTop)/this.radius*0.5)};this.getMouseProjectionOnBall=function(b,c){var e=new THREE.Vector3((b-this.screen.width*0.5-this.screen.offsetLeft)/this.radius,(this.screen.height*0.5+this.screen.offsetTop-c)/this.radius,0),f=e.length();f>1?e.normalize():e.z=Math.sqrt(1-f*f);h=this.position.clone().subSelf(this.target.position);f=this.up.clone().setLength(e.y);f.addSelf(this.up.clone().crossSelf(h).setLength(e.x));f.addSelf(h.setLength(e.z));return f};
+this.rotateCamera=function(){var b=Math.acos(m.dot(k)/m.length()/k.length());if(b){var c=(new THREE.Vector3).cross(m,k).normalize(),e=new THREE.Quaternion;b*=this.rotateSpeed;e.setFromAxisAngle(c,-b);e.multiplyVector3(h);e.multiplyVector3(this.up);e.multiplyVector3(k);this.staticMoving?m=k:(e.setFromAxisAngle(c,b*(this.dynamicDampingFactor-1)),e.multiplyVector3(m))}};this.zoomCamera=function(){var b=1+(u.y-n.y)*this.zoomSpeed;b!==1&&b>0&&(h.multiplyScalar(b),this.staticMoving?n=u:n.y+=(u.y-n.y)*this.dynamicDampingFactor)};
+this.panCamera=function(){var b=v.clone().subSelf(p);if(b.lengthSq()){b.multiplyScalar(h.length()*this.panSpeed);var c=h.clone().crossSelf(this.up).setLength(b.x);c.addSelf(this.up.clone().setLength(b.y));this.position.addSelf(c);this.target.position.addSelf(c);this.staticMoving?p=v:p.addSelf(b.sub(v,p).multiplyScalar(this.dynamicDampingFactor))}};this.checkDistances=function(){if(!this.noZoom||!this.noPan)this.position.lengthSq()>this.maxDistance*this.maxDistance&&this.position.setLength(this.maxDistance),
+h.lengthSq()<this.minDistance*this.minDistance&&this.position.add(this.target.position,h.setLength(this.minDistance))};this.update=function(b,c,e){h=this.position.clone().subSelf(this.target.position);this.rotateCamera();this.noZoom||this.zoomCamera();this.noPan||this.panCamera();this.position.add(this.target.position,h);this.checkDistances();this.supr.update.call(this,b,c,e)};this.domElement.addEventListener("contextmenu",function(b){b.preventDefault()},!1);this.domElement.addEventListener("mousemove",
+c(this,function(b){e&&(m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY),n=u=this.getMouseOnScreen(b.clientX,b.clientY),p=v=this.getMouseOnScreen(b.clientX,b.clientY),e=!1);f!==this.STATE.NONE&&(f===this.STATE.ROTATE?k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?u=this.getMouseOnScreen(b.clientX,b.clientY):f===this.STATE.PAN&&!this.noPan&&(v=this.getMouseOnScreen(b.clientX,b.clientY)))}),!1);this.domElement.addEventListener("mousedown",c(this,function(b){b.preventDefault();
+b.stopPropagation();if(f===this.STATE.NONE)f=b.button,f===this.STATE.ROTATE?m=k=this.getMouseProjectionOnBall(b.clientX,b.clientY):f===this.STATE.ZOOM&&!this.noZoom?n=u=this.getMouseOnScreen(b.clientX,b.clientY):this.noPan||(p=v=this.getMouseOnScreen(b.clientX,b.clientY))}),!1);this.domElement.addEventListener("mouseup",c(this,function(b){b.preventDefault();b.stopPropagation();f=this.STATE.NONE}),!1);window.addEventListener("keydown",c(this,function(b){if(f===this.STATE.NONE){if(b.keyCode===this.keys[this.STATE.ROTATE])f=
+this.STATE.ROTATE;else if(b.keyCode===this.keys[this.STATE.ZOOM]&&!this.noZoom)f=this.STATE.ZOOM;else if(b.keyCode===this.keys[this.STATE.PAN]&&!this.noPan)f=this.STATE.PAN;f!==this.STATE.NONE&&(e=!0)}}),!1);window.addEventListener("keyup",c(this,function(){if(f!==this.STATE.NONE)f=this.STATE.NONE}),!1)};THREE.TrackballCamera.prototype=new THREE.Camera;THREE.TrackballCamera.prototype.constructor=THREE.TrackballCamera;THREE.TrackballCamera.prototype.supr=THREE.Camera.prototype;
+THREE.TrackballCamera.prototype.STATE={NONE:-1,ROTATE:0,ZOOM:1,PAN:2};THREE.QuakeCamera=THREE.FirstPersonCamera;
+THREE.CubeGeometry=function(b,c,e,f,h,m,k,n,u){function p(b,c,e,k,n,p,t,u){var w,x,y=f||1,z=h||1,O=n/2,S=p/2,P=v.vertices.length;if(b=="x"&&c=="y"||b=="y"&&c=="x")w="z";else if(b=="x"&&c=="z"||b=="z"&&c=="x")w="y",z=m||1;else if(b=="z"&&c=="y"||b=="y"&&c=="z")w="x",y=m||1;var o=y+1,W=z+1;n/=y;var na=p/z;for(x=0;x<W;x++)for(p=0;p<o;p++){var R=new THREE.Vector3;R[b]=(p*n-O)*e;R[c]=(x*na-S)*k;R[w]=t;v.vertices.push(new THREE.Vertex(R))}for(x=0;x<z;x++)for(p=0;p<y;p++)v.faces.push(new THREE.Face4(p+o*
+x+P,p+o*(x+1)+P,p+1+o*(x+1)+P,p+1+o*x+P,null,null,u)),v.faceVertexUvs[0].push([new THREE.UV(p/y,x/z),new THREE.UV(p/y,(x+1)/z),new THREE.UV((p+1)/y,(x+1)/z),new THREE.UV((p+1)/y,x/z)])}THREE.Geometry.call(this);var v=this,t=b/2,x=c/2,w=e/2,n=n?-1:1;if(k!==void 0)if(k instanceof Array)this.materials=k;else{this.materials=[];for(var z=0;z<6;z++)this.materials.push([k])}else this.materials=[];this.sides={px:!0,nx:!0,py:!0,ny:!0,pz:!0,nz:!0};if(u!=void 0)for(var y in u)this.sides[y]!=void 0&&(this.sides[y]=
+u[y]);this.sides.px&&p("z","y",1*n,-1,e,c,-t,this.materials[0]);this.sides.nx&&p("z","y",-1*n,-1,e,c,t,this.materials[1]);this.sides.py&&p("x","z",1*n,1,b,e,x,this.materials[2]);this.sides.ny&&p("x","z",1*n,-1,b,e,-x,this.materials[3]);this.sides.pz&&p("x","y",1*n,-1,b,c,w,this.materials[4]);this.sides.nz&&p("x","y",-1*n,-1,b,c,-w,this.materials[5]);(function(){for(var b=[],c=[],e=0,f=v.vertices.length;e<f;e++){for(var k=v.vertices[e],h=!1,m=0,n=b.length;m<n;m++){var p=b[m];if(k.position.x==p.position.x&&
+k.position.y==p.position.y&&k.position.z==p.position.z){c[e]=m;h=!0;break}}if(!h)c[e]=b.length,b.push(new THREE.Vertex(k.position.clone()))}e=0;for(f=v.faces.length;e<f;e++)k=v.faces[e],k.a=c[k.a],k.b=c[k.b],k.c=c[k.c],k.d=c[k.d];v.vertices=b})();this.computeCentroids();this.computeFaceNormals()};THREE.CubeGeometry.prototype=new THREE.Geometry;THREE.CubeGeometry.prototype.constructor=THREE.CubeGeometry;
+THREE.CylinderGeometry=function(b,c,e,f,h,m){function k(b,c,e){n.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}THREE.Geometry.call(this);var n=this,u,p=Math.PI*2,v=f/2;for(u=0;u<b;u++)k(Math.sin(p*u/b)*c,Math.cos(p*u/b)*c,-v);for(u=0;u<b;u++)k(Math.sin(p*u/b)*e,Math.cos(p*u/b)*e,v);var t,x,w,z,y=c-e;for(u=0;u<b;u++)t=new THREE.Vector3,t.copy(n.vertices[u].position),t.z=y,t.normalize(),x=new THREE.Vector3,x.copy(n.vertices[u+b].position),x.z=y,x.normalize(),w=new THREE.Vector3,w.copy(n.vertices[b+
+(u+1)%b].position),w.z=y,w.normalize(),z=new THREE.Vector3,z.copy(n.vertices[(u+1)%b].position),z.z=y,z.normalize(),n.faces.push(new THREE.Face4(u,u+b,b+(u+1)%b,(u+1)%b,[t,x,w,z]));if(e>0){e=new THREE.Vector3(0,0,-1);k(0,0,-v-(m||0));for(u=b;u<b+b/2;u++)n.faces.push(new THREE.Face4(2*b,(2*u-2*b)%b,(2*u-2*b+1)%b,(2*u-2*b+2)%b,[e,e,e,e]))}if(c>0){c=new THREE.Vector3(0,0,1);k(0,0,v+(h||0));for(u=b+b/2;u<2*b;u++)n.faces.push(new THREE.Face4(2*b+1,(2*u-2*b+2)%b+b,(2*u-2*b+1)%b+b,(2*u-2*b)%b+b,[c,c,c,c]))}u=
+0;for(b=this.faces.length;u<b;u++)h=[],v=this.faces[u],c=this.vertices[v.a],m=this.vertices[v.b],e=this.vertices[v.c],t=this.vertices[v.d],h.push(new THREE.UV(0.5+Math.atan2(c.position.x,c.position.y)/p,0.5+c.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(m.position.x,m.position.y)/p,0.5+m.position.z/f)),h.push(new THREE.UV(0.5+Math.atan2(e.position.x,e.position.y)/p,0.5+e.position.z/f)),v instanceof THREE.Face4&&h.push(new THREE.UV(0.5+Math.atan2(t.position.x,t.position.y)/p,0.5+t.position.z/
+f)),this.faceVertexUvs[0].push(h);this.computeCentroids();this.computeFaceNormals()};THREE.CylinderGeometry.prototype=new THREE.Geometry;THREE.CylinderGeometry.prototype.constructor=THREE.CylinderGeometry;THREE.ExtrudeGeometry=function(b,c){if(typeof b!="undefined"){THREE.Geometry.call(this);var b=b instanceof Array?b:[b],e,f=b.length,h;this.shapebb=b[f-1].getBoundingBox();for(e=0;e<f;e++)h=b[e],this.addShape(h,c);this.computeCentroids();this.computeFaceNormals()}};
+THREE.ExtrudeGeometry.prototype=new THREE.Geometry;THREE.ExtrudeGeometry.prototype.constructor=THREE.ExtrudeGeometry;
+THREE.ExtrudeGeometry.prototype.addShape=function(b,c){function e(b,c,e){c||console.log("die");return c.clone().multiplyScalar(e).addSelf(b)}function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeometry.__v2,h=THREE.ExtrudeGeometry.__v3,m=THREE.ExtrudeGeometry.__v4,n=THREE.ExtrudeGeometry.__v5,o=THREE.ExtrudeGeometry.__v6;f.set(b.x-c.x,b.y-c.y);k.set(b.x-e.x,b.y-e.y);f=f.normalize();k=k.normalize();h.set(-f.y,f.x);m.set(k.y,-k.x);n.copy(b).addSelf(h);o.copy(b).addSelf(m);if(n.equals(o))return m.clone();
+n.copy(c).addSelf(h);o.copy(e).addSelf(m);h=f.dot(m);m=o.subSelf(n).dot(m);h==0&&(console.log("Either infinite or no solutions!"),m==0?console.log("Its finite solutions."):console.log("Too bad, no solutions."));m/=h;if(m<0)return c=Math.atan2(c.y-b.y,c.x-b.x),b=Math.atan2(e.y-b.y,e.x-b.x),c>b&&(b+=Math.PI*2),anglec=(c+b)/2,new THREE.Vector2(-Math.cos(anglec),-Math.sin(anglec));return f.multiplyScalar(m).addSelf(n).subSelf(b).clone()}function h(b){for(L=b.length;--L>=0;){ga=L;da=L-1;da<0&&(da=b.length-
+1);for(var c=0,e=w+v*2,c=0;c<e;c++){var f=na*c,k=na*(c+1),h=$+ga+f,m=$+ga+k,o=h,f=$+da+f,k=$+da+k,p=m;o+=U;f+=U;k+=U;p+=U;K.faces.push(new THREE.Face4(o,f,k,p,null,null,E));E&&(o=c/e,f=(c+1)/e,k=n+u*2,h=(K.vertices[h].position.z+u)/k,m=(K.vertices[m].position.z+u)/k,K.faceVertexUvs[0].push([new THREE.UV(h,o),new THREE.UV(m,o),new THREE.UV(m,f),new THREE.UV(h,f)]))}}}function m(b,c,e){K.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c,e)))}function k(b,c,e){b+=U;c+=U;e+=U;K.faces.push(new THREE.Face3(b,
+c,e,null,null,H));if(H){var f=N.maxY,k=N.maxX,h=K.vertices[c].position.x,c=K.vertices[c].position.y,m=K.vertices[e].position.x,e=K.vertices[e].position.y;K.faceVertexUvs[0].push([new THREE.UV(K.vertices[b].position.x/k,K.vertices[b].position.y/f),new THREE.UV(h/k,c/f),new THREE.UV(m/k,e/f)])}}var n=c.amount!==void 0?c.amount:100,u=c.bevelThickness!==void 0?c.bevelThickness:6,p=c.bevelSize!==void 0?c.bevelSize:u-2,v=c.bevelSegments!==void 0?c.bevelSegments:3,t=c.bevelEnabled!==void 0?c.bevelEnabled:
+!0,x=c.curveSegments!==void 0?c.curveSegments:12,w=c.steps!==void 0?c.steps:1,z=c.bendPath,y=c.extrudePath,B,D=!1,G=c.useSpacedPoints!==void 0?c.useSpacedPoints:!1,H=c.material,E=c.extrudeMaterial,N=this.shapebb;if(y)B=y.getPoints(x),w=B.length,D=!0,t=!1;t||(p=u=v=0);var F,I,C,K=this,U=this.vertices.length;z&&b.addWrapPath(z);x=G?b.extractAllSpacedPoints(x):b.extractAllPoints(x);z=x.shape;x=x.holes;if(y=!THREE.Shape.Utils.isClockWise(z)){z=z.reverse();I=0;for(C=x.length;I<C;I++)F=x[I],THREE.Shape.Utils.isClockWise(F)&&
+(x[I]=F.reverse());y=!1}y=THREE.Shape.Utils.triangulateShape(z,x);G=z;I=0;for(C=x.length;I<C;I++)F=x[I],z=z.concat(F);var L,O,S,P,o,W,na=z.length,R=y.length,ia=[];L=0;O=G.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ia[L]=f(G[L],G[ga],G[da]);var aa=[],ma,fa=ia.concat();I=0;for(C=x.length;I<C;I++){F=x[I];ma=[];L=0;O=F.length;ga=O-1;for(da=L+1;L<O;L++,ga++,da++)ga==O&&(ga=0),da==O&&(da=0),ma[L]=f(F[L],F[ga],F[da]);aa.push(ma);fa=fa.concat(ma)}for(S=0;S<v;S++){P=S/v;o=u*(1-
+P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,-o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),m(W.x,W.y,-o)}}P=p;for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[0].y,B[0].x):m(W.x,W.y,0);for(S=1;S<=w;S++)for(L=0;L<na;L++)W=t?e(z[L],fa[L],P):z[L],D?m(W.x,W.y+B[S-1].y,B[S-1].x):m(W.x,W.y,n/w*S);for(S=v-1;S>=0;S--){P=S/v;o=u*(1-P);P=p*Math.sin(P*Math.PI/2);L=0;for(O=G.length;L<O;L++)W=e(G[L],ia[L],P),m(W.x,W.y,
+n+o);I=0;for(C=x.length;I<C;I++){F=x[I];ma=aa[I];L=0;for(O=F.length;L<O;L++)W=e(F[L],ma[L],P),D?m(W.x,W.y+B[w-1].y,B[w-1].x+o):m(W.x,W.y,n+o)}}if(t){t=na*0;for(L=0;L<R;L++)p=y[L],k(p[2]+t,p[1]+t,p[0]+t);t=na*(w+v*2);for(L=0;L<R;L++)p=y[L],k(p[0]+t,p[1]+t,p[2]+t)}else{for(L=0;L<R;L++)p=y[L],k(p[2],p[1],p[0]);for(L=0;L<R;L++)p=y[L],k(p[0]+na*w,p[1]+na*w,p[2]+na*w)}var ga,da,$=0;h(G);$+=G.length;I=0;for(C=x.length;I<C;I++)F=x[I],h(F),$+=F.length};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;
+THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2;THREE.ExtrudeGeometry.__v6=new THREE.Vector2;
+THREE.IcosahedronGeometry=function(b){function c(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(new THREE.Vertex(new THREE.Vector3(b/f,c/f,e/f)))-1}function e(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}function f(b,e){var f=h.vertices[b].position,k=h.vertices[e].position;return c((f.x+k.x)/2,(f.y+k.y)/2,(f.z+k.z)/2)}var h=this,m=new THREE.Geometry;this.subdivisions=b||0;THREE.Geometry.call(this);b=(1+Math.sqrt(5))/2;c(-1,b,0);c(1,b,0);c(-1,-b,0);c(1,-b,0);c(0,-1,b);c(0,1,b);c(0,-1,
+-b);c(0,1,-b);c(b,0,-1);c(b,0,1);c(-b,0,-1);c(-b,0,1);e(0,11,5,m);e(0,5,1,m);e(0,1,7,m);e(0,7,10,m);e(0,10,11,m);e(1,5,9,m);e(5,11,4,m);e(11,10,2,m);e(10,7,6,m);e(7,1,8,m);e(3,9,4,m);e(3,4,2,m);e(3,2,6,m);e(3,6,8,m);e(3,8,9,m);e(4,9,5,m);e(2,4,11,m);e(6,2,10,m);e(8,6,7,m);e(9,8,1,m);for(var k=0;k<this.subdivisions;k++){var b=new THREE.Geometry,n;for(n in m.faces){var u=f(m.faces[n].a,m.faces[n].b),p=f(m.faces[n].b,m.faces[n].c),v=f(m.faces[n].c,m.faces[n].a);e(m.faces[n].a,u,v,b);e(m.faces[n].b,p,
+u,b);e(m.faces[n].c,v,p,b);e(u,p,v,b)}m.faces=b.faces}h.faces=m.faces;this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.IcosahedronGeometry.prototype=new THREE.Geometry;THREE.IcosahedronGeometry.prototype.constructor=THREE.IcosahedronGeometry;
+THREE.LatheGeometry=function(b,c,e){THREE.Geometry.call(this);this.steps=c||12;this.angle=e||2*Math.PI;for(var c=this.angle/this.steps,e=[],f=[],h=[],m=[],k=(new THREE.Matrix4).setRotationZ(c),n=0;n<b.length;n++)this.vertices.push(new THREE.Vertex(b[n])),e[n]=b[n].clone(),f[n]=this.vertices.length-1;for(var u=0;u<=this.angle+0.001;u+=c){for(n=0;n<e.length;n++)u<this.angle?(e[n]=k.multiplyVector3(e[n].clone()),this.vertices.push(new THREE.Vertex(e[n])),h[n]=this.vertices.length-1):h=m;u==0&&(m=f);
+for(n=0;n<f.length-1;n++)this.faces.push(new THREE.Face4(h[n],h[n+1],f[n+1],f[n])),this.faceVertexUvs[0].push([new THREE.UV(1-u/this.angle,n/b.length),new THREE.UV(1-u/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,(n+1)/b.length),new THREE.UV(1-(u-c)/this.angle,n/b.length)]);f=h;h=[]}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals()};THREE.LatheGeometry.prototype=new THREE.Geometry;THREE.LatheGeometry.prototype.constructor=THREE.LatheGeometry;
+THREE.PlaneGeometry=function(b,c,e,f){THREE.Geometry.call(this);var h,m=b/2,k=c/2,e=e||1,f=f||1,n=e+1,u=f+1;b/=e;var p=c/f;for(h=0;h<u;h++)for(c=0;c<n;c++)this.vertices.push(new THREE.Vertex(new THREE.Vector3(c*b-m,-(h*p-k),0)));for(h=0;h<f;h++)for(c=0;c<e;c++)this.faces.push(new THREE.Face4(c+n*h,c+n*(h+1),c+1+n*(h+1),c+1+n*h)),this.faceVertexUvs[0].push([new THREE.UV(c/e,h/f),new THREE.UV(c/e,(h+1)/f),new THREE.UV((c+1)/e,(h+1)/f),new THREE.UV((c+1)/e,h/f)]);this.computeCentroids();this.computeFaceNormals()};
+THREE.PlaneGeometry.prototype=new THREE.Geometry;THREE.PlaneGeometry.prototype.constructor=THREE.PlaneGeometry;
+THREE.SphereGeometry=function(b,c,e){THREE.Geometry.call(this);for(var b=b||50,f,h=Math.PI,m=Math.max(3,c||8),k=Math.max(2,e||6),c=[],e=0;e<k+1;e++){f=e/k;var n=b*Math.cos(f*h),u=b*Math.sin(f*h),p=[],v=0;for(f=0;f<m;f++){var t=2*f/m,x=u*Math.sin(t*h),t=u*Math.cos(t*h);(e==0||e==k)&&f>0||(v=this.vertices.push(new THREE.Vertex(new THREE.Vector3(t,n,x)))-1);p.push(v)}c.push(p)}for(var w,z,y,h=c.length,e=0;e<h;e++)if(m=c[e].length,e>0)for(f=0;f<m;f++){p=f==m-1;k=c[e][p?0:f+1];n=c[e][p?m-1:f];u=c[e-1][p?
+m-1:f];p=c[e-1][p?0:f+1];x=e/(h-1);w=(e-1)/(h-1);z=(f+1)/m;var t=f/m,v=new THREE.UV(1-z,x),x=new THREE.UV(1-t,x),t=new THREE.UV(1-t,w),B=new THREE.UV(1-z,w);e<c.length-1&&(w=this.vertices[k].position.clone(),z=this.vertices[n].position.clone(),y=this.vertices[u].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,n,u,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,x,t]));e>1&&(w=
+this.vertices[k].position.clone(),z=this.vertices[u].position.clone(),y=this.vertices[p].position.clone(),w.normalize(),z.normalize(),y.normalize(),this.faces.push(new THREE.Face3(k,u,p,[new THREE.Vector3(w.x,w.y,w.z),new THREE.Vector3(z.x,z.y,z.z),new THREE.Vector3(y.x,y.y,y.z)])),this.faceVertexUvs[0].push([v,t,B]))}this.computeCentroids();this.computeFaceNormals();this.computeVertexNormals();this.boundingSphere={radius:b}};THREE.SphereGeometry.prototype=new THREE.Geometry;
+THREE.SphereGeometry.prototype.constructor=THREE.SphereGeometry;
+THREE.TextGeometry=function(b,c){var e=(new THREE.TextPath(b,c)).toShapes();c.amount=c.height!==void 0?c.height:50;if(c.bevelThickness===void 0)c.bevelThickness=10;if(c.bevelSize===void 0)c.bevelSize=8;if(c.bevelEnabled===void 0)c.bevelEnabled=!1;if(c.bend){var f=e[e.length-1].getBoundingBox().maxX;c.bendPath=new THREE.QuadraticBezierCurve(new THREE.Vector2(0,0),new THREE.Vector2(f/2,120),new THREE.Vector2(f,0))}THREE.ExtrudeGeometry.call(this,e,c)};THREE.TextGeometry.prototype=new THREE.ExtrudeGeometry;
+THREE.TextGeometry.prototype.constructor=THREE.TextGeometry;
+THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},getTextShapes:function(b,c){return(new TextPath(b,c)).toShapes()},loadFace:function(b){var c=b.familyName.toLowerCase();this.faces[c]=this.faces[c]||{};this.faces[c][b.cssFontWeight]=this.faces[c][b.cssFontWeight]||{};this.faces[c][b.cssFontWeight][b.cssFontStyle]=b;return this.faces[c][b.cssFontWeight][b.cssFontStyle]=b},drawText:function(b){for(var c=
+this.getFace(),e=this.size/c.resolution,f=0,h=String(b).split(""),m=h.length,k=[],b=0;b<m;b++){var n=new THREE.Path,n=this.extractGlyphPoints(h[b],c,e,f,n);f+=n.offset;k.push(n.path)}return{paths:k,offset:f/2}},extractGlyphPoints:function(b,c,e,f,h){var m=[],k,n,u,p,v,t,x,w,z,y,B=c.glyphs[b]||c.glyphs[ctxt.options.fallbackCharacter];if(B){if(B.o){c=B._cachedOutline||(B._cachedOutline=B.o.split(" "));u=c.length;for(b=0;b<u;)switch(n=c[b++],n){case "m":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,
+p));h.moveTo(n,p);break;case "l":n=c[b++]*e+f;p=c[b++]*e;m.push(new THREE.Vector2(n,p));h.lineTo(n,p);break;case "q":n=c[b++]*e+f;p=c[b++]*e;x=c[b++]*e+f;w=c[b++]*e;h.quadraticCurveTo(x,w,n,p);if(k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++){var D=k/divisions,G=THREE.Shape.Utils.b2(D,v,x,n),D=THREE.Shape.Utils.b2(D,t,w,p);m.push(new THREE.Vector2(G,D))}}break;case "b":if(n=c[b++]*e+f,p=c[b++]*e,x=c[b++]*e+f,w=c[b++]*-e,z=c[b++]*e+f,y=c[b++]*-e,h.bezierCurveTo(n,p,
+x,w,z,y),k=m[m.length-1]){v=k.x;t=k.y;k=1;for(divisions=this.divisions;k<=divisions;k++)D=k/divisions,G=THREE.Shape.Utils.b3(D,v,x,z,n),D=THREE.Shape.Utils.b3(D,t,w,y,p),m.push(new THREE.Vector2(G,D))}}}return{offset:B.ha*e,points:m,path:h}}}};
+(function(b){var c=function(b){for(var c=b.length,h=0,m=c-1,k=0;k<c;m=k++)h+=b[m].x*b[k].y-b[k].x*b[m].y;return h*0.5};b.Triangulate=function(b,f){var h=b.length;if(h<3)return null;var m=[],k=[],n=[],u,p,v;if(c(b)>0)for(p=0;p<h;p++)k[p]=p;else for(p=0;p<h;p++)k[p]=h-1-p;var t=2*h;for(p=h-1;h>2;){if(t--<=0){console.log("Warning, unable to triangulate polygon!");if(f)return n;return m}u=p;h<=u&&(u=0);p=u+1;h<=p&&(p=0);v=p+1;h<=v&&(v=0);var x;a:{x=b;var w=u,z=p,y=v,B=h,D=k,G=void 0,H=void 0,E=void 0,
+N=void 0,F=void 0,I=void 0,C=void 0,K=void 0,U=void 0,H=x[D[w]].x,E=x[D[w]].y,N=x[D[z]].x,F=x[D[z]].y,I=x[D[y]].x,C=x[D[y]].y;if(1.0E-10>(N-H)*(C-E)-(F-E)*(I-H))x=!1;else{for(G=0;G<B;G++)if(!(G==w||G==z||G==y)){var K=x[D[G]].x,U=x[D[G]].y,L=void 0,O=void 0,S=void 0,P=void 0,o=void 0,W=void 0,na=void 0,R=void 0,ia=void 0,aa=void 0,ma=void 0,fa=void 0,L=S=o=void 0,L=I-N,O=C-F,S=H-I,P=E-C,o=N-H,W=F-E,na=K-H,R=U-E,ia=K-N,aa=U-F,ma=K-I,fa=U-C,L=L*aa-O*ia,o=o*R-W*na,S=S*fa-P*ma;if(L>=0&&S>=0&&o>=0){x=!1;
+break a}}x=!0}}if(x){m.push([b[k[u]],b[k[p]],b[k[v]]]);n.push([k[u],k[p],k[v]]);u=p;for(v=p+1;v<h;u++,v++)k[u]=k[v];h--;t=2*h}}if(f)return n;return m};b.Triangulate.area=c;return b})(THREE.FontUtils);window._typeface_js={faces:THREE.FontUtils.faces,loadFace:THREE.FontUtils.loadFace};
+THREE.TorusGeometry=function(b,c,e,f,h){THREE.Geometry.call(this);this.radius=b||100;this.tube=c||40;this.segmentsR=e||8;this.segmentsT=f||6;this.arc=h||Math.PI*2;h=new THREE.Vector3;b=[];c=[];for(e=0;e<=this.segmentsR;e++)for(f=0;f<=this.segmentsT;f++){var m=f/this.segmentsT*this.arc,k=e/this.segmentsR*Math.PI*2;h.x=this.radius*Math.cos(m);h.y=this.radius*Math.sin(m);var n=new THREE.Vector3;n.x=(this.radius+this.tube*Math.cos(k))*Math.cos(m);n.y=(this.radius+this.tube*Math.cos(k))*Math.sin(m);n.z=
+this.tube*Math.sin(k);this.vertices.push(new THREE.Vertex(n));b.push(new THREE.UV(f/this.segmentsT,1-e/this.segmentsR));c.push(n.clone().subSelf(h).normalize())}for(e=1;e<=this.segmentsR;e++)for(f=1;f<=this.segmentsT;f++){var h=(this.segmentsT+1)*e+f-1,m=(this.segmentsT+1)*(e-1)+f-1,k=(this.segmentsT+1)*(e-1)+f,n=(this.segmentsT+1)*e+f,u=new THREE.Face4(h,m,k,n,[c[h],c[m],c[k],c[n]]);u.normal.addSelf(c[h]);u.normal.addSelf(c[m]);u.normal.addSelf(c[k]);u.normal.addSelf(c[n]);u.normal.normalize();this.faces.push(u);
+this.faceVertexUvs[0].push([b[h].clone(),b[m].clone(),b[k].clone(),b[n].clone()])}this.computeCentroids()};THREE.TorusGeometry.prototype=new THREE.Geometry;THREE.TorusGeometry.prototype.constructor=THREE.TorusGeometry;
+THREE.TorusKnotGeometry=function(b,c,e,f,h,m,k){function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k*(2+e)*0.5*Math.cos(b),k*(2+e)*Math.sin(b)*0.5,h*k*Math.sin(c)*0.5)}THREE.Geometry.call(this);this.radius=b||200;this.tube=c||40;this.segmentsR=e||64;this.segmentsT=f||8;this.p=h||2;this.q=m||3;this.heightScale=k||1;this.grid=Array(this.segmentsR);e=new THREE.Vector3;f=new THREE.Vector3;m=new THREE.Vector3;for(b=0;b<this.segmentsR;++b){this.grid[b]=Array(this.segmentsT);for(c=0;c<
+this.segmentsT;++c){var u=b/this.segmentsR*2*this.p*Math.PI,k=c/this.segmentsT*2*Math.PI,h=n(u,k,this.q,this.p,this.radius,this.heightScale),u=n(u+0.01,k,this.q,this.p,this.radius,this.heightScale);e.x=u.x-h.x;e.y=u.y-h.y;e.z=u.z-h.z;f.x=u.x+h.x;f.y=u.y+h.y;f.z=u.z+h.z;m.cross(e,f);f.cross(m,e);m.normalize();f.normalize();u=-this.tube*Math.cos(k);k=this.tube*Math.sin(k);h.x+=u*f.x+k*m.x;h.y+=u*f.y+k*m.y;h.z+=u*f.z+k*m.z;this.grid[b][c]=this.vertices.push(new THREE.Vertex(new THREE.Vector3(h.x,h.y,
+h.z)))-1}}for(b=0;b<this.segmentsR;++b)for(c=0;c<this.segmentsT;++c){var f=(b+1)%this.segmentsR,m=(c+1)%this.segmentsT,h=this.grid[b][c],e=this.grid[f][c],f=this.grid[f][m],m=this.grid[b][m],k=new THREE.UV(b/this.segmentsR,c/this.segmentsT),u=new THREE.UV((b+1)/this.segmentsR,c/this.segmentsT),p=new THREE.UV((b+1)/this.segmentsR,(c+1)/this.segmentsT),v=new THREE.UV(b/this.segmentsR,(c+1)/this.segmentsT);this.faces.push(new THREE.Face4(h,e,f,m));this.faceVertexUvs[0].push([k,u,p,v])}this.computeCentroids();
+this.computeFaceNormals();this.computeVertexNormals()};THREE.TorusKnotGeometry.prototype=new THREE.Geometry;THREE.TorusKnotGeometry.prototype.constructor=THREE.TorusKnotGeometry;THREE.Loader=function(b){this.statusDomElement=(this.showStatus=b)?THREE.Loader.prototype.addStatusElement():null;this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}};
+THREE.Loader.prototype={addStatusElement:function(){var b=document.createElement("div");b.style.position="absolute";b.style.right="0px";b.style.top="0px";b.style.fontSize="0.8em";b.style.textAlign="left";b.style.background="rgba(0,0,0,0.25)";b.style.color="#fff";b.style.width="120px";b.style.padding="0.5em 0.5em 0.5em 0.5em";b.style.zIndex=1E3;b.innerHTML="Loading ...";return b},updateProgress:function(b){var c="Loaded ";c+=b.total?(100*b.loaded/b.total).toFixed(0)+"%":(b.loaded/1E3).toFixed(2)+" KB";
+this.statusDomElement.innerHTML=c},extractUrlbase:function(b){b=b.split("/");b.pop();return b.join("/")},init_materials:function(b,c,e){b.materials=[];for(var f=0;f<c.length;++f)b.materials[f]=[THREE.Loader.prototype.createMaterial(c[f],e)]},hasNormals:function(b){var c,e,f=b.materials.length;for(e=0;e<f;e++)if(c=b.materials[e][0],c instanceof THREE.MeshShaderMaterial)return!0;return!1},createMaterial:function(b,c){function e(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==b}function f(b,c){var f=
+new Image;f.onload=function(){if(!e(this.width)||!e(this.height)){var c=Math.pow(2,Math.round(Math.log(this.width)/Math.LN2)),f=Math.pow(2,Math.round(Math.log(this.height)/Math.LN2));b.image.width=c;b.image.height=f;b.image.getContext("2d").drawImage(this,0,0,c,f)}else b.image=this;b.needsUpdate=!0};f.src=c}function h(b,e,k,h,m,n){var p=document.createElement("canvas");b[e]=new THREE.Texture(p);b[e].sourceFile=k;if(h){b[e].repeat.set(h[0],h[1]);if(h[0]!=1)b[e].wrapS=THREE.RepeatWrapping;if(h[1]!=
+1)b[e].wrapT=THREE.RepeatWrapping}m&&b[e].offset.set(m[0],m[1]);if(n){h={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(h[n[0]]!==void 0)b[e].wrapS=h[n[0]];if(h[n[1]]!==void 0)b[e].wrapT=h[n[1]]}f(b[e],c+"/"+k)}function m(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}var k,n,u;n="MeshLambertMaterial";k={color:15658734,opacity:1,map:null,lightMap:null,normalMap:null,wireframe:b.wireframe};b.shading&&(b.shading=="Phong"?n="MeshPhongMaterial":b.shading=="Basic"&&(n="MeshBasicMaterial"));
+if(b.blending)if(b.blending=="Additive")k.blending=THREE.AdditiveBlending;else if(b.blending=="Subtractive")k.blending=THREE.SubtractiveBlending;else if(b.blending=="Multiply")k.blending=THREE.MultiplyBlending;if(b.transparent!==void 0||b.opacity<1)k.transparent=b.transparent;if(b.depthTest!==void 0)k.depthTest=b.depthTest;if(b.vertexColors!==void 0)if(b.vertexColors=="face")k.vertexColors=THREE.FaceColors;else if(b.vertexColors)k.vertexColors=THREE.VertexColors;if(b.colorDiffuse)k.color=m(b.colorDiffuse);
+else if(b.DbgColor)k.color=b.DbgColor;if(b.colorSpecular)k.specular=m(b.colorSpecular);if(b.colorAmbient)k.ambient=m(b.colorAmbient);if(b.transparency)k.opacity=b.transparency;if(b.specularCoef)k.shininess=b.specularCoef;b.mapDiffuse&&c&&h(k,"map",b.mapDiffuse,b.mapDiffuseRepeat,b.mapDiffuseOffset,b.mapDiffuseWrap);b.mapLight&&c&&h(k,"lightMap",b.mapLight,b.mapLightRepeat,b.mapLightOffset,b.mapLightWrap);b.mapNormal&&c&&h(k,"normalMap",b.mapNormal,b.mapNormalRepeat,b.mapNormalOffset,b.mapNormalWrap);
+b.mapSpecular&&c&&h(k,"specularMap",b.mapSpecular,b.mapSpecularRepeat,b.mapSpecularOffset,b.mapSpecularWrap);if(b.mapNormal){var p=THREE.ShaderUtils.lib.normal,v=THREE.UniformsUtils.clone(p.uniforms),t=k.color;n=k.specular;u=k.ambient;var x=k.shininess;v.tNormal.texture=k.normalMap;if(b.mapNormalFactor)v.uNormalScale.value=b.mapNormalFactor;if(k.map)v.tDiffuse.texture=k.map,v.enableDiffuse.value=!0;if(k.specularMap)v.tSpecular.texture=k.specularMap,v.enableSpecular.value=!0;if(k.lightMap)v.tAO.texture=
+k.lightMap,v.enableAO.value=!0;v.uDiffuseColor.value.setHex(t);v.uSpecularColor.value.setHex(n);v.uAmbientColor.value.setHex(u);v.uShininess.value=x;if(k.opacity)v.uOpacity.value=k.opacity;k=new THREE.MeshShaderMaterial({fragmentShader:p.fragmentShader,vertexShader:p.vertexShader,uniforms:v,lights:!0,fog:!0})}else k=new THREE[n](k);return k},constructor:THREE.Loader};THREE.BinaryLoader=function(b){THREE.Loader.call(this,b)};THREE.BinaryLoader.prototype=new THREE.Loader;
+THREE.BinaryLoader.prototype.constructor=THREE.BinaryLoader;THREE.BinaryLoader.prototype.supr=THREE.Loader.prototype;
+THREE.BinaryLoader.prototype.load=function(b){var c=b.model,e=b.callback,f=b.texture_path?b.texture_path:THREE.Loader.prototype.extractUrlbase(c),h=b.bin_path?b.bin_path:THREE.Loader.prototype.extractUrlbase(c),b=(new Date).getTime(),c=new Worker(c),m=this.showProgress?THREE.Loader.prototype.updateProgress:null;c.onmessage=function(b){THREE.BinaryLoader.prototype.loadAjaxBuffers(b.data.buffers,b.data.materials,e,h,f,m)};c.onerror=function(b){alert("worker.onerror: "+b.message+"\n"+b.data);b.preventDefault()};
+c.postMessage(b)};
+THREE.BinaryLoader.prototype.loadAjaxBuffers=function(b,c,e,f,h,m){var k=new XMLHttpRequest,n=f+"/"+b,u=0;k.onreadystatechange=function(){k.readyState==4?k.status==200||k.status==0?THREE.BinaryLoader.prototype.createBinModel(k.responseText,e,h,c):alert("Couldn't load ["+n+"] ["+k.status+"]"):k.readyState==3?m&&(u==0&&(u=k.getResponseHeader("Content-Length")),m({total:u,loaded:k.responseText.length})):k.readyState==2&&(u=k.getResponseHeader("Content-Length"))};k.open("GET",n,!0);k.overrideMimeType("text/plain; charset=x-user-defined");
+k.setRequestHeader("Content-Type","text/plain");k.send(null)};
+THREE.BinaryLoader.prototype.createBinModel=function(b,c,e,f){var h=function(c){function e(b,c){var f=v(b,c),k=v(b,c+1),h=v(b,c+2),m=v(b,c+3),n=(m<<1&255|h>>7)-127;f|=(h&127)<<16|k<<8;if(f==0&&n==-127)return 0;return(1-2*(m>>7))*(1+f*Math.pow(2,-23))*Math.pow(2,n)}function h(b,c){var e=v(b,c),f=v(b,c+1),k=v(b,c+2);return(v(b,c+3)<<24)+(k<<16)+(f<<8)+e}function u(b,c){var e=v(b,c);return(v(b,c+1)<<8)+e}function p(b,c){var e=v(b,c);return e>127?e-256:e}function v(b,c){return b.charCodeAt(c)&255}function t(c){var e,
+f,k;e=h(b,c);f=h(b,c+F);k=h(b,c+I);c=u(b,c+C);D.faces.push(new THREE.Face3(e,f,k,null,null,D.materials[c]))}function x(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+F);k=h(b,c+I);m=u(b,c+C);o=h(b,c+K);p=h(b,c+U);c=h(b,c+L);m=D.materials[m];var t=E[p*3],v=E[p*3+1];p=E[p*3+2];var w=E[c*3],M=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face3(e,f,k,[new THREE.Vector3(E[o*3],E[o*3+1],E[o*3+2]),new THREE.Vector3(t,v,p),new THREE.Vector3(w,M,c)],null,m))}function w(c){var e,f,k,m;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,
+c+P);c=u(b,c+o);D.faces.push(new THREE.Face4(e,f,k,m,null,null,D.materials[c]))}function z(c){var e,f,k,m,p,t,v,w;e=h(b,c);f=h(b,c+O);k=h(b,c+S);m=h(b,c+P);p=u(b,c+o);t=h(b,c+W);v=h(b,c+na);w=h(b,c+R);c=h(b,c+ia);p=D.materials[p];var x=E[v*3],M=E[v*3+1];v=E[v*3+2];var y=E[w*3],T=E[w*3+1];w=E[w*3+2];var z=E[c*3],B=E[c*3+1],c=E[c*3+2];D.faces.push(new THREE.Face4(e,f,k,m,[new THREE.Vector3(E[t*3],E[t*3+1],E[t*3+2]),new THREE.Vector3(x,M,v),new THREE.Vector3(y,T,w),new THREE.Vector3(z,B,c)],null,p))}
+function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+aa);k=h(b,c+ma);c=N[e*2];m=N[e*2+1];e=N[f*2];var o=D.faceVertexUvs[0];f=N[f*2+1];var p=N[k*2];k=N[k*2+1];var t=[];t.push(new THREE.UV(c,m));t.push(new THREE.UV(e,f));t.push(new THREE.UV(p,k));o.push(t)}function B(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+fa);k=h(b,c+ga);m=h(b,c+da);c=N[e*2];o=N[e*2+1];e=N[f*2];p=N[f*2+1];f=N[k*2];var t=D.faceVertexUvs[0];k=N[k*2+1];var u=N[m*2];m=N[m*2+1];var v=[];v.push(new THREE.UV(c,o));v.push(new THREE.UV(e,p));v.push(new THREE.UV(f,
+k));v.push(new THREE.UV(u,m));t.push(v)}var D=this,G=0,H,E=[],N=[],F,I,C,K,U,L,O,S,P,o,W,na,R,ia,aa,ma,fa,ga,da,$,ca,X,ja,ea,qa;THREE.Geometry.call(this);THREE.Loader.prototype.init_materials(D,f,c);H={signature:b.substr(G,8),header_bytes:v(b,G+8),vertex_coordinate_bytes:v(b,G+9),normal_coordinate_bytes:v(b,G+10),uv_coordinate_bytes:v(b,G+11),vertex_index_bytes:v(b,G+12),normal_index_bytes:v(b,G+13),uv_index_bytes:v(b,G+14),material_index_bytes:v(b,G+15),nvertices:h(b,G+16),nnormals:h(b,G+16+4),nuvs:h(b,
+G+16+8),ntri_flat:h(b,G+16+12),ntri_smooth:h(b,G+16+16),ntri_flat_uv:h(b,G+16+20),ntri_smooth_uv:h(b,G+16+24),nquad_flat:h(b,G+16+28),nquad_smooth:h(b,G+16+32),nquad_flat_uv:h(b,G+16+36),nquad_smooth_uv:h(b,G+16+40)};G+=H.header_bytes;F=H.vertex_index_bytes;I=H.vertex_index_bytes*2;C=H.vertex_index_bytes*3;K=H.vertex_index_bytes*3+H.material_index_bytes;U=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes;L=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*2;O=H.vertex_index_bytes;
+S=H.vertex_index_bytes*2;P=H.vertex_index_bytes*3;o=H.vertex_index_bytes*4;W=H.vertex_index_bytes*4+H.material_index_bytes;na=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes;R=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*2;ia=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*3;aa=H.uv_index_bytes;ma=H.uv_index_bytes*2;fa=H.uv_index_bytes;ga=H.uv_index_bytes*2;da=H.uv_index_bytes*3;c=H.vertex_index_bytes*3+H.material_index_bytes;qa=H.vertex_index_bytes*
+4+H.material_index_bytes;$=H.ntri_flat*c;ca=H.ntri_smooth*(c+H.normal_index_bytes*3);X=H.ntri_flat_uv*(c+H.uv_index_bytes*3);ja=H.ntri_smooth_uv*(c+H.normal_index_bytes*3+H.uv_index_bytes*3);ea=H.nquad_flat*qa;c=H.nquad_smooth*(qa+H.normal_index_bytes*4);qa=H.nquad_flat_uv*(qa+H.uv_index_bytes*4);G+=function(c){for(var f,h,m,n=H.vertex_coordinate_bytes*3,o=c+H.nvertices*n;c<o;c+=n)f=e(b,c),h=e(b,c+H.vertex_coordinate_bytes),m=e(b,c+H.vertex_coordinate_bytes*2),D.vertices.push(new THREE.Vertex(new THREE.Vector3(f,
+h,m)));return H.nvertices*n}(G);G+=function(c){for(var e,f,k,h=H.normal_coordinate_bytes*3,m=c+H.nnormals*h;c<m;c+=h)e=p(b,c),f=p(b,c+H.normal_coordinate_bytes),k=p(b,c+H.normal_coordinate_bytes*2),E.push(e/127,f/127,k/127);return H.nnormals*h}(G);G+=function(c){for(var f,h,m=H.uv_coordinate_bytes*2,n=c+H.nuvs*m;c<n;c+=m)f=e(b,c),h=e(b,c+H.uv_coordinate_bytes),N.push(f,h);return H.nuvs*m}(G);$=G+$;ca=$+ca;X=ca+X;ja=X+ja;ea=ja+ea;c=ea+c;qa=c+qa;(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,
+f=e+H.uv_index_bytes*3,k=b+H.ntri_flat_uv*f;for(c=b;c<k;c+=f)t(c),y(c+e);return k-b})(ca);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=e+H.uv_index_bytes*3,k=b+H.ntri_smooth_uv*f;for(c=b;c<k;c+=f)x(c),y(c+e);return k-b})(X);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=e+H.uv_index_bytes*4,k=b+H.nquad_flat_uv*f;for(c=b;c<k;c+=f)w(c),B(c+e);return k-b})(c);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*
+4,f=e+H.uv_index_bytes*4,k=b+H.nquad_smooth_uv*f;for(c=b;c<k;c+=f)z(c),B(c+e);return k-b})(qa);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes,f=b+H.ntri_flat*e;for(c=b;c<f;c+=e)t(c);return f-b})(G);(function(b){var c,e=H.vertex_index_bytes*3+H.material_index_bytes+H.normal_index_bytes*3,f=b+H.ntri_smooth*e;for(c=b;c<f;c+=e)x(c);return f-b})($);(function(b){var c,e=H.vertex_index_bytes*4+H.material_index_bytes,f=b+H.nquad_flat*e;for(c=b;c<f;c+=e)w(c);return f-b})(ja);(function(b){var c,
+e=H.vertex_index_bytes*4+H.material_index_bytes+H.normal_index_bytes*4,f=b+H.nquad_smooth*e;for(c=b;c<f;c+=e)z(c);return f-b})(ea);this.computeCentroids();this.computeFaceNormals();THREE.Loader.prototype.hasNormals(this)&&this.computeTangents()};h.prototype=new THREE.Geometry;h.prototype.constructor=h;c(new h(e))};
+var ColladaLoader=function(){function b(b,c,e){for(var b=$.evaluate(b,$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null),f={},k=b.iterateNext(),h=0;k;){k=(new c).parse(k);if(k.id.length==0)k.id=e+h++;f[k.id]=k;k=b.iterateNext()}return f}function c(){var b=1E6,c=-b,e=0,f;for(f in qa)for(var k=qa[f],h=0;h<k.sampler.length;h++){var m=k.sampler[h];m.create();b=Math.min(b,m.startTime);c=Math.max(c,m.endTime);e=Math.max(e,m.input.length)}return{start:b,end:c,frames:e}}function e(b,c,f,k){b.world=b.world||
+new THREE.Matrix4;b.world.copy(b.matrix);if(b.channels&&b.channels.length){var h=b.channels[0].sampler.output[f];h instanceof THREE.Matrix4&&b.world.copy(h)}k&&b.world.multiply(k,b.world);c.push(b);for(k=0;k<b.nodes.length;k++)e(b.nodes[k],c,f,b.world)}function f(b,f,k){var h=V[f.url];if(!h||!h.skin)console.log("could not find skin controller!");else if(!f.skeleton||!f.skeleton.length)console.log("could not find the skeleton for the skin!");else{var m=c(),f=X.getChildById(f.skeleton[0],!0)||X.getChildBySid(f.skeleton[0],
+!0),n,o,p,t,v=new THREE.Vector3,u;for(n=0;n<b.vertices.length;n++)h.skin.bindShapeMatrix.multiplyVector3(b.vertices[n].position);for(k=0;k<m.frames;k++){var w=[],x=[];for(n=0;n<b.vertices.length;n++)x.push(new THREE.Vertex(new THREE.Vector3));e(f,w,k);n=w;o=h.skin;for(t=0;t<n.length;t++){p=n[t];u=-1;for(var y=0;y<o.joints.length;y++)if(p.sid==o.joints[y]){u=y;break}if(u>=0){y=o.invBindMatrices[u];p.invBindMatrix=y;p.skinningMatrix=new THREE.Matrix4;p.skinningMatrix.multiply(p.world,y);p.weights=[];
+for(y=0;y<o.weights.length;y++)for(var z=0;z<o.weights[y].length;z++){var B=o.weights[y][z];B.joint==u&&p.weights.push(B)}}else throw"could not find joint!";}for(n=0;n<w.length;n++)for(o=0;o<w[n].weights.length;o++)p=w[n].weights[o],t=p.index,p=p.weight,u=b.vertices[t],t=x[t],v.x=u.position.x,v.y=u.position.y,v.z=u.position.z,w[n].skinningMatrix.multiplyVector3(v),t.position.x+=v.x*p,t.position.y+=v.y*p,t.position.z+=v.z*p;b.morphTargets.push({name:"target_"+k,vertices:x})}}}function h(b){var c=new THREE.Object3D,
+e,k,m;c.name=b.id||"";c.matrixAutoUpdate=!1;c.matrix=b.matrix;for(m=0;m<b.controllers.length;m++){var n=V[b.controllers[m].url];switch(n.type){case "skin":if(pa[n.skin.source]){var o=new z;o.url=n.skin.source;o.instance_material=b.controllers[m].instance_material;b.geometries.push(o);e=b.controllers[m]}else if(V[n.skin.source]&&(k=n=V[n.skin.source],n.morph&&pa[n.morph.source]))o=new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o);break;case "morph":if(pa[n.morph.source])o=
+new z,o.url=n.morph.source,o.instance_material=b.controllers[m].instance_material,b.geometries.push(o),k=b.controllers[m];console.log("DAE: morph-controller partially supported.")}}for(m=0;m<b.geometries.length;m++){var n=b.geometries[m],o=n.instance_material,n=pa[n.url],p={},t=0,v;if(n&&n.mesh&&n.mesh.primitives){if(c.name.length==0)c.name=n.id;if(o)for(j=0;j<o.length;j++){v=o[j];var u=ra[va[v.target].instance_effect.url].shader;u.material.opacity=!u.material.opacity?1:u.material.opacity;v=p[v.symbol]=
+u.material;t++}o=v||new THREE.MeshLambertMaterial({color:14540253,shading:THREE.FlatShading});n=n.mesh.geometry3js;if(t>1){o=new THREE.MeshFaceMaterial;for(j=0;j<n.faces.length;j++)t=n.faces[j],t.materials=[p[t.daeMaterial]]}if(e!==void 0)f(n,e),o.morphTargets=!0,o=new THREE.SkinnedMesh(n,o),o.skeleton=e.skeleton,o.skinController=V[e.url],o.skinInstanceController=e,o.name="skin_"+za.length,za.push(o);else if(k!==void 0){p=n;t=k instanceof x?V[k.url]:k;if(!t||!t.morph)console.log("could not find morph controller!");
+else{t=t.morph;for(u=0;u<t.targets.length;u++){var w=pa[t.targets[u]];if(w.mesh&&w.mesh.primitives&&w.mesh.primitives.length)w=w.mesh.primitives[0].geometry,w.vertices.length===p.vertices.length&&p.morphTargets.push({name:"target_1",vertices:w.vertices})}p.morphTargets.push({name:"target_Z",vertices:p.vertices})}o.morphTargets=!0;o=new THREE.Mesh(n,o);o.name="morph_"+Aa.length;Aa.push(o)}else o=new THREE.Mesh(n,o);c.addChild(o)}}for(m=0;m<b.nodes.length;m++)c.addChild(h(b.nodes[m],b));return c}function m(){this.init_from=
+this.id=""}function k(){this.type=this.name=this.id="";this.morph=this.skin=null}function n(){this.weights=this.targets=this.source=this.method=null}function u(){this.source="";this.bindShapeMatrix=null;this.invBindMatrices=[];this.joints=[];this.weights=[]}function p(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Object3D}function v(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=[];this.transforms=[];this.geometries=[];this.channels=[];this.matrix=new THREE.Matrix4}function t(){this.type=
+this.sid="";this.data=[];this.matrix=new THREE.Matrix4}function x(){this.url="";this.skeleton=[];this.instance_material=[]}function w(){this.target=this.symbol=""}function z(){this.url="";this.instance_material=[]}function y(){this.id="";this.mesh=null}function B(b){this.geometry=b.id;this.primitives=[];this.geometry3js=this.vertices=null}function D(){}function G(){this.material="";this.count=0;this.inputs=[];this.vcount=null;this.p=[];this.geometry=new THREE.Geometry}function H(){this.source="";
+this.stride=this.count=0;this.params=[]}function E(){this.input={}}function N(){this.semantic="";this.offset=0;this.source="";this.set=0}function F(b){this.id=b;this.type=null}function I(){this.name=this.id="";this.instance_effect=null}function C(){this.color=new THREE.Color(0);this.color.setRGB(Math.random(),Math.random(),Math.random());this.color.a=1;this.texcoord=this.texture=null}function K(b,c){this.type=b;this.effect=c;this.material=null}function U(b){this.effect=b;this.format=this.init_from=
+null}function L(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter=this.wrap_t=this.wrap_s=this.source=null}function O(){this.name=this.id="";this.sampler=this.surface=this.shader=null}function S(){this.url=""}function P(){this.name=this.id="";this.source={};this.sampler=[];this.channel=[]}function o(b){this.animation=b;this.target=this.source="";this.member=this.arrIndices=this.arrSyntax=this.dotSyntax=this.sid=null}function W(b){this.id="";this.animation=b;this.inputs=[];this.endTime=
+this.startTime=this.interpolation=this.output=this.input=null;this.duration=0}function na(b){var c=b.getAttribute("id");if(ja[c]!=void 0)return ja[c];ja[c]=(new F(c)).parse(b);return ja[c]}function R(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADASchema";return null}function ia(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseFloat(b[e]));return c}function aa(b){for(var b=ma(b),c=[],e=0;e<b.length;e++)c.push(parseInt(b[e],10));return c}function ma(b){return b.replace(/^\s+/,"").replace(/\s+$/,
+"").split(/\s+/)}function fa(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),10):e}function ga(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";return e}c=c||2;e=b.toString().split(".");for(e[1]=e.length>1?e[1].substr(0,c):"0";e[1].length<c;)e[1]+="0";return e.join(".")}function da(b,c){var e="";e+=ga(b.x,c)+",";e+=ga(b.y,c)+",";e+=ga(b.z,c);return e}var $=null,ca=null,X,ja={},ea={},qa={},V={},pa={},va={},ra={},sa,Ca=null,wa,Aa,za,Fa=THREE.SmoothShading;m.prototype.parse=function(b){this.id=
+b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeName=="init_from")this.init_from=e.textContent}return this};k.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.type="none";for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "skin":this.skin=(new u).parse(e);this.type=e.nodeName;break;case "morph":this.morph=(new n).parse(e),this.type=e.nodeName}}return this};n.prototype.parse=function(b){var c=
+{},e=[],f;this.method=b.getAttribute("method");this.source=b.getAttribute("source").replace(/^#/,"");for(f=0;f<b.childNodes.length;f++){var k=b.childNodes[f];if(k.nodeType==1)switch(k.nodeName){case "source":k=(new F).parse(k);c[k.id]=k;break;case "targets":e=this.parseInputs(k);break;default:console.log(k.nodeName)}}for(f=0;f<e.length;f++)switch(b=e[f],k=c[b.source],b.semantic){case "MORPH_TARGET":this.targets=k.read();break;case "MORPH_WEIGHT":this.weights=k.read()}return this};n.prototype.parseInputs=
+function(b){for(var c=[],e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":c.push((new N).parse(f))}}return c};u.prototype.parse=function(b){var c={},e,f;this.source=b.getAttribute("source").replace(/^#/,"");this.invBindMatrices=[];this.joints=[];this.weights=[];for(var k=0;k<b.childNodes.length;k++){var h=b.childNodes[k];if(h.nodeType==1)switch(h.nodeName){case "bind_shape_matrix":h=ia(h.textContent);this.bindShapeMatrix=new THREE.Matrix4;this.bindShapeMatrix.set(h[0],
+h[1],h[2],h[3],h[4],h[5],h[6],h[7],h[8],h[9],h[10],h[11],h[12],h[13],h[14],h[15]);break;case "source":h=(new F).parse(h);c[h.id]=h;break;case "joints":e=h;break;case "vertex_weights":f=h;break;default:console.log(h.nodeName)}}this.parseJoints(e,c);this.parseWeights(f,c);return this};u.prototype.parseJoints=function(b,c){for(var e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "input":var f=(new N).parse(f),k=c[f.source];if(f.semantic=="JOINT")this.joints=
+k.read();else if(f.semantic=="INV_BIND_MATRIX")this.invBindMatrices=k.read()}}};u.prototype.parseWeights=function(b,c){for(var e,f,k=[],h=0;h<b.childNodes.length;h++){var m=b.childNodes[h];if(m.nodeType==1)switch(m.nodeName){case "input":k.push((new N).parse(m));break;case "v":e=aa(m.textContent);break;case "vcount":f=aa(m.textContent)}}for(h=m=0;h<f.length;h++){for(var n=f[h],o=[],p=0;p<n;p++){for(var t={},u=0;u<k.length;u++){var v=k[u],w=e[m+v.offset];switch(v.semantic){case "JOINT":t.joint=w;break;
+case "WEIGHT":t.weight=c[v.source].data[w]}}o.push(t);m+=k.length}for(p=0;p<o.length;p++)o[p].index=h;this.weights.push(o)}};p.prototype.getChildById=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};p.prototype.getChildBySid=function(b,c){for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};p.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");
+this.nodes=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "node":this.nodes.push((new v).parse(e))}}return this};v.prototype.getChannelForTransform=function(b){for(var c=0;c<this.channels.length;c++){var e=this.channels[c],f=e.target.split("/");f.shift();var k=f.shift(),h=k.indexOf(".")>=0,m=k.indexOf("(")>=0,n;if(h)f=k.split("."),k=f.shift(),f.shift();else if(m){n=k.split("(");k=n.shift();for(f=0;f<n.length;f++)n[f]=parseInt(n[f].replace(/\)/,
+""))}if(k==b)return e.info={sid:k,dotSyntax:h,arrSyntax:m,arrIndices:n},e}return null};v.prototype.getChildById=function(b,c){if(this.id==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildById(b,c);if(f)return f}return null};v.prototype.getChildBySid=function(b,c){if(this.sid==b)return this;if(c)for(var e=0;e<this.nodes.length;e++){var f=this.nodes[e].getChildBySid(b,c);if(f)return f}return null};v.prototype.getTransformBySid=function(b){for(var c=0;c<this.transforms.length;c++)if(this.transforms[c].sid==
+b)return this.transforms[c];return null};v.prototype.parse=function(b){var c;this.id=b.getAttribute("id");this.sid=b.getAttribute("sid");this.name=b.getAttribute("name");this.type=b.getAttribute("type");this.type=this.type=="JOINT"?this.type:"NODE";this.nodes=[];this.transforms=[];this.geometries=[];this.controllers=[];this.matrix=new THREE.Matrix4;for(var e=0;e<b.childNodes.length;e++)if(c=b.childNodes[e],c.nodeType==1)switch(c.nodeName){case "node":this.nodes.push((new v).parse(c));break;case "instance_camera":break;
+case "instance_controller":this.controllers.push((new x).parse(c));break;case "instance_geometry":this.geometries.push((new z).parse(c));break;case "instance_light":break;case "instance_node":c=c.getAttribute("url").replace(/^#/,"");(c=$.evaluate(".//dae:library_nodes//dae:node[@id='"+c+"']",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())&&this.nodes.push((new v).parse(c));break;case "rotate":case "translate":case "scale":case "matrix":case "lookat":case "skew":this.transforms.push((new t).parse(c));
+break;case "extra":break;default:console.log(c.nodeName)}b=[];e=1E6;c=-1E6;for(var f in qa)for(var k=qa[f],h=0;h<k.channel.length;h++){var m=k.channel[h],n=k.sampler[h];f=m.target.split("/")[0];if(f==this.id)n.create(),m.sampler=n,e=Math.min(e,n.startTime),c=Math.max(c,n.endTime),b.push(m)}if(b.length)this.startTime=e,this.endTime=c;if((this.channels=b)&&this.channels.length){f=1E7;for(i=0;i<this.channels.length;i++){b=this.channels[i].sampler;for(e=0;e<b.input.length-1;e++)f=Math.min(f,b.input[e+
+1]-b.input[e])}e=[];for(b=this.startTime;b<this.endTime;b+=f){c=b;for(var k={},o=h=void 0,h=0;h<this.channels.length;h++)o=this.channels[h],k[o.sid]=o;m=new THREE.Matrix4;for(h=0;h<this.transforms.length;h++)if(n=this.transforms[h],o=k[n.sid],o!==void 0){for(var p=o.sampler,u,o=0;o<p.input.length-1;o++)if(p.input[o+1]>c){u=p.output[o];break}m=u!==void 0?u instanceof THREE.Matrix4?m.multiply(m,u):m.multiply(m,n.matrix):m.multiply(m,n.matrix)}else m=m.multiply(m,n.matrix);c=m;e.push({time:b,pos:[c.n14,
+c.n24,c.n34],rotq:[0,0,0,1],scl:[1,1,1]})}this.keys=e}this.updateMatrix();return this};v.prototype.updateMatrix=function(){this.matrix.identity();for(var b=0;b<this.transforms.length;b++)this.matrix.multiply(this.matrix,this.transforms[b].matrix)};t.prototype.parse=function(b){this.sid=b.getAttribute("sid");this.type=b.nodeName;this.data=ia(b.textContent);this.updateMatrix();return this};t.prototype.updateMatrix=function(){var b=0;this.matrix.identity();switch(this.type){case "matrix":this.matrix.set(this.data[0],
+this.data[1],this.data[2],this.data[3],this.data[4],this.data[5],this.data[6],this.data[7],this.data[8],this.data[9],this.data[10],this.data[11],this.data[12],this.data[13],this.data[14],this.data[15]);break;case "translate":this.matrix.setTranslation(this.data[0],this.data[1],this.data[2]);break;case "rotate":b=this.data[3]*(Math.PI/180);this.matrix.setRotationAxis(new THREE.Vector3(this.data[0],this.data[1],this.data[2]),b);break;case "scale":this.matrix.setScale(this.data[0],this.data[1],this.data[2])}return this.matrix};
+x.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.skeleton=[];this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "skeleton":this.skeleton.push(e.textContent.replace(/^#/,""));break;case "bind_material":if(e=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(var f=e.iterateNext();f;)this.instance_material.push((new w).parse(f)),f=e.iterateNext()}}return this};
+w.prototype.parse=function(b){this.symbol=b.getAttribute("symbol");this.target=b.getAttribute("target").replace(/^#/,"");return this};z.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");this.instance_material=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1&&e.nodeName=="bind_material"){if(b=$.evaluate(".//dae:instance_material",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null))for(c=b.iterateNext();c;)this.instance_material.push((new w).parse(c)),
+c=b.iterateNext();break}}return this};y.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "mesh":this.mesh=(new B(this)).parse(e)}}return this};B.prototype.parse=function(b){function c(b,e){var f=da(b.position);k[f]===void 0&&(k[f]={v:b,index:e});return k[f]}this.primitives=[];var e;for(e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];switch(f.nodeName){case "source":na(f);break;case "vertices":this.vertices=
+(new E).parse(f);break;case "triangles":this.primitives.push((new G).parse(f));break;case "polygons":console.warn("polygon holes not yet supported!");case "polylist":this.primitives.push((new D).parse(f))}}var k={};this.geometry3js=new THREE.Geometry;f=ja[this.vertices.input.POSITION.source].data;for(b=e=0;e<f.length;e+=3,b++){var h=new THREE.Vertex(new THREE.Vector3(f[e],f[e+1],f[e+2]));c(h,b);this.geometry3js.vertices.push(h)}for(e=0;e<this.primitives.length;e++)primitive=this.primitives[e],primitive.setVertices(this.vertices),
+this.handlePrimitive(primitive,this.geometry3js,k);this.geometry3js.computeCentroids();this.geometry3js.computeFaceNormals();this.geometry3js.computeVertexNormals();this.geometry3js.computeBoundingBox();return this};B.prototype.handlePrimitive=function(b,c,e){var f=0,k,h,m=b.p,n=b.inputs,o,p,t,u=0,v=3,w=[];for(k=0;k<n.length;k++)o=n[k],o.semantic=="TEXCOORD"&&w.push(o.set);for(;f<m.length;){var x=[],y=[],z={};b.vcount&&(v=b.vcount[u++]);for(k=0;k<v;k++)for(h=0;h<n.length;h++)switch(o=n[h],source=
+ja[o.source],p=m[f+k*n.length+o.offset],numParams=source.accessor.params.length,t=p*numParams,o.semantic){case "VERTEX":o=da(c.vertices[p].position);x.push(e[o].index);break;case "NORMAL":y.push(new THREE.Vector3(source.data[t+0],source.data[t+1],source.data[t+2]));break;case "TEXCOORD":z[o.set]===void 0&&(z[o.set]=[]),z[o.set].push(new THREE.UV(source.data[t+0],source.data[t+1]))}h=new THREE.Face3(x[0],x[1],x[2],[y[0],y[1],y[2]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=
+z[w[h]],c.faceVertexUvs[h].push([o[0],o[1],o[2]]);if(v>3)for(k=2;k<x.length-1;k++){h=new THREE.Face3(x[0],x[k],x[k+1],[y[0],y[k],y[k+1]]);h.daeMaterial=b.material;c.faces.push(h);for(h=0;h<w.length;h++)o=z[w[h]],c.faceVertexUvs[h].push([o[0],o[k],o[k+1]])}f+=n.length*v}};D.prototype=new G;D.prototype.constructor=D;G.prototype.setVertices=function(b){for(var c=0;c<this.inputs.length;c++)if(this.inputs[c].source==b.id)this.inputs[c].source=b.input.POSITION.source};G.prototype.parse=function(b){this.inputs=
+[];this.material=b.getAttribute("material");this.count=fa(b,"count",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "input":this.inputs.push((new N).parse(b.childNodes[c]));break;case "vcount":this.vcount=aa(e.textContent);break;case "p":this.p=aa(e.textContent)}}return this};H.prototype.parse=function(b){this.params=[];this.source=b.getAttribute("source");this.count=fa(b,"count",0);this.stride=fa(b,"stride",0);for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];
+if(e.nodeName=="param"){var f={};f.name=e.getAttribute("name");f.type=e.getAttribute("type");this.params.push(f)}}return this};E.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++)b.childNodes[c].nodeName=="input"&&(input=(new N).parse(b.childNodes[c]),this.input[input.semantic]=input);return this};N.prototype.parse=function(b){this.semantic=b.getAttribute("semantic");this.source=b.getAttribute("source").replace(/^#/,"");this.set=fa(b,"set",-1);this.offset=
+fa(b,"offset",0);if(this.semantic=="TEXCOORD"&&this.set<0)this.set=0;return this};F.prototype.parse=function(b){this.id=b.getAttribute("id");for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];switch(e.nodeName){case "bool_array":for(var f=ma(e.textContent),k=[],h=0;h<f.length;h++)k.push(f[h]=="true"||f[h]=="1"?!0:!1);this.data=k;this.type=e.nodeName;break;case "float_array":this.data=ia(e.textContent);this.type=e.nodeName;break;case "int_array":this.data=aa(e.textContent);this.type=e.nodeName;
+break;case "IDREF_array":case "Name_array":this.data=ma(e.textContent);this.type=e.nodeName;break;case "technique_common":for(f=0;f<e.childNodes.length;f++)if(e.childNodes[f].nodeName=="accessor"){this.accessor=(new H).parse(e.childNodes[f]);break}}}return this};F.prototype.read=function(){var b=[],c=this.accessor.params[0];switch(c.type){case "IDREF":case "Name":case "float":return this.data;case "float4x4":for(c=0;c<this.data.length;c+=16){var e=this.data.slice(c,c+16),f=new THREE.Matrix4;f.set(e[0],
+e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);b.push(f)}break;default:console.log("Dae::Source:read dont know how to read "+c.type)}return b};I.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");for(var c=0;c<b.childNodes.length;c++)if(b.childNodes[c].nodeName=="instance_effect"){this.instance_effect=(new S).parse(b.childNodes[c]);break}return this};C.prototype.isColor=function(){return this.texture==null};C.prototype.isTexture=
+function(){return this.texture!=null};C.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "color":e=ia(e.textContent);this.color=new THREE.Color(0);this.color.setRGB(e[0],e[1],e[2]);this.color.a=e[3];break;case "texture":this.texture=e.getAttribute("texture"),this.texcoord=e.getAttribute("texcoord")}}return this};K.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==
+1)switch(e.nodeName){case "ambient":case "emission":case "diffuse":case "specular":case "transparent":this[e.nodeName]=(new C).parse(e);break;case "shininess":case "reflectivity":case "transparency":var f;f=$.evaluate(".//dae:float",e,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);for(var k=f.iterateNext(),h=[];k;)h.push(k),k=f.iterateNext();f=h;f.length>0&&(this[e.nodeName]=parseFloat(f[0].textContent))}}this.create();return this};K.prototype.create=function(){var b={},c=this.transparency!==void 0&&
+this.transparency<1,e;for(e in this)switch(e){case "ambient":case "emission":case "diffuse":case "specular":var f=this[e];if(f instanceof C)if(f.isTexture()){if(this.effect.sampler&&this.effect.surface&&this.effect.sampler.source==this.effect.surface.sid&&(f=ea[this.effect.surface.init_from]))b.map=THREE.ImageUtils.loadTexture(wa+f.init_from),b.map.wrapS=THREE.RepeatWrapping,b.map.wrapT=THREE.RepeatWrapping,b.map.repeat.x=1,b.map.repeat.y=-1}else e=="diffuse"?b.color=f.color.getHex():c||(b[e]=f.color.getHex());
+break;case "shininess":case "reflectivity":b[e]=this[e];break;case "transparency":if(c)b.transparent=!0,b.opacity=this[e],c=!0}b.shading=Fa;return this.material=new THREE.MeshLambertMaterial(b)};U.prototype.parse=function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "init_from":this.init_from=e.textContent;break;case "format":this.format=e.textContent;break;default:console.log("unhandled Surface prop: "+e.nodeName)}}return this};L.prototype.parse=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":this.source=e.textContent;break;case "minfilter":this.minfilter=e.textContent;break;case "magfilter":this.magfilter=e.textContent;break;case "mipfilter":this.mipfilter=e.textContent;break;case "wrap_s":this.wrap_s=e.textContent;break;case "wrap_t":this.wrap_t=e.textContent;break;default:console.log("unhandled Sampler2D prop: "+e.nodeName)}}return this};O.prototype.create=function(){if(this.shader==
+null)return null};O.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.shader=null;for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "profile_COMMON":this.parseTechnique(this.parseProfileCOMMON(e))}}return this};O.prototype.parseNewparam=function(b){for(var c=b.getAttribute("sid"),e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "surface":this.surface=(new U(this)).parse(f);
+this.surface.sid=c;break;case "sampler2D":this.sampler=(new L(this)).parse(f);this.sampler.sid=c;break;case "extra":break;default:console.log(f.nodeName)}}};O.prototype.parseProfileCOMMON=function(b){for(var c,e=0;e<b.childNodes.length;e++){var f=b.childNodes[e];if(f.nodeType==1)switch(f.nodeName){case "profile_COMMON":this.parseProfileCOMMON(f);break;case "technique":c=f;break;case "newparam":this.parseNewparam(f);break;case "extra":break;default:console.log(f.nodeName)}}return c};O.prototype.parseTechnique=
+function(b){for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "lambert":case "blinn":case "phong":this.shader=(new K(e.nodeName,this)).parse(e)}}};S.prototype.parse=function(b){this.url=b.getAttribute("url").replace(/^#/,"");return this};P.prototype.parse=function(b){this.id=b.getAttribute("id");this.name=b.getAttribute("name");this.source={};for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "source":e=
+(new F).parse(e);this.source[e.id]=e;break;case "sampler":this.sampler.push((new W(this)).parse(e));break;case "channel":this.channel.push((new o(this)).parse(e))}}return this};o.prototype.parse=function(b){this.source=b.getAttribute("source").replace(/^#/,"");this.target=b.getAttribute("target");var c=this.target.split("/");c.shift();var b=c.shift(),e=b.indexOf(".")>=0,f=b.indexOf("(")>=0,k,h;if(e)c=b.split("."),b=c.shift(),h=c.shift();else if(f){k=b.split("(");b=k.shift();for(c=0;c<k.length;c++)k[c]=
+parseInt(k[c].replace(/\)/,""))}this.sid=b;this.dotSyntax=e;this.arrSyntax=f;this.arrIndices=k;this.member=h;return this};W.prototype.parse=function(b){this.id=b.getAttribute("id");this.inputs=[];for(var c=0;c<b.childNodes.length;c++){var e=b.childNodes[c];if(e.nodeType==1)switch(e.nodeName){case "input":this.inputs.push((new N).parse(e))}}return this};W.prototype.create=function(){for(var b=0;b<this.inputs.length;b++){var c=this.inputs[b],e=this.animation.source[c.source];switch(c.semantic){case "INPUT":this.input=
+e.read();break;case "OUTPUT":this.output=e.read();break;case "INTERPOLATION":this.interpolation=e.read();break;case "IN_TANGENT":break;case "OUT_TANGENT":break;default:console.log(c.semantic)}}this.duration=this.endTime=this.startTime=0;if(this.input.length){this.startTime=1E8;this.endTime=-1E8;for(b=0;b<this.input.length;b++)this.startTime=Math.min(this.startTime,this.input[b]),this.endTime=Math.max(this.endTime,this.input[b]);this.duration=this.endTime-this.startTime}};return{load:function(e,f){if(document.implementation&&
+document.implementation.createDocument){document.implementation.createDocument("http://www.collada.org/2005/11/COLLADASchema","COLLADA",null);e+="?rnd="+Math.random();var n=new XMLHttpRequest;n.overrideMimeType&&n.overrideMimeType("text/xml");n.onreadystatechange=function(){if(n.readyState==4&&(n.status==0||n.status==200)){Ca=f;var o,t=e;$=n.responseXML;o=Ca;t!==void 0&&(t=t.split("/"),t.pop(),wa=t.join("/")+"/");ea=b("//dae:library_images/dae:image",m,"image");va=b("//dae:library_materials/dae:material",
+I,"material");ra=b("//dae:library_effects/dae:effect",O,"effect");pa=b("//dae:library_geometries/dae:geometry",y,"geometry");V=b("//dae:library_controllers/dae:controller",k,"controller");qa=b("//dae:library_animations/dae:animation",P,"animation");sa=b(".//dae:library_visual_scenes/dae:visual_scene",p,"visual_scene");Aa=[];za=[];(t=$.evaluate(".//dae:scene/dae:instance_visual_scene",$,R,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null).iterateNext())?(t=t.getAttribute("url").replace(/^#/,""),X=sa[t]):
+X=null;ca=new THREE.Object3D;for(t=0;t<X.nodes.length;t++)ca.addChild(h(X.nodes[t]));c();for(var u in qa);u={scene:ca,morphs:Aa,skins:za,dae:{images:ea,materials:va,effects:ra,geometries:pa,controllers:V,animations:qa,visualScenes:sa,scene:X}};o&&o(u)}};n.open("GET",e,!0);n.send(null)}else alert("Don't know how to parse XML!")},setPreferredShading:function(b){Fa=b},applySkin:f,geometries:pa}};THREE.JSONLoader=function(b){THREE.Loader.call(this,b)};THREE.JSONLoader.prototype=new THREE.Loader;
+THREE.JSONLoader.prototype.constructor=THREE.JSONLoader;THREE.JSONLoader.prototype.supr=THREE.Loader.prototype;THREE.JSONLoader.prototype.load=function(b){var c=this,e=b.model,f=b.callback,h=b.texture_path?b.texture_path:this.extractUrlbase(e),b=new Worker(e);b.onmessage=function(b){c.createModel(b.data,f,h);c.onLoadComplete()};this.onLoadStart();b.postMessage((new Date).getTime())};
+THREE.JSONLoader.prototype.createModel=function(b,c,e){var f=new THREE.Geometry,h=b.scale!==void 0?1/b.scale:1;this.init_materials(f,b.materials,e);(function(c){if(b.version===void 0||b.version!=2)console.error("Deprecated file format.");else{var e,h,u,p,v,t,x,w,z,y,B,D,G,H,E=b.faces;t=b.vertices;var N=b.normals,F=b.colors,I=0;for(e=0;e<b.uvs.length;e++)b.uvs[e].length&&I++;for(e=0;e<I;e++)f.faceUvs[e]=[],f.faceVertexUvs[e]=[];p=0;for(v=t.length;p<v;)x=new THREE.Vertex,x.position.x=t[p++]*c,x.position.y=
+t[p++]*c,x.position.z=t[p++]*c,f.vertices.push(x);p=0;for(v=E.length;p<v;){c=E[p++];t=c&1;u=c&2;e=c&4;h=c&8;w=c&16;x=c&32;y=c&64;c&=128;t?(B=new THREE.Face4,B.a=E[p++],B.b=E[p++],B.c=E[p++],B.d=E[p++],t=4):(B=new THREE.Face3,B.a=E[p++],B.b=E[p++],B.c=E[p++],t=3);if(u)u=E[p++],B.materials=f.materials[u];u=f.faces.length;if(e)for(e=0;e<I;e++)D=b.uvs[e],z=E[p++],H=D[z*2],z=D[z*2+1],f.faceUvs[e][u]=new THREE.UV(H,z);if(h)for(e=0;e<I;e++){D=b.uvs[e];G=[];for(h=0;h<t;h++)z=E[p++],H=D[z*2],z=D[z*2+1],G[h]=
+new THREE.UV(H,z);f.faceVertexUvs[e][u]=G}if(w)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.normal=h;if(x)for(e=0;e<t;e++)w=E[p++]*3,h=new THREE.Vector3,h.x=N[w++],h.y=N[w++],h.z=N[w],B.vertexNormals.push(h);if(y)x=E[p++],x=new THREE.Color(F[x]),B.color=x;if(c)for(e=0;e<t;e++)x=E[p++],x=new THREE.Color(F[x]),B.vertexColors.push(x);f.faces.push(B)}}})(h);(function(){var c,e,h,u;if(b.skinWeights){c=0;for(e=b.skinWeights.length;c<e;c+=2)h=b.skinWeights[c],u=b.skinWeights[c+1],f.skinWeights.push(new THREE.Vector4(h,
+u,0,0))}if(b.skinIndices){c=0;for(e=b.skinIndices.length;c<e;c+=2)h=b.skinIndices[c],u=b.skinIndices[c+1],f.skinIndices.push(new THREE.Vector4(h,u,0,0))}f.bones=b.bones;f.animation=b.animation})();(function(c){if(b.morphTargets!==void 0){var e,h,u,p,v,t,x,w,z;e=0;for(h=b.morphTargets.length;e<h;e++){f.morphTargets[e]={};f.morphTargets[e].name=b.morphTargets[e].name;f.morphTargets[e].vertices=[];w=f.morphTargets[e].vertices;z=b.morphTargets[e].vertices;u=0;for(p=z.length;u<p;u+=3)v=z[u]*c,t=z[u+1]*
+c,x=z[u+2]*c,w.push(new THREE.Vertex(new THREE.Vector3(v,t,x)))}}if(b.morphColors!==void 0){e=0;for(h=b.morphColors.length;e<h;e++){f.morphColors[e]={};f.morphColors[e].name=b.morphColors[e].name;f.morphColors[e].colors=[];p=f.morphColors[e].colors;v=b.morphColors[e].colors;c=0;for(u=v.length;c<u;c+=3)t=new THREE.Color(16755200),t.setRGB(v[c],v[c+1],v[c+2]),p.push(t)}}})(h);(function(){if(b.edges!==void 0){var c,e,h;for(c=0;c<b.edges.length;c+=2)e=b.edges[c],h=b.edges[c+1],f.edges.push(new THREE.Edge(f.vertices[e],
+f.vertices[h],e,h))}})();f.computeCentroids();f.computeFaceNormals();this.hasNormals(f)&&f.computeTangents();c(f)};THREE.SceneLoader=function(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){};this.callbackSync=function(){};this.callbackProgress=function(){}};
+THREE.SceneLoader.prototype={load:function(b,c){var e=this,f=new Worker(b);f.postMessage(0);var h=THREE.Loader.prototype.extractUrlbase(b);f.onmessage=function(b){function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}function n(){for(w in O.objects)if(!R.objects[w])if(G=O.objects[w],G.geometry!==void 0){if(F=R.geometries[G.geometry]){var b=!1;U=[];for(aa=0;aa<G.materials.length;aa++)U[aa]=R.materials[G.materials[aa]],b=U[aa]instanceof THREE.MeshShaderMaterial;b&&F.computeTangents();H=G.position;r=
+G.rotation;q=G.quaternion;s=G.scale;q=0;U.length==0&&(U[0]=new THREE.MeshFaceMaterial);U.length>1&&(U=[new THREE.MeshFaceMaterial]);object=new THREE.Mesh(F,U);object.name=w;object.position.set(H[0],H[1],H[2]);q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]);object.scale.set(s[0],s[1],s[2]);object.visible=G.visible;R.scene.addObject(object);R.objects[w]=object;G.meshCollider&&(b=THREE.CollisionUtils.MeshColliderWBox(object),R.scene.collisions.colliders.push(b));
+if(G.castsShadow)b=new THREE.ShadowVolume(F),R.scene.addChild(b),b.position=object.position,b.rotation=object.rotation,b.scale=object.scale;G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}}else H=G.position,r=G.rotation,q=G.quaternion,s=G.scale,q=0,object=new THREE.Object3D,object.name=w,object.position.set(H[0],H[1],H[2]),q?(object.quaternion.set(q[0],q[1],q[2],q[3]),object.useQuaternion=!0):object.rotation.set(r[0],r[1],r[2]),object.scale.set(s[0],
+s[1],s[2]),object.visible=G.visible!==void 0?G.visible:!1,R.scene.addObject(object),R.objects[w]=object,R.empties[w]=object,G.trigger&&G.trigger.toLowerCase()!="none"&&(b={type:G.trigger,object:G},R.triggers[object.name]=b)}function u(b){return function(c){R.geometries[b]=c;n();P-=1;e.onLoadComplete();v()}}function p(b){return function(c){R.geometries[b]=c}}function v(){e.callbackProgress({totalModels:W,totalTextures:na,loadedModels:W-P,loadedTextures:na-o},R);e.onLoadProgress();P==0&&o==0&&c(R)}
+var t,x,w,z,y,B,D,G,H,E,N,F,I,C,K,U,L,O,S,P,o,W,na,R;O=b.data;K=new THREE.BinaryLoader;S=new THREE.JSONLoader;o=P=0;R={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},triggers:{},empties:{}};b=!1;for(w in O.objects)if(G=O.objects[w],G.meshCollider){b=!0;break}if(b)R.scene.collisions=new THREE.CollisionSystem;if(O.transform){b=O.transform.position;E=O.transform.rotation;var ia=O.transform.scale;b&&R.scene.position.set(b[0],b[1],b[2]);E&&R.scene.rotation.set(E[0],
+E[1],E[2]);ia&&R.scene.scale.set(ia[0],ia[1],ia[2]);(b||E||ia)&&R.scene.updateMatrix()}b=function(){o-=1;v();e.onLoadComplete()};for(y in O.cameras){E=O.cameras[y];if(E.type=="perspective")I=new THREE.Camera(E.fov,E.aspect,E.near,E.far);else if(E.type=="ortho")I=new THREE.Camera,I.projectionMatrix=THREE.Matrix4.makeOrtho(E.left,E.right,E.top,E.bottom,E.near,E.far);H=E.position;E=E.target;I.position.set(H[0],H[1],H[2]);I.target.position.set(E[0],E[1],E[2]);R.cameras[y]=I}for(z in O.lights)y=O.lights[z],
+I=y.color!==void 0?y.color:16777215,E=y.intensity!==void 0?y.intensity:1,y.type=="directional"?(H=y.direction,L=new THREE.DirectionalLight(I,E),L.position.set(H[0],H[1],H[2]),L.position.normalize()):y.type=="point"?(H=y.position,d=y.distance,L=new THREE.PointLight(I,E,d),L.position.set(H[0],H[1],H[2])):y.type=="ambient"&&(L=new THREE.AmbientLight(I)),R.scene.addLight(L),R.lights[z]=L;for(B in O.fogs)z=O.fogs[B],z.type=="linear"?C=new THREE.Fog(0,z.near,z.far):z.type=="exp2"&&(C=new THREE.FogExp2(0,
+z.density)),E=z.color,C.color.setRGB(E[0],E[1],E[2]),R.fogs[B]=C;if(R.cameras&&O.defaults.camera)R.currentCamera=R.cameras[O.defaults.camera];if(R.fogs&&O.defaults.fog)R.scene.fog=R.fogs[O.defaults.fog];E=O.defaults.bgcolor;R.bgColor=new THREE.Color;R.bgColor.setRGB(E[0],E[1],E[2]);R.bgColorAlpha=O.defaults.bgalpha;for(t in O.geometries)if(B=O.geometries[t],B.type=="bin_mesh"||B.type=="ascii_mesh")P+=1,e.onLoadStart();W=P;for(t in O.geometries)B=O.geometries[t],B.type=="cube"?(F=new THREE.CubeGeometry(B.width,
+B.height,B.depth,B.segmentsWidth,B.segmentsHeight,B.segmentsDepth,null,B.flipped,B.sides),R.geometries[t]=F):B.type=="plane"?(F=new THREE.PlaneGeometry(B.width,B.height,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="sphere"?(F=new THREE.SphereGeometry(B.radius,B.segmentsWidth,B.segmentsHeight),R.geometries[t]=F):B.type=="cylinder"?(F=new THREE.CylinderGeometry(B.numSegs,B.topRad,B.botRad,B.height,B.topOffset,B.botOffset),R.geometries[t]=F):B.type=="torus"?(F=new THREE.TorusGeometry(B.radius,
+B.tube,B.segmentsR,B.segmentsT),R.geometries[t]=F):B.type=="icosahedron"?(F=new THREE.IcosahedronGeometry(B.subdivisions),R.geometries[t]=F):B.type=="bin_mesh"?K.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="ascii_mesh"?S.load({model:f(B.url,O.urlBaseType),callback:u(t)}):B.type=="embedded_mesh"&&(B=O.embeds[B.id])&&S.createModel(B,p(t),"");for(D in O.textures)if(t=O.textures[D],t.url instanceof Array){o+=t.url.length;for(K=0;K<t.url.length;K++)e.onLoadStart()}else o+=1,e.onLoadStart();
+na=o;for(D in O.textures){t=O.textures[D];if(t.mapping!=void 0&&THREE[t.mapping]!=void 0)t.mapping=new THREE[t.mapping];if(t.url instanceof Array){K=[];for(var aa=0;aa<t.url.length;aa++)K[aa]=f(t.url[aa],O.urlBaseType);K=THREE.ImageUtils.loadTextureCube(K,t.mapping,b)}else{K=THREE.ImageUtils.loadTexture(f(t.url,O.urlBaseType),t.mapping,b);if(THREE[t.minFilter]!=void 0)K.minFilter=THREE[t.minFilter];if(THREE[t.magFilter]!=void 0)K.magFilter=THREE[t.magFilter];if(t.repeat){K.repeat.set(t.repeat[0],
+t.repeat[1]);if(t.repeat[0]!=1)K.wrapS=THREE.RepeatWrapping;if(t.repeat[1]!=1)K.wrapT=THREE.RepeatWrapping}t.offset&&K.offset.set(t.offset[0],t.offset[1]);if(t.wrap){S={repeat:THREE.RepeatWrapping,mirror:THREE.MirroredRepeatWrapping};if(S[t.wrap[0]]!==void 0)K.wrapS=S[t.wrap[0]];if(S[t.wrap[1]]!==void 0)K.wrapT=S[t.wrap[1]]}}R.textures[D]=K}for(x in O.materials){D=O.materials[x];for(N in D.parameters)if(N=="envMap"||N=="map"||N=="lightMap")D.parameters[N]=R.textures[D.parameters[N]];else if(N=="shading")D.parameters[N]=
+D.parameters[N]=="flat"?THREE.FlatShading:THREE.SmoothShading;else if(N=="blending")D.parameters[N]=THREE[D.parameters[N]]?THREE[D.parameters[N]]:THREE.NormalBlending;else if(N=="combine")D.parameters[N]=D.parameters[N]=="MixOperation"?THREE.MixOperation:THREE.MultiplyOperation;else if(N=="vertexColors")if(D.parameters[N]=="face")D.parameters[N]=THREE.FaceColors;else if(D.parameters[N])D.parameters[N]=THREE.VertexColors;if(D.parameters.opacity!==void 0&&D.parameters.opacity<1)D.parameters.transparent=
+!0;if(D.parameters.normalMap){t=THREE.ShaderUtils.lib.normal;b=THREE.UniformsUtils.clone(t.uniforms);K=D.parameters.color;S=D.parameters.specular;B=D.parameters.ambient;C=D.parameters.shininess;b.tNormal.texture=R.textures[D.parameters.normalMap];if(D.parameters.normalMapFactor)b.uNormalScale.value=D.parameters.normalMapFactor;if(D.parameters.map)b.tDiffuse.texture=D.parameters.map,b.enableDiffuse.value=!0;if(D.parameters.lightMap)b.tAO.texture=D.parameters.lightMap,b.enableAO.value=!0;if(D.parameters.specularMap)b.tSpecular.texture=
+R.textures[D.parameters.specularMap],b.enableSpecular.value=!0;b.uDiffuseColor.value.setHex(K);b.uSpecularColor.value.setHex(S);b.uAmbientColor.value.setHex(B);b.uShininess.value=C;if(D.parameters.opacity)b.uOpacity.value=D.parameters.opacity;D=new THREE.MeshShaderMaterial({fragmentShader:t.fragmentShader,vertexShader:t.vertexShader,uniforms:b,lights:!0,fog:!0})}else D=new THREE[D.type](D.parameters);R.materials[x]=D}n();e.callbackSync(R)}},constructor:THREE.SceneLoader};THREE.UTF8Loader=function(){};
+THREE.UTF8Loader.prototype=new THREE.UTF8Loader;THREE.UTF8Loader.prototype.constructor=THREE.UTF8Loader;
+THREE.UTF8Loader.prototype.load=function(b){var c=new XMLHttpRequest,e=b.model,f=b.callback,h=b.scale!==void 0?b.scale:1,m=b.offsetX!==void 0?b.offsetX:0,k=b.offsetY!==void 0?b.offsetY:0,n=b.offsetZ!==void 0?b.offsetZ:0;c.onreadystatechange=function(){c.readyState==4?c.status==200||c.status==0?THREE.UTF8Loader.prototype.createModel(c.responseText,f,h,m,k,n):alert("Couldn't load ["+e+"] ["+c.status+"]"):c.readyState!=3&&c.readyState==2&&c.getResponseHeader("Content-Length")};c.open("GET",e,!0);c.send(null)};
+THREE.UTF8Loader.prototype.decompressMesh=function(b){var c=b.charCodeAt(0);c>=57344&&(c-=2048);c++;for(var e=new Float32Array(8*c),f=1,h=0;h<8;h++){for(var m=0,k=0;k<c;++k){var n=b.charCodeAt(k+f);m+=n>>1^-(n&1);e[8*k+h]=m}f+=c}c=b.length-f;m=new Uint16Array(c);for(h=k=0;h<c;h++)n=b.charCodeAt(h+f),m[h]=k-n,n==0&&k++;return[e,m]};
+THREE.UTF8Loader.prototype.createModel=function(b,c,e,f,h,m){var k=function(){var c=this;c.materials=[];THREE.Geometry.call(this);var k=THREE.UTF8Loader.prototype.decompressMesh(b),p=[],v=[];(function(b,k,p){for(var u,v,B,D=b.length;p<D;p+=k)u=b[p],v=b[p+1],B=b[p+2],u=u/16383*e,v=v/16383*e,B=B/16383*e,u+=f,v+=h,B+=m,c.vertices.push(new THREE.Vertex(new THREE.Vector3(u,v,B)))})(k[0],8,0);(function(b,c,e){for(var f,h,k=b.length;e<k;e+=c)f=b[e],h=b[e+1],f/=1023,h/=1023,v.push(f,h)})(k[0],8,3);(function(b,
+c,e){for(var f,h,k,m=b.length;e<m;e+=c)f=b[e],h=b[e+1],k=b[e+2],f=(f-512)/511,h=(h-512)/511,k=(k-512)/511,p.push(f,h,k)})(k[0],8,5);(function(b){var e,f,h,k,m,u,G,H,E,N=b.length;for(e=0;e<N;e+=3){f=b[e];h=b[e+1];k=b[e+2];m=c;H=f;E=h;u=k;G=f;var F=h,I=k,C=m.materials[0],K=p[F*3],U=p[F*3+1],F=p[F*3+2],L=p[I*3],O=p[I*3+1],I=p[I*3+2];G=new THREE.Vector3(p[G*3],p[G*3+1],p[G*3+2]);F=new THREE.Vector3(K,U,F);I=new THREE.Vector3(L,O,I);m.faces.push(new THREE.Face3(H,E,u,[G,F,I],null,C));m=v[f*2];f=v[f*2+
+1];u=v[h*2];G=v[h*2+1];H=v[k*2];E=v[k*2+1];k=c.faceVertexUvs[0];h=u;u=G;G=[];G.push(new THREE.UV(m,f));G.push(new THREE.UV(h,u));G.push(new THREE.UV(H,E));k.push(G)}})(k[1]);this.computeCentroids();this.computeFaceNormals()};k.prototype=new THREE.Geometry;k.prototype.constructor=k;c(new k)};
+THREE.MarchingCubes=function(b,c){THREE.Object3D.call(this);this.materials=c instanceof Array?c:[c];this.init=function(b){this.isolation=80;this.size=b;this.size2=this.size*this.size;this.size3=this.size2*this.size;this.halfsize=this.size/2;this.delta=2/this.size;this.yd=this.size;this.zd=this.size2;this.field=new Float32Array(this.size3);this.normal_cache=new Float32Array(this.size3*3);this.vlist=new Float32Array(36);this.nlist=new Float32Array(36);this.firstDraw=!0;this.maxCount=4096;this.count=
+0;this.hasNormal=this.hasPos=!1;this.positionArray=new Float32Array(this.maxCount*3);this.normalArray=new Float32Array(this.maxCount*3)};this.lerp=function(b,c,h){return b+(c-b)*h};this.VIntX=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n+k*this.delta;c[m+1]=u;c[m+2]=p;h[m]=this.lerp(v[b],v[b+3],k);h[m+1]=this.lerp(v[b+1],v[b+4],k);h[m+2]=this.lerp(v[b+2],v[b+5],k)};this.VIntY=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u+k*this.delta;c[m+
+2]=p;c=b+this.yd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.VIntZ=function(b,c,h,m,k,n,u,p,v,t){k=(k-v)/(t-v);v=this.normal_cache;c[m]=n;c[m+1]=u;c[m+2]=p+k*this.delta;c=b+this.zd*3;h[m]=this.lerp(v[b],v[c],k);h[m+1]=this.lerp(v[b+1],v[c+1],k);h[m+2]=this.lerp(v[b+2],v[c+2],k)};this.compNorm=function(b){var c=b*3;this.normal_cache[c]==0&&(this.normal_cache[c]=this.field[b-1]-this.field[b+1],this.normal_cache[c+1]=this.field[b-this.yd]-this.field[b+
+this.yd],this.normal_cache[c+2]=this.field[b-this.zd]-this.field[b+this.zd])};this.polygonize=function(b,c,h,m,k,n){var u=m+1,p=m+this.yd,v=m+this.zd,t=u+this.yd,x=u+this.zd,w=m+this.yd+this.zd,z=u+this.yd+this.zd,y=0,B=this.field[m],D=this.field[u],G=this.field[p],H=this.field[t],E=this.field[v],N=this.field[x],F=this.field[w],I=this.field[z];B<k&&(y|=1);D<k&&(y|=2);G<k&&(y|=8);H<k&&(y|=4);E<k&&(y|=16);N<k&&(y|=32);F<k&&(y|=128);I<k&&(y|=64);var C=THREE.edgeTable[y];if(C==0)return 0;var K=this.delta,
+U=b+K,L=c+K,K=h+K;C&1&&(this.compNorm(m),this.compNorm(u),this.VIntX(m*3,this.vlist,this.nlist,0,k,b,c,h,B,D));C&2&&(this.compNorm(u),this.compNorm(t),this.VIntY(u*3,this.vlist,this.nlist,3,k,U,c,h,D,H));C&4&&(this.compNorm(p),this.compNorm(t),this.VIntX(p*3,this.vlist,this.nlist,6,k,b,L,h,G,H));C&8&&(this.compNorm(m),this.compNorm(p),this.VIntY(m*3,this.vlist,this.nlist,9,k,b,c,h,B,G));C&16&&(this.compNorm(v),this.compNorm(x),this.VIntX(v*3,this.vlist,this.nlist,12,k,b,c,K,E,N));C&32&&(this.compNorm(x),
+this.compNorm(z),this.VIntY(x*3,this.vlist,this.nlist,15,k,U,c,K,N,I));C&64&&(this.compNorm(w),this.compNorm(z),this.VIntX(w*3,this.vlist,this.nlist,18,k,b,L,K,F,I));C&128&&(this.compNorm(v),this.compNorm(w),this.VIntY(v*3,this.vlist,this.nlist,21,k,b,c,K,E,F));C&256&&(this.compNorm(m),this.compNorm(v),this.VIntZ(m*3,this.vlist,this.nlist,24,k,b,c,h,B,E));C&512&&(this.compNorm(u),this.compNorm(x),this.VIntZ(u*3,this.vlist,this.nlist,27,k,U,c,h,D,N));C&1024&&(this.compNorm(t),this.compNorm(z),this.VIntZ(t*
+3,this.vlist,this.nlist,30,k,U,L,h,H,I));C&2048&&(this.compNorm(p),this.compNorm(w),this.VIntZ(p*3,this.vlist,this.nlist,33,k,b,L,h,G,F));y<<=4;for(k=m=0;THREE.triTable[y+k]!=-1;)b=y+k,c=b+1,h=b+2,this.posnormtriv(this.vlist,this.nlist,3*THREE.triTable[b],3*THREE.triTable[c],3*THREE.triTable[h],n),k+=3,m++;return m};this.posnormtriv=function(b,c,h,m,k,n){var u=this.count*3;this.positionArray[u]=b[h];this.positionArray[u+1]=b[h+1];this.positionArray[u+2]=b[h+2];this.positionArray[u+3]=b[m];this.positionArray[u+
+4]=b[m+1];this.positionArray[u+5]=b[m+2];this.positionArray[u+6]=b[k];this.positionArray[u+7]=b[k+1];this.positionArray[u+8]=b[k+2];this.normalArray[u]=c[h];this.normalArray[u+1]=c[h+1];this.normalArray[u+2]=c[h+2];this.normalArray[u+3]=c[m];this.normalArray[u+4]=c[m+1];this.normalArray[u+5]=c[m+2];this.normalArray[u+6]=c[k];this.normalArray[u+7]=c[k+1];this.normalArray[u+8]=c[k+2];this.hasNormal=this.hasPos=!0;this.count+=3;this.count>=this.maxCount-3&&n(this)};this.begin=function(){this.count=0;
+this.hasNormal=this.hasPos=!1};this.end=function(b){if(this.count!=0){for(var c=this.count*3;c<this.positionArray.length;c++)this.positionArray[c]=0;b(this)}};this.addBall=function(b,c,h,m,k){var n=this.size*Math.sqrt(m/k),u=h*this.size,p=c*this.size,v=b*this.size,t=Math.floor(u-n);t<1&&(t=1);u=Math.floor(u+n);u>this.size-1&&(u=this.size-1);var x=Math.floor(p-n);x<1&&(x=1);p=Math.floor(p+n);p>this.size-1&&(p=this.size-1);var w=Math.floor(v-n);w<1&&(w=1);n=Math.floor(v+n);n>this.size-1&&(n=this.size-
+1);for(var z,y,B,D,G,H;t<u;t++){v=this.size2*t;y=t/this.size-h;G=y*y;for(y=x;y<p;y++){B=v+this.size*y;z=y/this.size-c;H=z*z;for(z=w;z<n;z++)D=z/this.size-b,D=m/(1.0E-6+D*D+H+G)-k,D>0&&(this.field[B+z]+=D)}}};this.addPlaneX=function(b,c){var h,m,k,n,u,p=this.size,v=this.yd,t=this.zd,x=this.field,w=p*Math.sqrt(b/c);w>p&&(w=p);for(h=0;h<w;h++)if(m=h/p,m*=m,n=b/(1.0E-4+m)-c,n>0)for(m=0;m<p;m++){u=h+m*v;for(k=0;k<p;k++)x[t*k+u]+=n}};this.addPlaneY=function(b,c){var h,m,k,n,u,p,v=this.size,t=this.yd,x=
+this.zd,w=this.field,z=v*Math.sqrt(b/c);z>v&&(z=v);for(m=0;m<z;m++)if(h=m/v,h*=h,n=b/(1.0E-4+h)-c,n>0){u=m*t;for(h=0;h<v;h++){p=u+h;for(k=0;k<v;k++)w[x*k+p]+=n}}};this.addPlaneZ=function(b,c){var h,m,k,n,u,p;size=this.size;yd=this.yd;zd=this.zd;field=this.field;dist=size*Math.sqrt(b/c);dist>size&&(dist=size);for(k=0;k<dist;k++)if(h=k/size,h*=h,n=b/(1.0E-4+h)-c,n>0){u=zd*k;for(m=0;m<size;m++){p=u+m*yd;for(h=0;h<size;h++)field[p+h]+=n}}};this.reset=function(){var b;for(b=0;b<this.size3;b++)this.normal_cache[b*
+3]=0,this.field[b]=0};this.render=function(b){this.begin();var c,h,m,k,n,u,p,v,t,x=this.size-2;for(k=1;k<x;k++){t=this.size2*k;p=(k-this.halfsize)/this.halfsize;for(m=1;m<x;m++){v=t+this.size*m;u=(m-this.halfsize)/this.halfsize;for(h=1;h<x;h++)n=(h-this.halfsize)/this.halfsize,c=v+h,this.polygonize(n,u,p,c,this.isolation,b)}}this.end(b)};this.generateGeometry=function(){var b=0,c=new THREE.Geometry,h=[];this.render(function(m){var k,n,u,p,v,t,x,w;for(k=0;k<m.count;k++)x=k*3,v=x+1,w=x+2,n=m.positionArray[x],
+u=m.positionArray[v],p=m.positionArray[w],t=new THREE.Vector3(n,u,p),n=m.normalArray[x],u=m.normalArray[v],p=m.normalArray[w],x=new THREE.Vector3(n,u,p),x.normalize(),v=new THREE.Vertex(t),c.vertices.push(v),h.push(x);nfaces=m.count/3;for(k=0;k<nfaces;k++)x=(b+k)*3,v=x+1,w=x+2,t=h[x],n=h[v],u=h[w],x=new THREE.Face3(x,v,w,[t,n,u]),c.faces.push(x);b+=nfaces;m.count=0});return c};this.init(b)};THREE.MarchingCubes.prototype=new THREE.Object3D;THREE.MarchingCubes.prototype.constructor=THREE.MarchingCubes;
+THREE.edgeTable=new Int32Array([0,265,515,778,1030,1295,1541,1804,2060,2309,2575,2822,3082,3331,3593,3840,400,153,915,666,1430,1183,1941,1692,2460,2197,2975,2710,3482,3219,3993,3728,560,825,51,314,1590,1855,1077,1340,2620,2869,2111,2358,3642,3891,3129,3376,928,681,419,170,1958,1711,1445,1196,2988,2725,2479,2214,4010,3747,3497,3232,1120,1385,1635,1898,102,367,613,876,3180,3429,3695,3942,2154,2403,2665,2912,1520,1273,2035,1786,502,255,1013,764,3580,3317,4095,3830,2554,2291,3065,2800,1616,1881,1107,
+1370,598,863,85,348,3676,3925,3167,3414,2650,2899,2137,2384,1984,1737,1475,1226,966,719,453,204,4044,3781,3535,3270,3018,2755,2505,2240,2240,2505,2755,3018,3270,3535,3781,4044,204,453,719,966,1226,1475,1737,1984,2384,2137,2899,2650,3414,3167,3925,3676,348,85,863,598,1370,1107,1881,1616,2800,3065,2291,2554,3830,4095,3317,3580,764,1013,255,502,1786,2035,1273,1520,2912,2665,2403,2154,3942,3695,3429,3180,876,613,367,102,1898,1635,1385,1120,3232,3497,3747,4010,2214,2479,2725,2988,1196,1445,1711,1958,170,
+419,681,928,3376,3129,3891,3642,2358,2111,2869,2620,1340,1077,1855,1590,314,51,825,560,3728,3993,3219,3482,2710,2975,2197,2460,1692,1941,1183,1430,666,915,153,400,3840,3593,3331,3082,2822,2575,2309,2060,1804,1541,1295,1030,778,515,265,0]);
+THREE.triTable=new Int32Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,9,8,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,2,10,0,2,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,8,3,2,10,8,10,9,8,-1,-1,-1,-1,-1,-1,-1,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,8,11,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,11,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,-1,1,11,2,1,9,11,9,8,11,-1,-1,-1,-1,-1,-1,-1,3,10,1,11,10,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,10,1,0,8,10,8,11,10,-1,-1,-1,-1,-1,-1,-1,3,9,0,3,11,9,11,10,9,-1,-1,-1,-1,-1,-1,-1,9,8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,7,3,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,1,9,4,7,1,7,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,8,4,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,4,7,3,0,4,1,2,10,-1,-1,-1,-1,-1,-1,-1,9,2,10,9,0,2,8,4,7,
+-1,-1,-1,-1,-1,-1,-1,2,10,9,2,9,7,2,7,3,7,9,4,-1,-1,-1,-1,8,4,7,3,11,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,4,7,11,2,4,2,0,4,-1,-1,-1,-1,-1,-1,-1,9,0,1,8,4,7,2,3,11,-1,-1,-1,-1,-1,-1,-1,4,7,11,9,4,11,9,11,2,9,2,1,-1,-1,-1,-1,3,10,1,3,11,10,7,8,4,-1,-1,-1,-1,-1,-1,-1,1,11,10,1,4,11,1,0,4,7,11,4,-1,-1,-1,-1,4,7,8,9,0,11,9,11,10,11,0,3,-1,-1,-1,-1,4,7,11,4,11,9,9,11,10,-1,-1,-1,-1,-1,-1,-1,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,5,4,1,5,0,-1,-1,-1,-1,-1,-1,
+-1,-1,-1,-1,8,5,4,8,3,5,3,1,5,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,10,4,9,5,-1,-1,-1,-1,-1,-1,-1,5,2,10,5,4,2,4,0,2,-1,-1,-1,-1,-1,-1,-1,2,10,5,3,2,5,3,5,4,3,4,8,-1,-1,-1,-1,9,5,4,2,3,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,11,2,0,8,11,4,9,5,-1,-1,-1,-1,-1,-1,-1,0,5,4,0,1,5,2,3,11,-1,-1,-1,-1,-1,-1,-1,2,1,5,2,5,8,2,8,11,4,8,5,-1,-1,-1,-1,10,3,11,10,1,3,9,5,4,-1,-1,-1,-1,-1,-1,-1,4,9,5,0,8,1,8,10,1,8,11,10,-1,-1,-1,-1,5,4,0,5,0,11,5,11,10,11,0,3,-1,-1,-1,-1,5,4,8,5,
+8,10,10,8,11,-1,-1,-1,-1,-1,-1,-1,9,7,8,5,7,9,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,3,0,9,5,3,5,7,3,-1,-1,-1,-1,-1,-1,-1,0,7,8,0,1,7,1,5,7,-1,-1,-1,-1,-1,-1,-1,1,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,7,8,9,5,7,10,1,2,-1,-1,-1,-1,-1,-1,-1,10,1,2,9,5,0,5,3,0,5,7,3,-1,-1,-1,-1,8,0,2,8,2,5,8,5,7,10,5,2,-1,-1,-1,-1,2,10,5,2,5,3,3,5,7,-1,-1,-1,-1,-1,-1,-1,7,9,5,7,8,9,3,11,2,-1,-1,-1,-1,-1,-1,-1,9,5,7,9,7,2,9,2,0,2,7,11,-1,-1,-1,-1,2,3,11,0,1,8,1,7,8,1,5,7,-1,-1,-1,-1,11,2,1,11,1,7,7,1,5,-1,-1,-1,-1,-1,-1,
+-1,9,5,8,8,5,7,10,1,3,10,3,11,-1,-1,-1,-1,5,7,0,5,0,9,7,11,0,1,0,10,11,10,0,-1,11,10,0,11,0,3,10,5,0,8,0,7,5,7,0,-1,11,10,5,7,11,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,6,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,0,1,5,10,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,8,3,1,9,8,5,10,6,-1,-1,-1,-1,-1,-1,-1,1,6,5,2,6,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,6,5,1,2,6,3,0,8,-1,-1,-1,-1,-1,-1,-1,9,6,5,9,0,6,0,2,6,-1,-1,-1,-1,-1,-1,-1,5,9,8,5,8,2,5,2,6,3,2,8,-1,-1,-1,-1,2,3,11,10,6,
+5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,0,8,11,2,0,10,6,5,-1,-1,-1,-1,-1,-1,-1,0,1,9,2,3,11,5,10,6,-1,-1,-1,-1,-1,-1,-1,5,10,6,1,9,2,9,11,2,9,8,11,-1,-1,-1,-1,6,3,11,6,5,3,5,1,3,-1,-1,-1,-1,-1,-1,-1,0,8,11,0,11,5,0,5,1,5,11,6,-1,-1,-1,-1,3,11,6,0,3,6,0,6,5,0,5,9,-1,-1,-1,-1,6,5,9,6,9,11,11,9,8,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,3,0,4,7,3,6,5,10,-1,-1,-1,-1,-1,-1,-1,1,9,0,5,10,6,8,4,7,-1,-1,-1,-1,-1,-1,-1,10,6,5,1,9,7,1,7,3,7,9,4,-1,-1,-1,-1,6,1,2,6,5,1,4,7,8,-1,-1,-1,-1,
+-1,-1,-1,1,2,5,5,2,6,3,0,4,3,4,7,-1,-1,-1,-1,8,4,7,9,0,5,0,6,5,0,2,6,-1,-1,-1,-1,7,3,9,7,9,4,3,2,9,5,9,6,2,6,9,-1,3,11,2,7,8,4,10,6,5,-1,-1,-1,-1,-1,-1,-1,5,10,6,4,7,2,4,2,0,2,7,11,-1,-1,-1,-1,0,1,9,4,7,8,2,3,11,5,10,6,-1,-1,-1,-1,9,2,1,9,11,2,9,4,11,7,11,4,5,10,6,-1,8,4,7,3,11,5,3,5,1,5,11,6,-1,-1,-1,-1,5,1,11,5,11,6,1,0,11,7,11,4,0,4,11,-1,0,5,9,0,6,5,0,3,6,11,6,3,8,4,7,-1,6,5,9,6,9,11,4,7,9,7,11,9,-1,-1,-1,-1,10,4,9,6,4,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,10,6,4,9,10,0,8,3,-1,-1,-1,-1,-1,-1,-1,
+10,0,1,10,6,0,6,4,0,-1,-1,-1,-1,-1,-1,-1,8,3,1,8,1,6,8,6,4,6,1,10,-1,-1,-1,-1,1,4,9,1,2,4,2,6,4,-1,-1,-1,-1,-1,-1,-1,3,0,8,1,2,9,2,4,9,2,6,4,-1,-1,-1,-1,0,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,3,2,8,2,4,4,2,6,-1,-1,-1,-1,-1,-1,-1,10,4,9,10,6,4,11,2,3,-1,-1,-1,-1,-1,-1,-1,0,8,2,2,8,11,4,9,10,4,10,6,-1,-1,-1,-1,3,11,2,0,1,6,0,6,4,6,1,10,-1,-1,-1,-1,6,4,1,6,1,10,4,8,1,2,1,11,8,11,1,-1,9,6,4,9,3,6,9,1,3,11,6,3,-1,-1,-1,-1,8,11,1,8,1,0,11,6,1,9,1,4,6,4,1,-1,3,11,6,3,6,0,0,6,4,-1,-1,-1,-1,-1,-1,-1,
+6,4,8,11,6,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,10,6,7,8,10,8,9,10,-1,-1,-1,-1,-1,-1,-1,0,7,3,0,10,7,0,9,10,6,7,10,-1,-1,-1,-1,10,6,7,1,10,7,1,7,8,1,8,0,-1,-1,-1,-1,10,6,7,10,7,1,1,7,3,-1,-1,-1,-1,-1,-1,-1,1,2,6,1,6,8,1,8,9,8,6,7,-1,-1,-1,-1,2,6,9,2,9,1,6,7,9,0,9,3,7,3,9,-1,7,8,0,7,0,6,6,0,2,-1,-1,-1,-1,-1,-1,-1,7,3,2,6,7,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,11,10,6,8,10,8,9,8,6,7,-1,-1,-1,-1,2,0,7,2,7,11,0,9,7,6,7,10,9,10,7,-1,1,8,0,1,7,8,1,10,7,6,7,10,2,3,11,-1,11,2,1,11,1,7,10,6,1,6,7,1,-1,-1,-1,-1,
+8,9,6,8,6,7,9,1,6,11,6,3,1,3,6,-1,0,9,1,11,6,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,0,7,0,6,3,11,0,11,6,0,-1,-1,-1,-1,7,11,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,8,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,9,11,7,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,1,9,8,3,1,11,7,6,-1,-1,-1,-1,-1,-1,-1,10,1,2,6,11,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,10,3,0,8,6,11,7,-1,-1,-1,-1,-1,-1,-1,2,9,0,2,10,9,6,11,7,-1,-1,-1,-1,-1,-1,-1,6,11,7,2,10,3,10,8,3,10,9,8,-1,-1,-1,-1,7,
+2,3,6,2,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,0,8,7,6,0,6,2,0,-1,-1,-1,-1,-1,-1,-1,2,7,6,2,3,7,0,1,9,-1,-1,-1,-1,-1,-1,-1,1,6,2,1,8,6,1,9,8,8,7,6,-1,-1,-1,-1,10,7,6,10,1,7,1,3,7,-1,-1,-1,-1,-1,-1,-1,10,7,6,1,7,10,1,8,7,1,0,8,-1,-1,-1,-1,0,3,7,0,7,10,0,10,9,6,10,7,-1,-1,-1,-1,7,6,10,7,10,8,8,10,9,-1,-1,-1,-1,-1,-1,-1,6,8,4,11,8,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,6,11,3,0,6,0,4,6,-1,-1,-1,-1,-1,-1,-1,8,6,11,8,4,6,9,0,1,-1,-1,-1,-1,-1,-1,-1,9,4,6,9,6,3,9,3,1,11,3,6,-1,-1,-1,-1,6,8,4,6,11,8,2,10,1,-1,-1,-1,
+-1,-1,-1,-1,1,2,10,3,0,11,0,6,11,0,4,6,-1,-1,-1,-1,4,11,8,4,6,11,0,2,9,2,10,9,-1,-1,-1,-1,10,9,3,10,3,2,9,4,3,11,3,6,4,6,3,-1,8,2,3,8,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,0,4,2,4,6,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,9,0,2,3,4,2,4,6,4,3,8,-1,-1,-1,-1,1,9,4,1,4,2,2,4,6,-1,-1,-1,-1,-1,-1,-1,8,1,3,8,6,1,8,4,6,6,10,1,-1,-1,-1,-1,10,1,0,10,0,6,6,0,4,-1,-1,-1,-1,-1,-1,-1,4,6,3,4,3,8,6,10,3,0,3,9,10,9,3,-1,10,9,4,6,10,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,5,7,6,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,5,11,7,6,
+-1,-1,-1,-1,-1,-1,-1,5,0,1,5,4,0,7,6,11,-1,-1,-1,-1,-1,-1,-1,11,7,6,8,3,4,3,5,4,3,1,5,-1,-1,-1,-1,9,5,4,10,1,2,7,6,11,-1,-1,-1,-1,-1,-1,-1,6,11,7,1,2,10,0,8,3,4,9,5,-1,-1,-1,-1,7,6,11,5,4,10,4,2,10,4,0,2,-1,-1,-1,-1,3,4,8,3,5,4,3,2,5,10,5,2,11,7,6,-1,7,2,3,7,6,2,5,4,9,-1,-1,-1,-1,-1,-1,-1,9,5,4,0,8,6,0,6,2,6,8,7,-1,-1,-1,-1,3,6,2,3,7,6,1,5,0,5,4,0,-1,-1,-1,-1,6,2,8,6,8,7,2,1,8,4,8,5,1,5,8,-1,9,5,4,10,1,6,1,7,6,1,3,7,-1,-1,-1,-1,1,6,10,1,7,6,1,0,7,8,7,0,9,5,4,-1,4,0,10,4,10,5,0,3,10,6,10,7,3,7,10,
+-1,7,6,10,7,10,8,5,4,10,4,8,10,-1,-1,-1,-1,6,9,5,6,11,9,11,8,9,-1,-1,-1,-1,-1,-1,-1,3,6,11,0,6,3,0,5,6,0,9,5,-1,-1,-1,-1,0,11,8,0,5,11,0,1,5,5,6,11,-1,-1,-1,-1,6,11,3,6,3,5,5,3,1,-1,-1,-1,-1,-1,-1,-1,1,2,10,9,5,11,9,11,8,11,5,6,-1,-1,-1,-1,0,11,3,0,6,11,0,9,6,5,6,9,1,2,10,-1,11,8,5,11,5,6,8,0,5,10,5,2,0,2,5,-1,6,11,3,6,3,5,2,10,3,10,5,3,-1,-1,-1,-1,5,8,9,5,2,8,5,6,2,3,8,2,-1,-1,-1,-1,9,5,6,9,6,0,0,6,2,-1,-1,-1,-1,-1,-1,-1,1,5,8,1,8,0,5,6,8,3,8,2,6,2,8,-1,1,5,6,2,1,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+1,3,6,1,6,10,3,8,6,5,6,9,8,9,6,-1,10,1,0,10,0,6,9,5,0,5,6,0,-1,-1,-1,-1,0,3,8,5,6,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,5,6,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,7,5,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,11,5,10,11,7,5,8,3,0,-1,-1,-1,-1,-1,-1,-1,5,11,7,5,10,11,1,9,0,-1,-1,-1,-1,-1,-1,-1,10,7,5,10,11,7,9,8,1,8,3,1,-1,-1,-1,-1,11,1,2,11,7,1,7,5,1,-1,-1,-1,-1,-1,-1,-1,0,8,3,1,2,7,1,7,5,7,2,11,-1,-1,-1,-1,9,7,5,9,2,7,9,0,2,2,11,7,-1,-1,-1,-1,7,5,2,7,2,11,5,9,2,3,2,8,9,8,2,-1,2,5,10,2,3,5,3,7,5,-1,-1,
+-1,-1,-1,-1,-1,8,2,0,8,5,2,8,7,5,10,2,5,-1,-1,-1,-1,9,0,1,5,10,3,5,3,7,3,10,2,-1,-1,-1,-1,9,8,2,9,2,1,8,7,2,10,2,5,7,5,2,-1,1,3,5,3,7,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,8,7,0,7,1,1,7,5,-1,-1,-1,-1,-1,-1,-1,9,0,3,9,3,5,5,3,7,-1,-1,-1,-1,-1,-1,-1,9,8,7,5,9,7,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,5,8,4,5,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,5,0,4,5,11,0,5,10,11,11,3,0,-1,-1,-1,-1,0,1,9,8,4,10,8,10,11,10,4,5,-1,-1,-1,-1,10,11,4,10,4,5,11,3,4,9,4,1,3,1,4,-1,2,5,1,2,8,5,2,11,8,4,5,8,-1,-1,-1,-1,0,4,11,0,11,3,4,5,11,
+2,11,1,5,1,11,-1,0,2,5,0,5,9,2,11,5,4,5,8,11,8,5,-1,9,4,5,2,11,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,5,10,3,5,2,3,4,5,3,8,4,-1,-1,-1,-1,5,10,2,5,2,4,4,2,0,-1,-1,-1,-1,-1,-1,-1,3,10,2,3,5,10,3,8,5,4,5,8,0,1,9,-1,5,10,2,5,2,4,1,9,2,9,4,2,-1,-1,-1,-1,8,4,5,8,5,3,3,5,1,-1,-1,-1,-1,-1,-1,-1,0,4,5,1,0,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,8,4,5,8,5,3,9,0,5,0,3,5,-1,-1,-1,-1,9,4,5,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,11,7,4,9,11,9,10,11,-1,-1,-1,-1,-1,-1,-1,0,8,3,4,9,7,9,11,7,9,10,11,-1,-1,-1,-1,1,10,11,1,11,
+4,1,4,0,7,4,11,-1,-1,-1,-1,3,1,4,3,4,8,1,10,4,7,4,11,10,11,4,-1,4,11,7,9,11,4,9,2,11,9,1,2,-1,-1,-1,-1,9,7,4,9,11,7,9,1,11,2,11,1,0,8,3,-1,11,7,4,11,4,2,2,4,0,-1,-1,-1,-1,-1,-1,-1,11,7,4,11,4,2,8,3,4,3,2,4,-1,-1,-1,-1,2,9,10,2,7,9,2,3,7,7,4,9,-1,-1,-1,-1,9,10,7,9,7,4,10,2,7,8,7,0,2,0,7,-1,3,7,10,3,10,2,7,4,10,1,10,0,4,0,10,-1,1,10,2,8,7,4,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,7,1,3,-1,-1,-1,-1,-1,-1,-1,4,9,1,4,1,7,0,8,1,8,7,1,-1,-1,-1,-1,4,0,3,7,4,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,8,7,-1,-1,-1,
+-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,10,8,10,11,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,11,9,10,-1,-1,-1,-1,-1,-1,-1,0,1,10,0,10,8,8,10,11,-1,-1,-1,-1,-1,-1,-1,3,1,10,11,3,10,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,2,11,1,11,9,9,11,8,-1,-1,-1,-1,-1,-1,-1,3,0,9,3,9,11,1,2,9,2,11,9,-1,-1,-1,-1,0,2,11,8,0,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,2,11,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,10,8,9,-1,-1,-1,-1,-1,-1,-1,9,10,2,0,9,2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,3,8,2,8,10,0,1,8,1,10,8,-1,-1,-1,-1,1,10,
+2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,8,9,1,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,9,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,3,8,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]);
+THREE.Trident=function(b){function c(c){return new THREE.Mesh(new THREE.CylinderGeometry(30,0.1,b.length/20,b.length/5),new THREE.MeshBasicMaterial({color:c}))}function e(b,c){var e=new THREE.Geometry;e.vertices=[new THREE.Vertex,new THREE.Vertex(b)];return new THREE.Line(e,new THREE.LineBasicMaterial({color:c}))}THREE.Object3D.call(this);var f=Math.PI/2,h,b=b||THREE.Trident.defaultParams;if(b!==THREE.Trident.defaultParams)for(h in THREE.Trident.defaultParams)b.hasOwnProperty(h)||(b[h]=THREE.Trident.defaultParams[h]);
+this.scale=new THREE.Vector3(b.scale,b.scale,b.scale);this.addChild(e(new THREE.Vector3(b.length,0,0),b.xAxisColor));this.addChild(e(new THREE.Vector3(0,b.length,0),b.yAxisColor));this.addChild(e(new THREE.Vector3(0,0,b.length),b.zAxisColor));if(b.showArrows)h=c(b.xAxisColor),h.rotation.y=-f,h.position.x=b.length,this.addChild(h),h=c(b.yAxisColor),h.rotation.x=f,h.position.y=b.length,this.addChild(h),h=c(b.zAxisColor),h.rotation.y=Math.PI,h.position.z=b.length,this.addChild(h)};
+THREE.Trident.prototype=new THREE.Object3D;THREE.Trident.prototype.constructor=THREE.Trident;THREE.Trident.defaultParams={xAxisColor:16711680,yAxisColor:65280,zAxisColor:255,showArrows:!0,length:100,scale:1};THREE.PlaneCollider=function(b,c){this.point=b;this.normal=c};THREE.SphereCollider=function(b,c){this.center=b;this.radius=c;this.radiusSq=c*c};THREE.BoxCollider=function(b,c){this.min=b;this.max=c;this.dynamic=!0;this.normal=new THREE.Vector3};
+THREE.MeshCollider=function(b,c){this.mesh=b;this.box=c;this.numFaces=this.mesh.geometry.faces.length;this.normal=new THREE.Vector3};THREE.CollisionSystem=function(){this.collisionNormal=new THREE.Vector3;this.colliders=[];this.hits=[]};THREE.Collisions=new THREE.CollisionSystem;THREE.CollisionSystem.prototype.merge=function(b){this.colliders=this.colliders.concat(b.colliders);this.hits=this.hits.concat(b.hits)};
+THREE.CollisionSystem.prototype.rayCastAll=function(b){b.direction.normalize();this.hits.length=0;var c,e,f,h,m=0;c=0;for(e=this.colliders.length;c<e;c++)if(h=this.colliders[c],f=this.rayCast(b,h),f<Number.MAX_VALUE)h.distance=f,f>m?this.hits.push(h):this.hits.unshift(h),m=f;return this.hits};
+THREE.CollisionSystem.prototype.rayCastNearest=function(b){var c=this.rayCastAll(b);if(c.length==0)return null;for(var e=0;c[e]instanceof THREE.MeshCollider;){var f=this.rayMesh(b,c[e]);if(f.dist<Number.MAX_VALUE){c[e].distance=f.dist;c[e].faceIndex=f.faceIndex;break}e++}if(e>c.length)return null;return c[e]};
+THREE.CollisionSystem.prototype.rayCast=function(b,c){if(c instanceof THREE.PlaneCollider)return this.rayPlane(b,c);else if(c instanceof THREE.SphereCollider)return this.raySphere(b,c);else if(c instanceof THREE.BoxCollider)return this.rayBox(b,c);else if(c instanceof THREE.MeshCollider&&c.box)return this.rayBox(b,c.box)};
+THREE.CollisionSystem.prototype.rayMesh=function(b,c){for(var e=this.makeRayLocal(b,c.mesh),f=Number.MAX_VALUE,h,m=0;m<c.numFaces;m++){var k=c.mesh.geometry.faces[m],n=c.mesh.geometry.vertices[k.a].position,u=c.mesh.geometry.vertices[k.b].position,p=c.mesh.geometry.vertices[k.c].position,v=k instanceof THREE.Face4?c.mesh.geometry.vertices[k.d].position:null;k instanceof THREE.Face3?(k=this.rayTriangle(e,n,u,p,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize())):
+k instanceof THREE.Face4&&(k=this.rayTriangle(e,n,u,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()),k=this.rayTriangle(e,u,p,v,f,this.collisionNormal,c.mesh),k<f&&(f=k,h=m,c.normal.copy(this.collisionNormal),c.normal.normalize()))}return{dist:f,faceIndex:h}};
+THREE.CollisionSystem.prototype.rayTriangle=function(b,c,e,f,h,m,k){var n=THREE.CollisionSystem.__v1,u=THREE.CollisionSystem.__v2;m.set(0,0,0);n.sub(e,c);u.sub(f,e);m.cross(n,u);n=m.dot(b.direction);if(!(n<0))if(k.doubleSided||k.flipSided)m.multiplyScalar(-1),n*=-1;else return Number.MAX_VALUE;k=m.dot(c)-m.dot(b.origin);if(!(k<=0))return Number.MAX_VALUE;if(!(k>=n*h))return Number.MAX_VALUE;k/=n;n=THREE.CollisionSystem.__v3;n.copy(b.direction);n.multiplyScalar(k);n.addSelf(b.origin);Math.abs(m.x)>
+Math.abs(m.y)?Math.abs(m.x)>Math.abs(m.z)?(b=n.y-c.y,m=e.y-c.y,h=f.y-c.y,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y):Math.abs(m.y)>Math.abs(m.z)?(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.z-c.z,e=e.z-c.z,f=f.z-c.z):(b=n.x-c.x,m=e.x-c.x,h=f.x-c.x,n=n.y-c.y,e=e.y-c.y,f=f.y-c.y);c=m*f-e*h;if(c==0)return Number.MAX_VALUE;c=1/c;f=(b*f-n*h)*c;if(!(f>=0))return Number.MAX_VALUE;c*=m*n-e*b;if(!(c>=0))return Number.MAX_VALUE;if(!(1-f-c>=0))return Number.MAX_VALUE;return k};
+THREE.CollisionSystem.prototype.makeRayLocal=function(b,c){var e=THREE.CollisionSystem.__m;THREE.Matrix4.makeInvert(c.matrixWorld,e);var f=THREE.CollisionSystem.__r;f.origin.copy(b.origin);f.direction.copy(b.direction);e.multiplyVector3(f.origin);e.rotateAxis(f.direction);f.direction.normalize();return f};
+THREE.CollisionSystem.prototype.rayBox=function(b,c){var e;c.dynamic&&c.mesh&&c.mesh.matrixWorld?e=this.makeRayLocal(b,c.mesh):(e=THREE.CollisionSystem.__r,e.origin.copy(b.origin),e.direction.copy(b.direction));var f=0,h=0,m=0,k=0,n=0,u=0,p=!0;e.origin.x<c.min.x?(f=c.min.x-e.origin.x,f/=e.direction.x,p=!1,k=-1):e.origin.x>c.max.x&&(f=c.max.x-e.origin.x,f/=e.direction.x,p=!1,k=1);e.origin.y<c.min.y?(h=c.min.y-e.origin.y,h/=e.direction.y,p=!1,n=-1):e.origin.y>c.max.y&&(h=c.max.y-e.origin.y,h/=e.direction.y,
+p=!1,n=1);e.origin.z<c.min.z?(m=c.min.z-e.origin.z,m/=e.direction.z,p=!1,u=-1):e.origin.z>c.max.z&&(m=c.max.z-e.origin.z,m/=e.direction.z,p=!1,u=1);if(p)return-1;p=0;h>f&&(p=1,f=h);m>f&&(p=2,f=m);switch(p){case 0:n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(k,0,0);break;case 1:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;e=e.origin.z+e.direction.z*
+f;if(e<c.min.z||e>c.max.z)return Number.MAX_VALUE;c.normal.set(0,n,0);break;case 2:k=e.origin.x+e.direction.x*f;if(k<c.min.x||k>c.max.x)return Number.MAX_VALUE;n=e.origin.y+e.direction.y*f;if(n<c.min.y||n>c.max.y)return Number.MAX_VALUE;c.normal.set(0,0,u)}return f};THREE.CollisionSystem.prototype.rayPlane=function(b,c){var e=b.direction.dot(c.normal),f=c.point.dot(c.normal);if(e<0)e=(f-b.origin.dot(c.normal))/e;else return Number.MAX_VALUE;return e>0?e:Number.MAX_VALUE};
+THREE.CollisionSystem.prototype.raySphere=function(b,c){var e=c.center.clone().subSelf(b.origin);if(e.lengthSq<c.radiusSq)return-1;var f=e.dot(b.direction.clone());if(f<=0)return Number.MAX_VALUE;e=c.radiusSq-(e.lengthSq()-f*f);if(e>=0)return Math.abs(f)-Math.sqrt(e);return Number.MAX_VALUE};THREE.CollisionSystem.__v1=new THREE.Vector3;THREE.CollisionSystem.__v2=new THREE.Vector3;THREE.CollisionSystem.__v3=new THREE.Vector3;THREE.CollisionSystem.__nr=new THREE.Vector3;THREE.CollisionSystem.__m=new THREE.Matrix4;
+THREE.CollisionSystem.__r=new THREE.Ray;THREE.CollisionUtils={};THREE.CollisionUtils.MeshOBB=function(b){b.geometry.computeBoundingBox();var c=b.geometry.boundingBox,e=new THREE.Vector3(c.x[0],c.y[0],c.z[0]),c=new THREE.Vector3(c.x[1],c.y[1],c.z[1]),e=new THREE.BoxCollider(e,c);e.mesh=b;return e};THREE.CollisionUtils.MeshAABB=function(b){var c=THREE.CollisionUtils.MeshOBB(b);c.min.addSelf(b.position);c.max.addSelf(b.position);c.dynamic=!1;return c};
+THREE.CollisionUtils.MeshColliderWBox=function(b){return new THREE.MeshCollider(b,THREE.CollisionUtils.MeshOBB(b))};
+if(THREE.WebGLRenderer)THREE.AnaglyphWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);var c=this,e=this.setSize,f=this.render,h=new THREE.Camera,m=new THREE.Camera,k=new THREE.Matrix4,n=new THREE.Matrix4,u,p,v;h.useTarget=m.useTarget=!1;h.matrixAutoUpdate=m.matrixAutoUpdate=!1;var b={minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter,format:THREE.RGBAFormat},t=new THREE.WebGLRenderTarget(512,512,b),x=new THREE.WebGLRenderTarget(512,512,b),w=new THREE.Camera(53,1,1,1E4);w.position.z=
+2;_material=new THREE.MeshShaderMaterial({uniforms:{mapLeft:{type:"t",value:0,texture:t},mapRight:{type:"t",value:1,texture:x}},vertexShader:"varying vec2 vUv;\nvoid main() {\nvUv = vec2( uv.x, 1.0 - uv.y );\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D mapLeft;\nuniform sampler2D mapRight;\nvarying vec2 vUv;\nvoid main() {\nvec4 colorL, colorR;\nvec2 uv = vUv;\ncolorL = texture2D( mapLeft, uv );\ncolorR = texture2D( mapRight, uv );\ngl_FragColor = vec4( colorL.g * 0.7 + colorL.b * 0.3, colorR.g, colorR.b, colorL.a + colorR.a ) * 1.1;\n}"});
+var z=new THREE.Scene;z.addObject(new THREE.Mesh(new THREE.PlaneGeometry(2,2),_material));this.setSize=function(b,f){e.call(c,b,f);t.width=b;t.height=f;x.width=b;x.height=f};this.render=function(b,e){e.update(null,!0);if(u!==e.aspect||p!==e.near||v!==e.fov){u=e.aspect;p=e.near;v=e.fov;var D=e.projectionMatrix.clone(),G=125/30*0.5,H=G*p/125,E=p*Math.tan(v*Math.PI/360),N;k.n14=G;n.n14=-G;G=-E*u+H;N=E*u+H;D.n11=2*p/(N-G);D.n13=(N+G)/(N-G);h.projectionMatrix=D.clone();G=-E*u-H;N=E*u-H;D.n11=2*p/(N-G);
+D.n13=(N+G)/(N-G);m.projectionMatrix=D.clone()}h.matrix=e.matrixWorld.clone().multiplySelf(n);h.update(null,!0);h.position.copy(e.position);h.near=p;h.far=e.far;f.call(c,b,h,t,!0);m.matrix=e.matrixWorld.clone().multiplySelf(k);m.update(null,!0);m.position.copy(e.position);m.near=p;m.far=e.far;f.call(c,b,m,x,!0);f.call(c,z,w)}};
+if(THREE.WebGLRenderer)THREE.CrosseyedWebGLRenderer=function(b){THREE.WebGLRenderer.call(this,b);this.autoClear=!1;var c=this,e=this.setSize,f=this.render,h,m,k=new THREE.Camera,n=new THREE.Camera;c.separation=10;if(b&&b.separation!==void 0)c.separation=b.separation;(new THREE.Camera(53,window.innerWidth/2/window.innerHeight,1,1E4)).position.z=-10;this.setSize=function(b,f){e.call(c,b,f);h=b/2;m=f};this.render=function(b,e){this.clear();k.fov=e.fov;k.aspect=0.5*e.aspect;k.near=e.near;k.far=e.far;
+k.updateProjectionMatrix();k.position.copy(e.position);k.target.position.copy(e.target.position);k.translateX(c.separation);n.projectionMatrix=k.projectionMatrix;n.position.copy(e.position);n.target.position.copy(e.target.position);n.translateX(-c.separation);this.setViewport(0,0,h,m);f.call(c,b,k);this.setViewport(h,0,h,m);f.call(c,b,n,!1)}};
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/a-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/a-green.css
new file mode 100644
index 00000000000..b0dbb071d5b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/a-green.css
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/animations.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/animations.css
new file mode 100644
index 00000000000..44e3ad9cbde
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/animations.css
@@ -0,0 +1,80 @@
+/* Duration classes */
+
+.once {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: 1;
+}
+
+.infinite {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+}
+
+.infinite-reversed {
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+.fast {
+ animation-duration: 0.5s;
+}
+
+/* Animation declarations */
+
+@keyframes pulse {
+ from {
+ opacity: 1;
+ }
+ to {
+ opacity: 0.25;
+ }
+}
+
+@keyframes spin {
+ from {
+ transform: rotateY(0);
+ }
+ to {
+ transform: rotateY(360deg);
+ }
+}
+
+@keyframes rotate {
+ from {
+ transform: rotateZ(45deg);
+ }
+ to {
+ transform: rotateZ(405deg);
+ }
+}
+
+@keyframes slant {
+ from {
+ transform: rotate3d(0.23, 1.2, 0.83, 40deg);
+ }
+ to {
+ transform: rotate3d(1, 0.75, 1.3, 240deg);
+ }
+}
+
+/* Animation classes */
+
+.pulse {
+ animation-name: pulse;
+}
+
+.spin {
+ animation-name: spin;
+}
+
+.rotate {
+ animation-name: rotate;
+}
+
+.slant {
+ animation-name: slant;
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/b-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/b-green.css
new file mode 100644
index 00000000000..a0473f5ca26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/b-green.css
@@ -0,0 +1 @@
+.b { color: green; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.mp4 b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.mp4
new file mode 100644
index 00000000000..0512bb92cdc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.mp4
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.ogv b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.ogv
new file mode 100644
index 00000000000..4f964f107c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.ogv
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.webm b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.webm
new file mode 100644
index 00000000000..7f75126a881
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/big-buck-bunny-240p.webm
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/c-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/c-red.css
new file mode 100644
index 00000000000..d4ba5c64e95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/c-red.css
@@ -0,0 +1 @@
+.c { color: red; } \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/cat.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/cat.png
new file mode 100644
index 00000000000..85dd7324815
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/cat.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-green.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-green.css
new file mode 100644
index 00000000000..537104e6633
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-green.css
@@ -0,0 +1 @@
+.import { color: green; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-red.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-red.css
new file mode 100644
index 00000000000..9945ef47114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/import-red.css
@@ -0,0 +1 @@
+.import { color: red; }
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-gg-gr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-gg-gr.png
new file mode 100644
index 00000000000..a6d65b0d4a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-gg-gr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rgr-grg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rgr-grg.png
new file mode 100644
index 00000000000..9b88fbd8114
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rgr-grg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rrg-rgg.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rrg-rgg.png
new file mode 100644
index 00000000000..fcf4f3fd7d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-grg-rrg-rgg.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-rgr-grg-rgr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-rgr-grg-rgr.png
new file mode 100644
index 00000000000..d454e3a630c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-rgr-grg-rgr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-tr.png
new file mode 100644
index 00000000000..8b4b25364e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/pattern-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50%.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50%.png
new file mode 100644
index 00000000000..cf2eea6b438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50%.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50px.png
new file mode 100644
index 00000000000..9f46583665c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-h-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-100px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-100px.png
new file mode 100644
index 00000000000..a837eca2225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-100px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-50px.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-50px.png
new file mode 100644
index 00000000000..84141028020
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/ruler-v-50px.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-purple.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-purple.png
new file mode 100644
index 00000000000..0f522d78728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-purple.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-teal.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-teal.png
new file mode 100644
index 00000000000..e567f51b91b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-teal.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-white.png
new file mode 100644
index 00000000000..5853cbb238c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/square-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/static-cube.js b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/static-cube.js
new file mode 100644
index 00000000000..10b045301c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/static-cube.js
@@ -0,0 +1,52 @@
+// This source is the javascript needed to build a simple moving
+// cube in **three.js** based on this
+// [example](https://raw.github.com/mrdoob/three.js/r44/examples/canvas_geometry_cube.html)
+// It is the source about this [blog post](/blog/2011/08/06/lets-do-a-cube/).
+
+// ## Now lets start
+
+// declare a bunch of variable we will need later
+var container;
+var camera, scene, renderer;
+var cube;
+
+// ## Initialize everything
+function init() {
+ // create the camera
+ camera = new THREE.Camera( 70, 4/3, 100, 1000 );
+ camera.position.z = 350;
+
+ // create the Scene
+ scene = new THREE.Scene();
+
+ // create the Cube
+ cube = new THREE.Mesh( new THREE.CubeGeometry( 200, 200, 200 ), new THREE.MeshNormalMaterial() );
+
+ // add the object to the scene
+ scene.addObject( cube );
+
+ // create the container element
+ container = document.querySelector("#container");
+
+ // init the WebGL renderer and append it to the Dom
+ renderer = new THREE.WebGLRenderer();
+ renderer.setSize( container.getBoundingClientRect().width, container.getBoundingClientRect().height );
+ container.appendChild( renderer.domElement );
+}
+
+
+// ## Render the 3D Scene
+function render() {
+ // animate the cube
+ cube.rotation.x = 0.5;
+ cube.rotation.y = 0.8;
+ cube.rotation.z = 0.2;
+
+ // actually display the scene in the DOM element
+ renderer.render( scene, camera );
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ init();
+ render();
+}) \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/support/README b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/support/README
new file mode 100644
index 00000000000..ea8cb9ef357
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/support/README
@@ -0,0 +1,4 @@
+The swatch-green.png file in this directory is really a RED swatch,
+and the swatch-red.png file is really a green swatch.
+
+This directory is used to test relative URIs. \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/svg-external-styles.css b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/svg-external-styles.css
new file mode 100644
index 00000000000..22978f89b04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/svg-external-styles.css
@@ -0,0 +1,19 @@
+.rotate {
+ transform: rotate(90deg);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+}
+
+.translateY {
+ transform: translateY(-100px);
+}
+
+.invalid {
+ transform: scale(invalid);
+}
+
+.rotate-3-args {
+ transform: rotate(90deg,20px,20px);
+} \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-blue.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-blue.png
new file mode 100644
index 00000000000..bf2759634d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-blue.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-green.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-green.png
new file mode 100644
index 00000000000..0aa79b0c86b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-green.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-lime.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-lime.png
new file mode 100644
index 00000000000..55fd7fdaedf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-lime.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-orange.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-orange.png
new file mode 100644
index 00000000000..d3cd498b52b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-orange.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-red.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-red.png
new file mode 100644
index 00000000000..1caf25c992a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-red.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-white.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-white.png
new file mode 100644
index 00000000000..1a7d4323d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-white.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-yellow.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-yellow.png
new file mode 100644
index 00000000000..1591aa0e2e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/swatch-yellow.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-bl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-bl.png
new file mode 100644
index 00000000000..904e24e996a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-bl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-br.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-br.png
new file mode 100644
index 00000000000..f413ff5c1a0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-br.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-inner-half-size.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-inner-half-size.png
new file mode 100644
index 00000000000..e473bf80efc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-inner-half-size.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-outer.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-outer.png
new file mode 100644
index 00000000000..82eeace7fc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-outer.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tl.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tl.png
new file mode 100644
index 00000000000..f6ac0ef7e8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tl.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tr.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tr.png
new file mode 100644
index 00000000000..59843ae54b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/test-tr.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-iframe-001-contents.html b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-iframe-001-contents.html
new file mode 100644
index 00000000000..deb104be2f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-iframe-001-contents.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html><head>
+ <title>CSS Test (Transforms): Iframe (contents)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert">
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor">
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ height: 200px;
+ width: 200px;
+ background: red;
+ transform: translate(500px, 500px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.png b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.png
new file mode 100644
index 00000000000..8f939993332
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.png
Binary files differ
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.svg
new file mode 100644
index 00000000000..8f759c959c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-lime-square.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<rect fill="lime" height="100" width="100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-down.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-down.svg
new file mode 100644
index 00000000000..5fb4ad826b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-down.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 100,0 50,100"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left-small.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left-small.svg
new file mode 100644
index 00000000000..855b566133c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left-small.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="50px" width="50px" viewBox="0 0 50 50">
+<polygon fill="blue" points="0,25 50,50 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left.svg
new file mode 100644
index 00000000000..48c24e1d9e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-left.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,50 100,100 100,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-right.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-right.svg
new file mode 100644
index 00000000000..dd056a9ff78
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-right.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,0 0,100 100,50"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-up.svg b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-up.svg
new file mode 100644
index 00000000000..b3cecc986df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/support/transform-triangle-up.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="100px" width="100px" viewBox="0 0 100 100">
+<polygon fill="blue" points="0,100 100,100 50,0"/>
+</svg> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-001.xht
new file mode 100644
index 00000000000..b590f6ab531
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-002.xht
new file mode 100644
index 00000000000..b6279adb330
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-002.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: translateY(-100px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="scale(0.5)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-003.xht
new file mode 100644
index 00000000000..f2e2598b895
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-003.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-004.xht
new file mode 100644
index 00000000000..44e638c1c62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-004.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Document transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document transform styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: rotate(90deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(0.5)" class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-005.xht
new file mode 100644
index 00000000000..7daffacd655
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-005.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid document transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-006.xht
new file mode 100644
index 00000000000..579a268f070
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-006.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid document transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="translateY(-100)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-007.xht
new file mode 100644
index 00000000000..a1f35e3993b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-007.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" y="-100" class="testRect" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-008.xht
new file mode 100644
index 00000000000..bdf34e322a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-008.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="scale(invalid)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-009.xht
new file mode 100644
index 00000000000..991a60f581d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-009.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="testGroup">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-010.xht
new file mode 100644
index 00000000000..8bc46875645
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-010.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)" class="testGroup">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-011.xht
new file mode 100644
index 00000000000..c1daa121753
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-011.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid document transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ g.testGroup {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(invalid)" class="testGroup">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-012.xht
new file mode 100644
index 00000000000..e35c35d5fdb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-012.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Document style of rotate with three arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Document style of rotate with three arguments on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: rotate(90deg,20px,20px);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="testRect" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-013.xht
new file mode 100644
index 00000000000..a3682f79b60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-013.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid document style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid document styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="testRect" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-014.xht
new file mode 100644
index 00000000000..af312ec1442
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-document-styles-014.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Invalid document and presentation attribute styles on an SVG element using rotate with three arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-document-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the document and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ rect.testRect {
+ transform: scale(invalid);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="rotate(90deg,invalid,invalid)" fill="url(#grad)" class="testRect" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-001.xht
new file mode 100644
index 00000000000..7f25c0127d3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-001.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="rotate" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-002.xht
new file mode 100644
index 00000000000..95ce2788b6d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-002.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="scale(0.5)" fill="url(#grad)" class="translateY" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-003.xht
new file mode 100644
index 00000000000..7fbc4f9beed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-003.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="rotate">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-004.xht
new file mode 100644
index 00000000000..3bfcbbbfe56
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-004.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: External transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="External styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(0.5)" class="rotate">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-005.xht
new file mode 100644
index 00000000000..a80b8f07e37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-005.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid external transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" class="invalid" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-006.xht
new file mode 100644
index 00000000000..deb5dd9130b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-006.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid external transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" transform="translateY(-100)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-007.xht
new file mode 100644
index 00000000000..c287fa6df71
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-007.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" y="-100" class="invalid" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-008.xht
new file mode 100644
index 00000000000..0632c68e534
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-008.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="scale(invalid)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-009.xht
new file mode 100644
index 00000000000..5c13c4d8348
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-009.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g class="invalid">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-010.xht
new file mode 100644
index 00000000000..9dd58005baf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-010.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)" class="invalid">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-011.xht
new file mode 100644
index 00000000000..2cbf12d4a85
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid external transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="scale(invalid)" class="invalid">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-012.xht
new file mode 100644
index 00000000000..94be10fa830
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-012.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: External style of rotate with three arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Rotate with three arguments external style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="rotate-3-args" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-013.xht
new file mode 100644
index 00000000000..c0a3afad159
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-013.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid external style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid external styles on SVG elements should fall back to presentation attributes styles of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-60" class="invalid" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-014.xht
new file mode 100644
index 00000000000..9a147da6576
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-external-styles-014.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Invalid external and presentation attribute styles on an SVG element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-external-styles-ref.xht" rel="match" />
+ <link href="support/svg-external-styles.css" rel="stylesheet" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the external and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" transform="rotate(90deg,)" fill="url(#grad)" class="invalid" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-001.xht
new file mode 100644
index 00000000000..b2463422a2e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(50)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-002.xht
new file mode 100644
index 00000000000..f850f71300d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-002.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(25px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-003.xht
new file mode 100644
index 00000000000..9009a4188de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-003.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(18.75pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-004.xht
new file mode 100644
index 00000000000..2e238102998
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-004.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1.5625pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-005.xht
new file mode 100644
index 00000000000..334c3787a09
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-005.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(6.614583333mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-006.xht
new file mode 100644
index 00000000000..9f1b8c4904e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-006.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.661458333cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-007.xht
new file mode 100644
index 00000000000..789dfe01498
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-007.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.260416667in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-008.xht
new file mode 100644
index 00000000000..ad552469a62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-008.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-009.xht
new file mode 100644
index 00000000000..ae5bfebe9fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-009.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.5e1)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-010.xht
new file mode 100644
index 00000000000..1f8d4bf38f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.5e1px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-011.xht
new file mode 100644
index 00000000000..3755cb039e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(1.875e1pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-012.xht
new file mode 100644
index 00000000000..08527d80f49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.15625e1pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-013.xht
new file mode 100644
index 00000000000..6b3c51a9b35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-013.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.6614583333e1mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-014.xht
new file mode 100644
index 00000000000..09e9449e075
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.0661458333e1cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-015.xht
new file mode 100644
index 00000000000..0fe920e6a75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-015.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.0260416667e1in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-016.xht
new file mode 100644
index 00000000000..68ad3eab4d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-016.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.1e1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-017.xht
new file mode 100644
index 00000000000..d4340f1f857
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-017.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(250e-1)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-018.xht
new file mode 100644
index 00000000000..eda2fb931cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-018.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(250e-1px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-019.xht
new file mode 100644
index 00000000000..4a5a12b64ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-019.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(187.5e-1pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-020.xht
new file mode 100644
index 00000000000..c22d489a536
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-020.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(15.625e-1pc)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-021.xht
new file mode 100644
index 00000000000..adec239f7bf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-021.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(66.14583333e-1mm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-022.xht
new file mode 100644
index 00000000000..debec239480
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-022.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(6.61458333e-1cm)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-023.xht
new file mode 100644
index 00000000000..757b1c617aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-023.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.60416667e-1in)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-024.xht
new file mode 100644
index 00000000000..afb14c5ee04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-024.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(10e-1em)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-025.xht
new file mode 100644
index 00000000000..f06107c2751
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-025.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative unit less arguments for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-026.xht
new file mode 100644
index 00000000000..dcd4e49eb11
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-026.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-027.xht
new file mode 100644
index 00000000000..a2aa8602a1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-027.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-18.75pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-028.xht
new file mode 100644
index 00000000000..dc4a419fec5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-028.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1.5625pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-029.xht
new file mode 100644
index 00000000000..52e0dd4efea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-029.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-6.614583333mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-030.xht
new file mode 100644
index 00000000000..3c6be3208b5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-030.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.661458333cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-031.xht
new file mode 100644
index 00000000000..f955df593bf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-031.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.260416667in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-032.xht
new file mode 100644
index 00000000000..abd7b17af4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-032.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-033.xht
new file mode 100644
index 00000000000..03626801a32
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-033.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.5e1)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-034.xht
new file mode 100644
index 00000000000..2172dcfb9d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-034.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.5e1px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-035.xht
new file mode 100644
index 00000000000..9fb5ab7da7f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-035.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-1.875e1pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-036.xht
new file mode 100644
index 00000000000..4da76b861e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-036.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.15625e1pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-037.xht
new file mode 100644
index 00000000000..981430b02a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-037.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.6614583333e1mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-038.xht
new file mode 100644
index 00000000000..ab8a8236766
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-038.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.0661458333e1cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-039.xht
new file mode 100644
index 00000000000..a949d89c9f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-039.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.0260416667e1in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-040.xht
new file mode 100644
index 00000000000..6c279355164
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-040.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.1e1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-041.xht
new file mode 100644
index 00000000000..379eedf066e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-041.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-250e-1)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-042.xht
new file mode 100644
index 00000000000..883c86c5dc3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-042.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-250e-1px)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-043.xht
new file mode 100644
index 00000000000..74bcc2f033c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-043.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-187.5e-1pt)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-044.xht
new file mode 100644
index 00000000000..49678242023
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-044.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-15.625e-1pc)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-045.xht
new file mode 100644
index 00000000000..0ccd4db0338
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-045.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-66.14583333e-1mm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-046.xht
new file mode 100644
index 00000000000..b3d9ff8872e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-046.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-6.61458333e-1cm)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-047.xht
new file mode 100644
index 00000000000..5b199fea56c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-047.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.60416667e-1in)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-048.xht
new file mode 100644
index 00000000000..de56cd7e1f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-048.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-10e-1em)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-049.xht
new file mode 100644
index 00000000000..6386ded81ae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-049.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG transform presentation attribute on the gradient element - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-transform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute does not support the transform presentation attribute. The gradient in the test should not be moved." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar to the left of a vertical yellow bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" transform="translateX(50px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-001.xht
new file mode 100644
index 00000000000..8fc9f14f380
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support multiple transform functions the same element. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient gradientUnits="userSpaceOnUse" gradientTransform="translateX(50px) translateX(50px)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-002.xht
new file mode 100644
index 00000000000..92f649a9ffe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-002.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support multiple transform functions on the same element with different translation-value units. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient gradientUnits="userSpaceOnUse" gradientTransform="translateX(50px) translateX(37.5pt)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-003.xht
new file mode 100644
index 00000000000..811b022485f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-combination-003.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support multiple transform functions in both directions. The gradient in the test should be moved 100 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient gradientTransform="translateX(150) translateX(-50)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="200" height="200" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-001.xht
new file mode 100644
index 00000000000..d39bf83ae5a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(2.2ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-002.xht
new file mode 100644
index 00000000000..ea9c10cf491
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(0.22e1ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-003.xht
new file mode 100644
index 00000000000..50f16c80d52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(22e-1ex)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="red" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-004.xht
new file mode 100644
index 00000000000..7b3e93e713e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-004.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-2.2ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-005.xht
new file mode 100644
index 00000000000..74f85d3e245
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-005.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-0.22e1ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-006.xht
new file mode 100644
index 00000000000..5e138494041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-ex-unit-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The gradientTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The gradient in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-22e-1ex)" id="grad">
+ <stop stop-color="red" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-001.xht
new file mode 100644
index 00000000000..17fcf5e074a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with percentage unit on translateX - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(25%)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="blue" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-002.xht
new file mode 100644
index 00000000000..14046a28d26
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-002.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute and translation-value argument with negative percentage unit on translateX - has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be moved." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient y1="0%" x1="0%" gradientTransform="translateX(-25%)" id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="blue" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-003.xht
new file mode 100644
index 00000000000..04e70f963b7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-gradientTransform-relative-003.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG gradientTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-gradientTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in gradientTransform functions should have no affect. The gradient in the test should be not be translated but should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green bar next to a vertical blue bar.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <linearGradient x2="0%" y2="100%" gradientTransform="rotate(90, 0.5, 0.5) translateX(25%)" id="grad">
+ <stop stop-color="blue" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="0" width="100" height="100" x="0" fill="url(#grad)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-001.xht
new file mode 100644
index 00000000000..6d10efe8b67
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: rotate(90)" y="-100" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-002.xht
new file mode 100644
index 00000000000..107a93974e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG child element with presentation attribute styles on the parent and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG elements should override presentation attribute styles on the same element. Presentation attribute styles on its parent should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels, and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: translateY(-100)" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-003.xht
new file mode 100644
index 00000000000..189823bfd0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG group element and presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG group elements should be pre-multipled on the child elements. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: rotate(90)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-004.xht
new file mode 100644
index 00000000000..acca805c484
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-004.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Inline transform style on SVG group element and presentation attribute style on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Inline styles on SVG group elements override presentation attribute styles on the same element. Presentation attribute styles on child elements should be post-multiplied. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: rotate(90)" transform="scale(0.5)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-005.xht
new file mode 100644
index 00000000000..4df5fd94f93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute style of SVG element with invalid inline transform style</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" y="-100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-006.xht
new file mode 100644
index 00000000000..b6d92e58947
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Fall back to presentation attribute styles of SVG element with invalid inline transform style and presentation attribute style on group</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline transform styles on SVG elements should fall back to presentation attributes styles on the same element. The rect in the test should be rotated by 90 degrees clockwise and moved up 100 pixels." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-007.xht
new file mode 100644
index 00000000000..ea6814dbb7e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style on SVG child element with valid presentation attribute style on group and invalid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles on an element are invalid, no transform should be applied. However, valid presentation attribute styles on the group should still be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g transform="rotate(90)">
+ <rect width="100" style="transform: scale(invalid)" y="-100" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-008.xht
new file mode 100644
index 00000000000..076ec8e991a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline and presentation attribute styles on an SVG element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or flipped" name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="scale(invalid)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-009.xht
new file mode 100644
index 00000000000..8c27a0f9619
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-009.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style on SVG group with valid presentation attribute style on child element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline styles on group elements should not be applied, but valid presentation attribute styles on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-010.xht
new file mode 100644
index 00000000000..91785861087
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-010.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style on SVG group with valid presentation attribute styles on group and child elements</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline transform styles on group elements should fall back to presentation attribute styles on the same element. Presentation attribute styles on the child should also be applied. The rect in the test should be rotated by 90 degrees clockwise, moved up 100 pixels and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)" transform="rotate(90)">
+ <rect width="100" fill="url(#grad)" transform="translateY(-100)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-011.xht
new file mode 100644
index 00000000000..2fe45440618
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-011.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: Invalid inline transform style and invalid presentation attribute style on SVG group and valid presentation attribute style on child</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles on a group are invalid, no transform should be applied. However, the valid presentation attribute style on the child should be applied. The rect in the test should be rotated by 90 degrees clockwise and not scaled down or flipped." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <g style="transform: scale(invalid)" transform="scale(invalid)">
+ <rect y="-100" width="100" fill="url(#grad)" transform="rotate(90)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-012.xht
new file mode 100644
index 00000000000..893755ef7f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Inline style of rotate with 3 arguments on SVG element with presentation attribute style on the same element</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Rotate with three arguments inline style on SVG elements should override presentation attribute styles on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions and not scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: rotate(90,20px,20px)" y="-60" fill="url(#grad)" transform="scale(0.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-013.xht
new file mode 100644
index 00000000000..5d5d68167b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-013.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Fall back to presentation attribute style of rotate with three arguments of SVG element with invalid inline style</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Invalid inline styles on SVG elements should fall back to presentation attributes style of rotate with three arguments on the same element. The rect in the test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="yellow" offset="50%"></stop>
+ <stop stop-color="green" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" y="-60" fill="url(#grad)" transform="rotate(90,20px,20px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-014.xht
new file mode 100644
index 00000000000..1d7f35aa572
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-inline-styles-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Invalid inline and presentation attribute styles on an SVG element using rotate with three arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-attribute-specificity" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-inline-styles-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="When both the inline and presentation attribute styles are invalid, no transform should be applied. The rect in the test should not be scaled down or rotated" name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical green stripe to the left of a yellow vertical stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient id="grad">
+ <stop stop-color="green" offset="50%"></stop>
+ <stop stop-color="yellow" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" style="transform: scale(invalid)" fill="url(#grad)" transform="rotate(90deg,invalid,invalid)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-001.xht
new file mode 100644
index 00000000000..311aac978d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-001.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally only: 2 0 0 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="blue" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 1 0 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-002.xht
new file mode 100644
index 00000000000..a6215a32197
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally only: 0.5 0 0 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="yellow" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="blue" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 1 0 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-003.xht
new file mode 100644
index 00000000000..07b0ba0e4b4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up vertically only: 1 0 0 2 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="blue" x="50" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 2 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-004.xht
new file mode 100644
index 00000000000..295e1908cf0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-004.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down vertically only: 1 0 0 0.5 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="blue" x="50" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 0.5 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-005.xht
new file mode 100644
index 00000000000..8498026f2df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-005.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling up horizontally: -2 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 600px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="fuchsia" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="yellow" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-006.xht
new file mode 100644
index 00000000000..0c79b58ff44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling down horizontally: -0.5 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="fuchsia" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="yellow" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-007.xht
new file mode 100644
index 00000000000..b18f0e146c4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling up vertically: 1 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="fuchsia" x="50" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-008.xht
new file mode 100644
index 00000000000..70cefa3c882
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-008.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling down vertically: 1 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="fuchsia" x="50" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-009.xht
new file mode 100644
index 00000000000..b34227d038d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-009.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 0.2e1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="blue" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(0.2e1 0 0 0.2e1 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-010.xht
new file mode 100644
index 00000000000..e24285848d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-010.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling up horizontally and vertically with scientific numbers: -0.2e1 0 0 -0.2e1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="yellow" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="fuchsia" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-0.2e1 0 0 -0.2e1 100 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-011.xht
new file mode 100644
index 00000000000..a4685b8a41a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-011.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally and vertically in scientific numbers with negative exponents: 5e-1 0 0 5e-1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="blue" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(5e-1 0 0 5e-1 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-012.xht
new file mode 100644
index 00000000000..e63a90ad664
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-012.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling down horizontally and vertically with scientific numbers with negative exponents: -5e-1 0 0 -5e-1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-5e-1 0 0 -5e-1 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-013.xht
new file mode 100644
index 00000000000..8837c658e47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-013.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling up horizontally and down vertically: 2 0 0 0.5 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="yellow" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="blue" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 0.5 0 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-014.xht
new file mode 100644
index 00000000000..2b44ff7f2fc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-014.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix scaling down horizontally and up vertically: 0.5 0 0 2 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="green" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="yellow" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="blue" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 2 0 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-015.xht
new file mode 100644
index 00000000000..d5e7315d6db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-015.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling up horizontally and down vertically: -2 0 0 -0.5 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="yellow" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="green" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-016.xht
new file mode 100644
index 00000000000..a88f6c55fea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-016.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and left and scaling down horizontally and up vertically: -0.5 0 0 -2 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="fuchsia" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="green" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -2 100 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-017.xht
new file mode 100644
index 00000000000..083b5af6808
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-017.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling up horizontally and vertically: 2 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="25" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="fuchsia" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-018.xht
new file mode 100644
index 00000000000..72d1b09a1ed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-018.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping up and scaling down horizontally and vertically: 0.5 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-019.xht
new file mode 100644
index 00000000000..1d681a06196
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-019.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix flipping left and scaling down horizontally and vertically: -0.5 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="100"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-020.xht
new file mode 100644
index 00000000000..9eeac89aa7e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-020.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling up horizontally and down vertically: 2 0 0 -0.5 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="25" fill="yellow" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="green" x="0" height="100"></rect>
+ <rect y="100" width="25" fill="fuchsia" x="25" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -0.5 0 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-021.xht
new file mode 100644
index 00000000000..b21aa1c166c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-021.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up horizontally and down vertically: -2 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally and down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="25" fill="yellow" x="25" height="100"></rect>
+ <rect y="100" width="25" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="100"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-022.xht
new file mode 100644
index 00000000000..b8d869544a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-022.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling down horizontally and up vertically: 0.5 0 0 -2 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="100" fill="yellow" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="100" fill="fuchsia" x="100" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -2 0 100)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-023.xht
new file mode 100644
index 00000000000..93575eaa8e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-023.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling down horizontally and up vertically: -0.5 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled down horizontally and up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="100" fill="yellow" x="100" height="25"></rect>
+ <rect y="25" width="100" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="100" fill="green" x="100" height="25"></rect>
+ <rect y="0" width="100" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-024.xht
new file mode 100644
index 00000000000..a01cf4d3198
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-024.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up horizontally and vertically: -2 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and scaled up horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="25" fill="yellow" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="0" width="25" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-025.xht
new file mode 100644
index 00000000000..1f825bec1e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-025.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left: -1 0 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="yellow" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="blue" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 1 100 0)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-026.xht
new file mode 100644
index 00000000000..8fca87cd59a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-026.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up: 1 0 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="fuchsia" x="50" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(1 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-027.xht
new file mode 100644
index 00000000000..4b398ec388c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-027.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and up: -1 0 0 0 -1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and up." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="50" fill="yellow" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -1 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-028.xht
new file mode 100644
index 00000000000..c729aba1546
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-028.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling up horizontally: 2 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="25" fill="blue" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="fuchsia" x="25" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(2 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-029.xht
new file mode 100644
index 00000000000..5b560d39bbb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-029.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling up horizontally with scientific numbers: -2 0 0 -1 10e1 10e1</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be flipped up and left and scaled up horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="25" fill="yellow" x="25" height="50"></rect>
+ <rect y="0" width="25" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="25" fill="green" x="25" height="50"></rect>
+ <rect y="50" width="25" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="50" fill="url(#coloredBoxes)" transform="matrix(-2 0 0 -1 10e1 10e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-030.xht
new file mode 100644
index 00000000000..7dd77f5d4b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-030.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and scaling down horizontally: 0.5 0 0 -1 0 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and scaled down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="100" fill="blue" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="fuchsia" x="100" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 -1 0 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-031.xht
new file mode 100644
index 00000000000..6282a9d8baa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-031.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling down horizontally: -0.5 0 0 -1 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="0" width="100" fill="yellow" x="100" height="50"></rect>
+ <rect y="0" width="100" fill="blue" x="0" height="50"></rect>
+ <rect y="50" width="100" fill="green" x="100" height="50"></rect>
+ <rect y="50" width="100" fill="fuchsia" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -1 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-032.xht
new file mode 100644
index 00000000000..0de430dfd89
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-032.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling up vertically: -1 0 0 2 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="25" width="50" fill="yellow" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="blue" x="0" height="25"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="25"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 2 100 0)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-033.xht
new file mode 100644
index 00000000000..f44245b19be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-033.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left and scaling up vertically with scientific numbers with negative exponents: -1 0 0 -2 1000e-1 1000e-1</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped up and left scaled up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="50">
+ <rect y="0" width="50" fill="yellow" x="50" height="25"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="25"></rect>
+ <rect y="25" width="50" fill="green" x="50" height="25"></rect>
+ <rect y="25" width="50" fill="fuchsia" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -2 1000e-1 1000e-1)" height="50"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-034.xht
new file mode 100644
index 00000000000..5dcd977ef1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-034.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and scaling down vertically: -1 0 0 0.5 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="50" fill="yellow" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="100"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 0.5 100 0)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-035.xht
new file mode 100644
index 00000000000..59c6240b459
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-035.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left and up and scaling down vertically: -1 0 0 -0.5 100 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped left and up scaled down vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="50" fill="yellow" x="50" height="100"></rect>
+ <rect y="0" width="50" fill="blue" x="0" height="100"></rect>
+ <rect y="100" width="50" fill="green" x="50" height="100"></rect>
+ <rect y="100" width="50" fill="fuchsia" x="0" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-1 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-036.xht
new file mode 100644
index 00000000000..22733cb3898
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-036.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing right: 1 0 1 1 0 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should skewed right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0 1 1 0 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-037.xht
new file mode 100644
index 00000000000..32046e2c25c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-037.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down: 1 1 0 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should skewed down horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 1 0 1 100 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-038.xht
new file mode 100644
index 00000000000..6b8dd893bdd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-038.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing left: 1 0 -1 100 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed left horinzontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0 -1 1 100 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-039.xht
new file mode 100644
index 00000000000..2a0240ce7b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-039.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up: 1 -1 0 1 50 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed up vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -1 0 1 50 100)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-040.xht
new file mode 100644
index 00000000000..441ab58c81b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-040.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up and left with scientific numbers: 1 -0.05e1 -0.05e1 1 100 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be skewed up vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -0.05e1 -0.05e1 1 100 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-041.xht
new file mode 100644
index 00000000000..acb3ee2d6b8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-041.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down and right with scientific numbers: 1 0.05e1 0.05e1 1 50 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers. The rect in the test should be skewed down vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0.05e1 0.05e1 1 50 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-042.xht
new file mode 100644
index 00000000000..46137a8f457
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-042.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing down and left: 1 -0.5 0.5 1 50 50</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed down vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 -0.5 0.5 1 50 50)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-043.xht
new file mode 100644
index 00000000000..9ff12da9569
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-043.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and skewing up and right: 1 0.5 -0.5 1 100 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be skewed up vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="100" width="100" fill="red" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="red" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="red" x="100" height="100"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(1 0.5 -0.5 1 100 0)" height="200"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-044.xht
new file mode 100644
index 00000000000..f64b3d25813
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-044.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and scaling up and skewing down and right: 2 0.5 0.5 2 50 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled up vertically and horizontally and skewed down vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="red" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="red" x="50" height="50"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(2 0.5 0.5 2 50 0)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-045.xht
new file mode 100644
index 00000000000..00478af40dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-045.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and scaling down and skewing up and left: 0.75 -0.5 -0.5 0.75 190 150</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be scaled down vertically and horizontally and skewed up vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="400" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="200" fill="red" x="200" height="200"></rect>
+ <rect y="200" width="200" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="green" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="200" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="400" y="-450" x="-450" fill="url(#coloredBoxes)" transform="matrix(0.75 -0.5 -0.5 0.75 190 150)" height="400"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-046.xht
new file mode 100644
index 00000000000..43a1f7462f4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-046.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping left, scaling up, and skewing down and right with scientific numbers with negative exponents: -2 5e-1 5e-1 2 250 0</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped left, scaled up, and skewed down vertically and right horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="red" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="red" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="50" height="50"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-2 5e-1 5e-1 2 250 0)" height="100"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-047.xht
new file mode 100644
index 00000000000..85519930075
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-047.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up, scaling down, and skewing up and left with scientific numbers with negative exponents: 0.5 -5e-1 0 -5e-1 250 100</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support scientific numbers with negative exponents. The rect in the test should be flipped down, scaled down, and skewed up vertically and left horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="400" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="200" fill="red" x="200" height="200"></rect>
+ <rect y="200" width="200" fill="green" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="200" fill="red" x="200" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="400" height="400" fill="url(#coloredBoxes)" transform="matrix(0.5 -5e-1 0 -5e-1 250 100)" x="-450"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-048.xht
new file mode 100644
index 00000000000..9b09f6fbcca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-048.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix and flipping up and left, scaling up horizontally and down vertically, and skewing right and down: -2 0.25 0.25 -0.5 200 200</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-clipped-rect-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left, scaled up horizontally and down vertically, and skewed right and down." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="400">
+ <rect y="200" width="50" fill="green" x="50" height="200"></rect>
+ <rect y="200" width="50" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="50" fill="red" x="0" height="200"></rect>
+ <rect y="0" width="50" fill="red" x="50" height="200"></rect>
+ </pattern>
+ <!-- Clip a rect to avoid antialiasing issues and to isolate the green portion of the pattern-->
+ <clipPath id="clip">
+ <rect y="50" width="40" height="40" x="100"></rect>
+ </clipPath>
+ </defs>
+ <g clip-path="url(#clip)">
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(-2 0.25 0.25 -0.5 200 200)" height="400"></rect>
+ </g>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-049.xht
new file mode 100644
index 00000000000..20d62c526b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-049.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas and no spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5,0,0,-0.5,100,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-050.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-050.xht
new file mode 100644
index 00000000000..3a0a3449312
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-050.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 ,0 ,0 ,-0.5 ,100 ,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-051.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-051.xht
new file mode 100644
index 00000000000..4ba36ab2ace
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-051.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5, 0, 0, -0.5, 100, 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-052.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-052.xht
new file mode 100644
index 00000000000..2782c6b9bf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-052.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 , 0 , 0 , -0.5 , 100 , 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-053.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-053.xht
new file mode 100644
index 00000000000..4180c9b661e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-053.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces before the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 ,0 ,0 ,-0.5 ,100 ,100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-054.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-054.xht
new file mode 100644
index 00000000000..c073cfad5c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-054.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5, 0, 0, -0.5, 100, 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-055.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-055.xht
new file mode 100644
index 00000000000..2cc1ba71ad7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-055.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by commas with multiple spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by commas with multiple spaces before and after the commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 , 0 , 0 , -0.5 , 100 , 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-056.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-056.xht
new file mode 100644
index 00000000000..850f04e6ba2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-056.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by multiple spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by multiple spaces. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5 0 0 -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-057.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-057.xht
new file mode 100644
index 00000000000..7206c51ccf8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-057.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function arguments separated by a mix of spaces and commas</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function must support arguments separated by a mix of spaces and commas. The rect in the test should be flipped up and left and scaled down horizontally and vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="200" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="200">
+ <rect y="0" width="100" fill="blue" x="0" height="100"></rect>
+ <rect y="0" width="100" fill="yellow" x="100" height="100"></rect>
+ <rect y="100" width="100" fill="fuchsia" x="0" height="100"></rect>
+ <rect y="100" width="100" fill="green" x="100" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="200" fill="url(#coloredBoxes)" transform="matrix(-0.5,0 ,0, -0.5 100 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-058.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-058.xht
new file mode 100644
index 00000000000..9c9c434d151
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-058.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'a' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage values. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(50% 0 0 -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-059.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-059.xht
new file mode 100644
index 00000000000..638f827c2af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-059.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'b' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support degree units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 45deg 0 -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-060.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-060.xht
new file mode 100644
index 00000000000..23a278ed9d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-060.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'c' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support gradian units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 50grad -0.5 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-061.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-061.xht
new file mode 100644
index 00000000000..b63523ac462
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-061.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'd' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 50% 100 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-062.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-062.xht
new file mode 100644
index 00000000000..210a1ec0039
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-062.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'e' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support px units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 0.5 100px 100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-063.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-063.xht
new file mode 100644
index 00000000000..9be94710680
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-063.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'f' value</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support pt units. If one argument is invalid, no transform should take place so the rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0 0.5 100 100pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-064.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-064.xht
new file mode 100644
index 00000000000..1d772c6cb97
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-064.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'a' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage values. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(50% 0 0 -0.5 100 100) translateX(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-065.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-065.xht
new file mode 100644
index 00000000000..ffe82e58685
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-065.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'b' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support radian units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 45rad 0 -0.5 100 100) translateY(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-066.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-066.xht
new file mode 100644
index 00000000000..c69c78e936a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-066.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'c' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support turn units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.125turn -0.5 100 100) translate(100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-067.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-067.xht
new file mode 100644
index 00000000000..ea44eeb083f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-067.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'd' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support percentage units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 50% 100 100) scale(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-068.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-068.xht
new file mode 100644
index 00000000000..0d99b9c25ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-068.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'e' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support pc units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 0.5 100pc 100) scaleX(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-069.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-069.xht
new file mode 100644
index 00000000000..185eb10fd2b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-matrix-069.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix function with invalid 'f' value with another transform function</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <link href="reference/svg-matrix-four-color-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The matrix function does not support mm units. If one argument is invalid in one function, none of the transforms in the function list should happen. The rect in this test should remain the same." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a four color square where the top left is green, the top right is fuchsia, the bottom left is yellow, and the bottom right is blue. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" y="0" x="0" id="coloredBoxes" height="100">
+ <rect y="50" width="50" fill="blue" x="50" height="50"></rect>
+ <rect y="50" width="50" fill="yellow" x="0" height="50"></rect>
+ <rect y="0" width="50" fill="fuchsia" x="50" height="50"></rect>
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#coloredBoxes)" transform="matrix(0.5 0 0.5 0.5 100 100mm) scaleY(0.5)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-001.xht
new file mode 100644
index 00000000000..cfc9500fdb8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="" transform="translate(100px, 0) rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-002.xht
new file mode 100644
index 00000000000..f733b8a69f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 0" transform="translate(100px, 0) rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-003.xht
new file mode 100644
index 00000000000..59158ce3ea6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 100px 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (100,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" x="100" transform-origin="100px 0" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-004.xht
new file mode 100644
index 00000000000..9c097bc9f5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 100px</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,100px) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 100px" transform="rotate(90deg) translateX(-100px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-005.xht
new file mode 100644
index 00000000000..cb505224ad0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 50px 50px</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (50px,50px) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="50px 50px" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-006.xht
new file mode 100644
index 00000000000..699011b7504
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-006.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 100px 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (100,0) temporarily and must support unit less values for presentation attributes." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" x="100" transform-origin="100 0" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-007.xht
new file mode 100644
index 00000000000..c971a5bb975
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-007.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 100</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,100px) temporarily and must support unit less values for presentation attributes." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="0 100" transform="rotate(90deg) translateX(-100px)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-008.xht
new file mode 100644
index 00000000000..e1e7df22f0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-008.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 50 50</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-origin-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (50px,50px) temporarily and must support unit less values for presentation attributes." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="url(#grad)" transform-origin="50 50" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-001.xht
new file mode 100644
index 00000000000..4c7488ca20d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in cm - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="" transform="translate(2cm, 0) rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-002.xht
new file mode 100644
index 00000000000..042eaa79bcb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in cm - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="0 0" transform="translate(2cm, 0) rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-003.xht
new file mode 100644
index 00000000000..594af477ec0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 2cm 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (2cm,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" x="2cm" transform-origin="2cm 0" transform="rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-004.xht
new file mode 100644
index 00000000000..0eff7c39658
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 2cm</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,2cm) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="0 2cm" transform="rotate(90deg) translateX(-2cm)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-005.xht
new file mode 100644
index 00000000000..bf33c1240a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-cm-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 1cm 1cm</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-cm-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (1cm,1cm) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="73.590551181" fill="red" x="1" height="73.590551181"></rect>
+ <rect width="2cm" fill="url(#grad)" transform-origin="1cm 1cm" transform="rotate(90deg)" height="2cm"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-001.xht
new file mode 100644
index 00000000000..758f9c7d34a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in inch - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="" transform="translate(1.5in, 0) rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-002.xht
new file mode 100644
index 00000000000..242662dba6f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in inch - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0 0" transform="translate(1.5in, 0) rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-003.xht
new file mode 100644
index 00000000000..b5bf7bfc456
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 1.5in 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (1.5in,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" x="1.5in" transform-origin="1.5in 0" transform="rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-004.xht
new file mode 100644
index 00000000000..b0d324147f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 1.5in</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,1.5in) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0 1.5in" transform="rotate(90deg) translateX(-1.5in)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-005.xht
new file mode 100644
index 00000000000..2229bf71965
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-in-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0.75in 0.75in</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-in-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0.75in, 0.75in) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="142" fill="red" x="1" height="142"></rect>
+ <rect width="1.5in" fill="url(#grad)" transform-origin="0.75in 0.75in" transform="rotate(90deg)" height="1.5in"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-001.xht
new file mode 100644
index 00000000000..1f84b5595d2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in pt - default value</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default for SVG elements without associated CSS Layout Box." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="" transform="translate(80pt, 0) rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-002.xht
new file mode 100644
index 00000000000..928873c4edb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values in pt - 0 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should be 0 0 by default, so the current value shouldn't make a difference." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="0 0" transform="translate(80pt, 0) rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-003.xht
new file mode 100644
index 00000000000..2ab980fa244
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 80pt 0</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (80pt,0) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" x="80pt" transform-origin="80pt 0" transform="rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-004.xht
new file mode 100644
index 00000000000..cd5fb77a6e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 0 80pt</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (0,80pt) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="0 80pt" transform="rotate(90deg) translateX(-80pt)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-005.xht
new file mode 100644
index 00000000000..a021beb7099
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-length-pt-005.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin with length values - 40pt 40pt</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-origin-length-pt-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The transform-origin should translate the origin by (40pt,40pt) temporarily." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="104.666666667" fill="red" x="1" height="104.666666667"></rect>
+ <rect width="80pt" fill="url(#grad)" transform-origin="40pt 40pt" transform="rotate(90deg)" height="80pt"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-001.xht
new file mode 100644
index 00000000000..f1d878ff8f7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value absolute value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-002.xht
new file mode 100644
index 00000000000..f4d6ea960ed
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value 'center' value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-003.xht
new file mode 100644
index 00000000000..920b99e3daf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-003.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, first value '50%' value and missing second argument</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If only one value is specified, the second value is assumed to be 'center'. The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-004.xht
new file mode 100644
index 00000000000..c4fde615f20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-005.xht
new file mode 100644
index 00000000000..541a9493c6d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-006.xht
new file mode 100644
index 00000000000..3ab9aac5974
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-007.xht
new file mode 100644
index 00000000000..7e5e101753c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-007.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-008.xht
new file mode 100644
index 00000000000..25d04b32a8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '75 center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75 center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-009.xht
new file mode 100644
index 00000000000..c12be1ca1d1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-009.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '75 50%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="75 50%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-010.xht
new file mode 100644
index 00000000000..cd5fcb27d48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="center 75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-011.xht
new file mode 100644
index 00000000000..cb562b7dee2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '50% 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect should be rotated around its center point at 75,75" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="50% 75" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-012.xht
new file mode 100644
index 00000000000..66b35573aae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 0,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="0" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-013.xht
new file mode 100644
index 00000000000..a8128be033f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-013.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="150" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-014.xht
new file mode 100644
index 00000000000..0ce4c3cdb0a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="100%" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-015.xht
new file mode 100644
index 00000000000..2e62fd537fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-015.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-016.xht
new file mode 100644
index 00000000000..6b27242b768
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-016.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75. Since the second argument is missing, it is set to 'center'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" x="75" transform-origin="left" transform="rotate(90deg) translate(-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-017.xht
new file mode 100644
index 00000000000..15eba814d03
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-017.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '25%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second argument is missing, it is assumed to be center. The initial point of origin gets translated to 37.5,75." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="25%" transform="rotate(90deg) translate(-37.5,-37.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-018.xht
new file mode 100644
index 00000000000..67f56961dd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-018.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,0. A single argument 'top' gets interpreted as 'center top'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top" transform="rotate(90deg) translate(75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-019.xht
new file mode 100644
index 00000000000..b6d5e14b07c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-019.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,150. A single argument 'bottom' gets interpreted as 'center bottom'." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom" transform="rotate(90deg) translate(-75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-020.xht
new file mode 100644
index 00000000000..f8a60d5c1d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-020.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0% 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since '0% 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="0% 0%" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-021.xht
new file mode 100644
index 00000000000..cd0a1222d75
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-021.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'top right' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top right" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-022.xht
new file mode 100644
index 00000000000..9c487d16945
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-022.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'top left' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top left" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-023.xht
new file mode 100644
index 00000000000..90bc533432c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-023.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'top center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75 since 'top center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="top center" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-024.xht
new file mode 100644
index 00000000000..02124247d4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-024.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,225 since 'bottom left' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom left" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-025.xht
new file mode 100644
index 00000000000..f9773cbe0df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-025.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,225 since 'bottom center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom center" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-026.xht
new file mode 100644
index 00000000000..f15f7656de4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-026.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'bottom right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,225 since 'bottom right' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="bottom right" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-027.xht
new file mode 100644
index 00000000000..bf851e639ac
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-027.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'right top' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right top" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-028.xht
new file mode 100644
index 00000000000..ef7aa06cee6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-028.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,150 since 'right center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right center" transform="rotate(90deg) translateY(150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-029.xht
new file mode 100644
index 00000000000..757fac9b78d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-029.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,225 since 'right bottom' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right bottom" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-030.xht
new file mode 100644
index 00000000000..9a7d0b45704
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-030.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'right 75' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 75" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-031.xht
new file mode 100644
index 00000000000..21d69ff068b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-031.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,75 since 'right 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 0%" transform="rotate(90deg) translate(75,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-032.xht
new file mode 100644
index 00000000000..8c96e820a37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-032.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'right 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,225 since 'right 100%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="right 100%" transform="rotate(90deg) translate(-75,225)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-033.xht
new file mode 100644
index 00000000000..dd2ee7fbe19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-033.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'left top' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left top" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-034.xht
new file mode 100644
index 00000000000..7f01a3cb874
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-034.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,150 since 'left center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left center" transform="rotate(90deg) translateX(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-035.xht
new file mode 100644
index 00000000000..5ba6b3e7689
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-035.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,225 since 'left bottom' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left bottom" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-036.xht
new file mode 100644
index 00000000000..542bae08093
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-036.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 75'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'left 75' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 75" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-037.xht
new file mode 100644
index 00000000000..df795ff8dd2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-037.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,75 since 'left 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 0%" transform="rotate(90deg) translate(-75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-038.xht
new file mode 100644
index 00000000000..09b51ce58c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-038.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'left 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,225 since 'left 100%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="left 100%" transform="rotate(90deg) translate(-225,75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-039.xht
new file mode 100644
index 00000000000..18e906e0e52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-039.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75 since 'center top' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center top" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-040.xht
new file mode 100644
index 00000000000..19c13c9404e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-040.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,225 since 'center bottom' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center bottom" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-041.xht
new file mode 100644
index 00000000000..00504623a1b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-041.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 75,150 since 'center left' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center left" transform="rotate(90deg) translateX(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-042.xht
new file mode 100644
index 00000000000..f18a89325e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-042.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 225,150 since 'center right' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center right" transform="rotate(90deg) translateY(150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-043.xht
new file mode 100644
index 00000000000..788f7134666
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-043.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,225 since 'center 100%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 100%" transform="rotate(90deg) translate(-150,150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-044.xht
new file mode 100644
index 00000000000..cfb8f220ed6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-044.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, '0 center'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 0,150 since '0 center' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="0 center" transform="rotate(90deg) translate(-225,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-045.xht
new file mode 100644
index 00000000000..89f6bbb53af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-045.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 0%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,75 since 'center 0%' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 0%" transform="rotate(90deg)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-046.xht
new file mode 100644
index 00000000000..54ae92f9089
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-046.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, 'center 0'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The initial point of origin gets translated to 150,0 since 'center 0' is relative to the bounding box of the object." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" y="75" x="75" transform-origin="center 0" transform="rotate(90deg) translate(75,-75)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-001.xht
new file mode 100644
index 00000000000..2e18582dd31
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top 100%" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-002.xht
new file mode 100644
index 00000000000..4a2d0af6068
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom 100%'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom 100%" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-003.xht
new file mode 100644
index 00000000000..fdde566acf3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-003.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top 150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top 150" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-004.xht
new file mode 100644
index 00000000000..50401da37bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom 150'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow first value to be vertical if at least one of the first two passed values are not keywords. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom 150" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-005.xht
new file mode 100644
index 00000000000..c26261b2f22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top top" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-006.xht
new file mode 100644
index 00000000000..30f1e841a40
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom bottom" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-007.xht
new file mode 100644
index 00000000000..39dd4d674be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-007.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'top bottom'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="top bottom" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-008.xht
new file mode 100644
index 00000000000..87083cad6ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'bottom top'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two vertical values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="bottom top" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-009.xht
new file mode 100644
index 00000000000..4e74cfb9b08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-009.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'left left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="left left" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-010.xht
new file mode 100644
index 00000000000..77556914462
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'left right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="left right" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-011.xht
new file mode 100644
index 00000000000..99e1e46b1ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'right right'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right right" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-012.xht
new file mode 100644
index 00000000000..b0ee45a0ec1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-origin-relative-length-invalid-012.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute transform-origin, invalid arguments 'right left'</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://dev.w3.org/csswg/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="reference/svg-origin-relative-length-invalid-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Spec does not allow two horizontal values. Fallback to 0,0" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a vertical fuchsia stripe to the left of an orange stripe. You should see no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y2="100%" id="grad">
+ <stop stop-color="orange" offset="50%"></stop>
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="url(#grad)" transform-origin="right left" transform="rotate(90deg) translateY(-150)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-001.xht
new file mode 100644
index 00000000000..9de2f20f715
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(25)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-002.xht
new file mode 100644
index 00000000000..5e853e047b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(25px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-003.xht
new file mode 100644
index 00000000000..4027f4a2c4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(18.75pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-004.xht
new file mode 100644
index 00000000000..434065631a7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-004.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1.5625pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-005.xht
new file mode 100644
index 00000000000..3a0ae81eeb3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-005.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(6.614583333mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-006.xht
new file mode 100644
index 00000000000..0fe973dc580
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-006.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.661458333cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-007.xht
new file mode 100644
index 00000000000..a994d0dd862
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.260416667in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-008.xht
new file mode 100644
index 00000000000..03a5948b3cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-008.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-009.xht
new file mode 100644
index 00000000000..a02cc862e21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-009.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.5e1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-010.xht
new file mode 100644
index 00000000000..0619384c8f0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-010.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.5e1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-011.xht
new file mode 100644
index 00000000000..24dd2570a65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(1.875e1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-012.xht
new file mode 100644
index 00000000000..bcee3f06eba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-012.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.15625e1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-013.xht
new file mode 100644
index 00000000000..d604f60aa4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-013.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.6614583333e1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-014.xht
new file mode 100644
index 00000000000..f3b6cf233a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-014.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.0661458333e1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-015.xht
new file mode 100644
index 00000000000..70eb37131c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-015.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.0260416667e1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-016.xht
new file mode 100644
index 00000000000..8a133c8ca2c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-016.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(0.1e1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-017.xht
new file mode 100644
index 00000000000..ae0dfbe482e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-017.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments in scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(250e-1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-018.xht
new file mode 100644
index 00000000000..ece67352725
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-018.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(250e-1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-019.xht
new file mode 100644
index 00000000000..9d6387e223e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-019.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(187.5e-1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-020.xht
new file mode 100644
index 00000000000..526f395f47e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-020.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(15.625e-1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-021.xht
new file mode 100644
index 00000000000..9d25df32d41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-021.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(66.14583333e-1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-022.xht
new file mode 100644
index 00000000000..0800a4d41e3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-022.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(6.61458333e-1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-023.xht
new file mode 100644
index 00000000000..b5256ff3fcc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-023.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(2.60416667e-1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-024.xht
new file mode 100644
index 00000000000..565f20180b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-024.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(10e-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-025.xht
new file mode 100644
index 00000000000..5bb4e0a9d74
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-025.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative unit less arguments for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-026.xht
new file mode 100644
index 00000000000..13b29984793
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-026.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'px' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-027.xht
new file mode 100644
index 00000000000..140ac932dd1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-027.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pt' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-18.75pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-028.xht
new file mode 100644
index 00000000000..d805a329021
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-028.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'pc' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1.5625pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-029.xht
new file mode 100644
index 00000000000..32b26a618bd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-029.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'mm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-6.614583333mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-030.xht
new file mode 100644
index 00000000000..35bfa9fcc68
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-030.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'cm' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.661458333cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-031.xht
new file mode 100644
index 00000000000..b65b753f4aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-031.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the absolute length unit 'in' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.260416667in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-032.xht
new file mode 100644
index 00000000000..bca611851a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-032.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the relative length unit 'em' on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-033.xht
new file mode 100644
index 00000000000..94bbdac9967
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-033.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative unit less arguments in scientific numbers for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.5e1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-034.xht
new file mode 100644
index 00000000000..19e3b64ab06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-034.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.5e1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-035.xht
new file mode 100644
index 00000000000..3520dc73fa0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-035.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-1.875e1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-036.xht
new file mode 100644
index 00000000000..58255028a73
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-036.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.15625e1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-037.xht
new file mode 100644
index 00000000000..55094e4b6cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-037.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.6614583333e1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-038.xht
new file mode 100644
index 00000000000..ee22397ecf1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-038.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.0661458333e1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-039.xht
new file mode 100644
index 00000000000..cefd5dbf0f1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-039.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.0260416667e1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-040.xht
new file mode 100644
index 00000000000..6811d131ea2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-040.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.1e1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-041.xht
new file mode 100644
index 00000000000..6988043ad40
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-041.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with unit less arguments in negative scientific numbers with negative exponents for translation-value. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-250e-1)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-042.xht
new file mode 100644
index 00000000000..9841c376855
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-042.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-250e-1px)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-043.xht
new file mode 100644
index 00000000000..43b01a853e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-043.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-187.5e-1pt)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-044.xht
new file mode 100644
index 00000000000..efdfb3b7a29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-044.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-15.625e-1pc)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-045.xht
new file mode 100644
index 00000000000..7d298f9a356
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-045.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-66.14583333e-1mm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-046.xht
new file mode 100644
index 00000000000..ee438071953
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-046.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-6.61458333e-1cm)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-047.xht
new file mode 100644
index 00000000000..80cfcb2efec
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-047.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-2.60416667e-1in)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-048.xht
new file mode 100644
index 00000000000..ceb8c384b1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-048.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 25 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ line-height: 1;
+ font: 25px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-10e-1em)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="25" fill="green" x="25" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="25" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-049.xht
new file mode 100644
index 00000000000..e1e69b40b4b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-049.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG transform presentation attribute on the pattern element - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The pattern element does not support the transform attribute. The pattern in the tests should not be moved resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" y="0" x="0" id="greenRects" transform="translateX(25px)" height="50">
+ <rect y="0" width="25" fill="green" x="0" height="25"></rect>
+ <rect y="25" width="25" fill="green" x="0" height="25"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="25" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-001.xht
new file mode 100644
index 00000000000..462c9c254a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-001.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support multiple transform functions the same element. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25px) translateX(25px)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-002.xht
new file mode 100644
index 00000000000..36223d97aef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-002.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied once in pixels and once in pt units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support multiple transform functions on the same element with different translation-value units. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25px) translateX(18.75pt)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-003.xht
new file mode 100644
index 00000000000..aefd647c3d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-combination-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-combination-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg" name="flags" />
+ <meta content="The patternTransform attribute must support multiple transform functions in both directions. The pattern in the test should be moved 50 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background:red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(150) translateX(-100)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="50" fill="green" x="0" height="50"></rect>
+ <rect y="50" width="50" fill="green" x="0" height="50"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="50" height="200" x="0" fill="green"></rect>
+ <rect y="0" width="50" height="200" x="100" fill="green"></rect>
+ <rect y="0" width="200" height="200" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-001.xht
new file mode 100644
index 00000000000..205699ed438
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-002.xht
new file mode 100644
index 00000000000..8e6a6f53945
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-002.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(0.1e1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-003.xht
new file mode 100644
index 00000000000..ea08e4424cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-003.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(10e-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-004.xht
new file mode 100644
index 00000000000..580a70a211d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-004.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with negative numbers in the relative length unit 'ex' on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-005.xht
new file mode 100644
index 00000000000..b94f40bb26f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-005.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-0.1e1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-006.xht
new file mode 100644
index 00000000000..0b6a0e02bd3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-ex-unit-006.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="reference/svg-patternTransform-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The patternTransform attribute must support functions with the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The pattern in the test should be moved 40 pixels in the X direction resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 160px;
+ height: 160px;
+ background:red;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="80" patternUnits="userSpaceOnUse" patternTransform="translateX(-10e-1ex)" y="0" x="0" id="greenRects" height="80">
+ <rect y="0" width="40" fill="green" x="0" height="40"></rect>
+ <rect y="40" width="40" fill="green" x="0" height="40"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="40" height="160" x="0" fill="green"></rect>
+ <rect y="0" width="40" height="160" x="80" fill="green"></rect>
+ <rect y="0" width="160" height="160" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-001.xht
new file mode 100644
index 00000000000..77a3671bb6f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with percentage unit having no effect on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="translateX(25%)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="27" fill="green" x="24" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="74" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="25" fill="red"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="red"></rect>
+ <rect y="-1" width="102" height="102" x="-1" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-002.xht
new file mode 100644
index 00000000000..5b26fec80f4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-002.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute and translation-value argument with negative percentage unit having no effect on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be moved resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="50" patternUnits="userSpaceOnUse" patternTransform="translateX(-25%)" y="0" x="0" id="greenRects" height="50">
+ <rect y="0" width="27" fill="green" x="24" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="74" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="25" height="100" x="0" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="25" fill="red"></rect>
+ <rect y="0" width="25" height="100" x="50" fill="green"></rect>
+ <rect y="0" width="25" height="100" x="75" fill="red"></rect>
+ <rect y="-1" width="102" height="102" x="-1" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-003.xht
new file mode 100644
index 00000000000..dbfaf72817d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-patternTransform-relative-003.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG patternTransform presentation attribute with rotate and translateX in percentage units, the latter has no effect</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-user-coordinate-space" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-gradient-transform-pattern-transform" rel="help" />
+ <link href="reference/svg-patternTransform-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Arguments in percentage units in patternTransform functions should have no affect. The gradient in the test should be not be translated, but should be rotated resulting in a solid green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <defs>
+ <pattern width="100" patternUnits="userSpaceOnUse" patternTransform="rotate(90) translateX(25%)" y="0" x="0" id="greenRects" height="100">
+ <rect y="0" width="27" fill="green" x="0" height="100"></rect>
+ <rect y="0" width="27" fill="green" x="49" height="100"></rect>
+ </pattern>
+ </defs>
+ <rect y="0" width="100" height="25" x="0" fill="red"></rect>
+ <rect y="24" width="100" height="27" x="0" fill="green"></rect>
+ <rect y="50" width="100" height="25" x="0" fill="red"></rect>
+ <rect y="74" width="100" height="27" x="0" fill="green"></rect>
+ <rect y="0" width="100" height="100" x="0" fill="url(#greenRects)"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-001.xht
new file mode 100644
index 00000000000..7fedf59c5d9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and pixel on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the absolute length unit 'px' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-002.xht
new file mode 100644
index 00000000000..87b52d80cd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments without units on rotate or translate values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments without units on angle arguments or translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the vertical and horizontal direction to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90,20,20)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-003.xht
new file mode 100644
index 00000000000..2100431d125
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with grad on rotate and pt on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'grad' on angle arguments and the absolute length unit 'pt' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(100grad,15pt,15pt)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-004.xht
new file mode 100644
index 00000000000..31aa80a2382
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with turn on rotate and pc on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'turn' on angle arguments and the absolute length unit 'pc' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(0.25turn,1.25pc,1.25pc)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-005.xht
new file mode 100644
index 00000000000..6d1bc7cd378
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-005.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with rad on rotate and mm on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'rad' on angle arguments and the absolute length unit 'mm' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(1.57079632674897rad,5.291666667mm,5.291666667mm)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-006.xht
new file mode 100644
index 00000000000..7180c300b4a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-006.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative rotate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with a negative angle argument. The green rect in this test should be rotated 90 degrees counter-clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="0" x="-40" fill="green" transform="rotate(-90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-007.xht
new file mode 100644
index 00000000000..7b6ff6591aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-007.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative translateX</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with a negative translationX-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels the horizontal directions and 20 pixels in the vertical direction to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="-40" fill="green" transform="rotate(90deg,-20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-008.xht
new file mode 100644
index 00000000000..60c050f213c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-008.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with negative translateY</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with a negative translationY-value argument. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in the horizontal direction and -20 pixels in the vertical direction to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="40" fill="green" transform="rotate(90deg,20px,-20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-009.xht
new file mode 100644
index 00000000000..460558dcd8d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-009.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with scientific numbers on degree angles</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, with scientific numbers for angle arguments in degree. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(9.0e1deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-010.xht
new file mode 100644
index 00000000000..8be79212628
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-010.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, with absolute length unit 'px' in scientific numbers on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,2.0e1px,2.0e1px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-011.xht
new file mode 100644
index 00000000000..d4810181924
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-011.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and percentage units on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,25%,25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-012.xht
new file mode 100644
index 00000000000..11f2e425041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-012.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with deg on rotate and negative percentage units on translate</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with the unit 'deg' on angle arguments and the relative length unit '%' on translation-value arguments. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by -20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-120" x="0" fill="green" transform="rotate(90deg,-25%,-25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-013.xht
new file mode 100644
index 00000000000..616f8072d5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-013.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with space delimited arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, where the arguments are separated by spaces with no commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg 20px 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-014.xht
new file mode 100644
index 00000000000..b261d6a2864
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-014.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments, where the arguments are separated by commas with no spaces. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-015.xht
new file mode 100644
index 00000000000..f86694bbb49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-015.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments with a space after the comma</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function with three arguments can have the arguments be separated by optional commas with a space after the comma. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg, 20px, 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-016.xht
new file mode 100644
index 00000000000..89b9ed2cac6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-016.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with comma delimited arguments with multiple spaces before the commas</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function with three arguments can have the arguments be separated by optional commas with multiple spaces before the commas. The green rect in this test should be rotated 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-40" x="0" fill="green" transform="rotate(90deg ,20px ,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-017.xht
new file mode 100644
index 00000000000..8640b7bcdab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-017.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with length values - 40px 40px</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using absolute values. First, the transform-origin should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated by 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="40" x="0" transform-origin="40px 40px" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-018.xht
new file mode 100644
index 00000000000..8d0f9fd047f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-018.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value 'center' and missing second argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using one keyword value. First, the transform-origin value of 'center' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="center" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-019.xht
new file mode 100644
index 00000000000..eb2252885a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-019.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value '50%' and missing second argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using one relative value. First, the transform-origin value of '50%' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (0px 40px), which is the center of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="50%" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-020.xht
new file mode 100644
index 00000000000..dafd27b1ee8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-020.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with transform-origin with first value 'right' and second value 'top'</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments in combination with transform-origin using two keyword values. First, the transform-origin value of 'right top' should translate the origin by 40px in the horizontal direction and by 80px in the vertical direction temporarily to (40px 80px), which is the top right corner of the green rect. Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by 20 pixels in both the vertical and horizontal directions, making the origin (60px 100px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="80" x="-40" transform-origin="right top" transform="rotate(90deg,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-021.xht
new file mode 100644
index 00000000000..2a324a9bb19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-021.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with relative translation-values combined with absolute transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two absolute pixel values. First, the transform-origin value of '40px 40px' should translate the origin by 40px in both the vertical and horizontal directions temporarily to (40px 40px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 20 pixels in both the horizontal and vertical directions, making the origin (60px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="40" x="0" transform-origin="40px 40px" transform="rotate(90deg,25%,25%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-022.xht
new file mode 100644
index 00000000000..270ffe0d1eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-022.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with absolute translation-values combined with relative transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with absolute translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="25% 25%" transform="rotate(90deg,40px,40px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-023.xht
new file mode 100644
index 00000000000..f2faaf959d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-023.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with relative translation-values combined with relative transform-origin length values</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support three arguments with relative translation-values in combination with transform-origin using two relative values. First, the transform-origin value of '25% 25%' should translate the origin by 20px in both the vertical and horizontal directions temporarily to (-20px 20px). Second, the green rect should be rotated 90 degrees clockwise after the transform origin has been translated by an additional 40 pixels in both the horizontal and vertical directions, making the origin (20px 60px) temporarily. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" fill="green" y="0" x="-40" transform-origin="25% 25%" transform="rotate(90deg,50%,50%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-001.xht
new file mode 100644
index 00000000000..5e5585f5046
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with one absolute translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg 20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-002.xht
new file mode 100644
index 00000000000..553ed200634
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with no translation-value arguments and a comma</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If no translation values are provided, and there is a comma after the rotate argument, then the entire argument list is invalid and therefore no transform is applied. The green rect in this test should not be rotated and the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="0" x="0" fill="green" transform="rotate(90deg,)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-003.xht
new file mode 100644
index 00000000000..877050cc0c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments, with a third absolute translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If a third absolute translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg,20px,20px,20px)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-004.xht
new file mode 100644
index 00000000000..c047180a39d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments with one relative translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If one of the translation values is not provided, then both translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg 30%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-005.xht
new file mode 100644
index 00000000000..23817c9e166
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-3args-invalid-005.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG rotate with three arguments, with a third relative translation-value argument</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-rotate-3args-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function takes two optional translation values. If a third relative translation-value argument is provided, then all translation-value parameters fall back to zero. The green rect in this test should be rotated by 90 degrees clockwise, but the transform origin should not be translated. The green rect should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="78" fill="red" x="1" height="78"></rect>
+ <rect width="80" y="-80" x="0" fill="green" transform="rotate(90deg,30%,20%,40%)" height="80"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-001.xht
new file mode 100644
index 00000000000..543fe47b64d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support unit less arguments for angle. The green rect in the test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-002.xht
new file mode 100644
index 00000000000..266f94263bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-002.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'degree' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-003.xht
new file mode 100644
index 00000000000..15d66123273
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-003.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'grad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-004.xht
new file mode 100644
index 00000000000..41e78019322
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'turn' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-005.xht
new file mode 100644
index 00000000000..176b0f8e9e3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-005.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on rotate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'rad' on angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.785398163374485rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-006.xht
new file mode 100644
index 00000000000..3a544653dcc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-007.xht
new file mode 100644
index 00000000000..be825d2351c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-007.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'degree' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-008.xht
new file mode 100644
index 00000000000..f73b695b46b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'grad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-009.xht
new file mode 100644
index 00000000000..570b3583a8c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'rad' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-5.497787143782138rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-010.xht
new file mode 100644
index 00000000000..97db4da9b55
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-010.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'turn' angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-011.xht
new file mode 100644
index 00000000000..77be93b69c1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-011.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-012.xht
new file mode 100644
index 00000000000..a619ee43268
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-012.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-013.xht
new file mode 100644
index 00000000000..5258e4723c6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-013.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-014.xht
new file mode 100644
index 00000000000..26cf2194b5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-014.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(7.068583470577035rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-015.xht
new file mode 100644
index 00000000000..496a1c73e18
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-015.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-016.xht
new file mode 100644
index 00000000000..72399fc4da5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-016.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-017.xht
new file mode 100644
index 00000000000..73506e4160f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-017.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on degree angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-018.xht
new file mode 100644
index 00000000000..cf2ccee1491
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-018.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(45.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-019.xht
new file mode 100644
index 00000000000..efc6eb502a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-019.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(0.785398163374485e0rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-020.xht
new file mode 100644
index 00000000000..2281ac7b6e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-020.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-021.xht
new file mode 100644
index 00000000000..8adbe02150e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-021.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-022.xht
new file mode 100644
index 00000000000..336c46b2714
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-022.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-023.xht
new file mode 100644
index 00000000000..20a00aaee93
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-023.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-024.xht
new file mode 100644
index 00000000000..1db44015b6c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(7.85398163374485e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-025.xht
new file mode 100644
index 00000000000..ca069fd056a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-45-025.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-45-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The green rect in this test should be rotated by 45 degrees clockwise to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 142,2 210,71 142,139 73,71 Z" fill="red"></path>
+ <rect width="100" y="-100" x="100" fill="green" transform="rotate(11.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-001.xht
new file mode 100644
index 00000000000..cb233855972
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support unit less arguments for angle. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-002.xht
new file mode 100644
index 00000000000..ee35b518acb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'degree' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(90deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-003.xht
new file mode 100644
index 00000000000..7b85af2510a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'grad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(100grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-004.xht
new file mode 100644
index 00000000000..0719ce3fef4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'turn' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.25turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-005.xht
new file mode 100644
index 00000000000..fa502d4d9c3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on rotate</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support the unit 'rad' on angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.57079632674897rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-006.xht
new file mode 100644
index 00000000000..d7aa4d104e4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-006.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative, unit less turn</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-270)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-007.xht
new file mode 100644
index 00000000000..2932488f925
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative degrees</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'degree' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-270deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-008.xht
new file mode 100644
index 00000000000..8417b13dc01
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative gradians</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'grad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-300grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-009.xht
new file mode 100644
index 00000000000..9e861d4062e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative radians</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'rad' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.570796327rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-010.xht
new file mode 100644
index 00000000000..6c88b9ffcf4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with negative turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support negative 'turn' angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(-0.75turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-011.xht
new file mode 100644
index 00000000000..e875f83a41f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-011.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with unit less angle</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(450)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-012.xht
new file mode 100644
index 00000000000..a4a2035c15a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in degree</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(450deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-013.xht
new file mode 100644
index 00000000000..f682c5916bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in gradian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(500grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-014.xht
new file mode 100644
index 00000000000..76534ce2206
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in radian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(7.853981634rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-015.xht
new file mode 100644
index 00000000000..4c37558a0cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle rotate with angle in turn</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support 'modulo whole circle' for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1.25turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-016.xht
new file mode 100644
index 00000000000..d0b16cdf251
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on unit less angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(9.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-017.xht
new file mode 100644
index 00000000000..c303c38ff50
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on degree angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(9.0e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-018.xht
new file mode 100644
index 00000000000..d219a8402ab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-018.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on gradian angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in gradians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(10.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-019.xht
new file mode 100644
index 00000000000..64382b38c16
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-019.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on radian angles</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in radians. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.1570796326794897e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-020.xht
new file mode 100644
index 00000000000..e03b3f0840e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-020.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers on turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(0.025e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-021.xht
new file mode 100644
index 00000000000..ac5ba5f6d07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-021.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for unit less angle arguments. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(900e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-022.xht
new file mode 100644
index 00000000000..39504106e18
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-022.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in degree. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(900e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-023.xht
new file mode 100644
index 00000000000..7b2f17b47bd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-023.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in gradian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(1000e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-024.xht
new file mode 100644
index 00000000000..122d1f97fe4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-024.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in radian. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(15.70796326794897e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-025.xht
new file mode 100644
index 00000000000..da2ed099312
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-rotate-angle-90-025.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:dschulze@adobe.com" rel="author" title="Dirk Schulze" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-angle" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <link href="reference/svg-rotate-angle-90-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rotate transform function must support scientific numbers with negative exponents for angle arguments in turns. The rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" y="-100" x="0" fill="green" transform="rotate(2.5e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-001.xht
new file mode 100644
index 00000000000..d6b06bbfc9a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second parameter of the scale function is not provided, it is takes a value equal to the first. The red rect in this test should be scaled down 0.5 vertically and horizontally to be completely hidden by the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="196" y="1" x="1" fill="red" transform="scale(0.5)" height="196"></rect>
+ <rect y="0" width="100" fill="green" x="0" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-002.xht
new file mode 100644
index 00000000000..2d2885fe58f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 1.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 1.5 vertically and horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" fill="green" transform="scale(1.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-003.xht
new file mode 100644
index 00000000000..5a5fc1062e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 2 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="If the second parameter is not provided, it is takes a value equal to the first. The green rect in this test should be scaled up 2 vertically and horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="75" fill="green" transform="scale(2)" height="75"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-004.xht
new file mode 100644
index 00000000000..e6c4e66e5dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 with parameters separated by commas + no whitespace</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Parameters in the scale function can be separated by commas and no whitespace. The red rect in this test should be scaled down 0.5 to completely cover the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="196" y="1" x="1" fill="red" transform="scale(0.5,0.5)" height="196"></rect>
+ <rect width="100" fill="green" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-005.xht
new file mode 100644
index 00000000000..ef4ce7c5988
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale with percent values - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Percent values are not supported. The green rect in the test should not be scaled and the red rect should remain completely covered." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scale(50%)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-006.xht
new file mode 100644
index 00000000000..a3d4339f15b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 0.5 and vertically 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in the test should be scaled down horizontally and up vertically to form a square and completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 500px;
+ height: 500px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="198" fill="red" x="1" height="198"></rect>
+ <rect width="400" fill="green" transform="scale(0.5, 1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-007.xht
new file mode 100644
index 00000000000..22472c703d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-007.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 1.5 and vertically 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in the test should be scaled up horizontally and down vertically to form a square completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 500px;
+ height: 500px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="198" fill="red" x="1" height="198"></rect>
+ <rect width="133.333" fill="green" transform="scale(1.5, 0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-008.xht
new file mode 100644
index 00000000000..defc35c1089
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 on the g element </title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The group containing the red rect in this test should be scaled down 0.5 to be completely hidden behind the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <g transform="scale(0.5)">
+ <rect y="1" width="296" fill="red" x="1" height="296"></rect>
+ </g>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-009.xht
new file mode 100644
index 00000000000..cb2aa82a41c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale 0.5 on the g element and scale 0.5 on the rect element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The group containing the red rect in this test should be scaled down 0.5 and the red rect should be scaled down again 0.5 to be completely hidden behind the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <g transform="scale(0.5)">
+ <rect width="592" y="1" x="1" fill="red" transform="scale(0.5)" height="592"></rect>
+ </g>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-010.xht
new file mode 100644
index 00000000000..9ef0da51103
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-010.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test should be flipped downward and rightward into view and scaled down 0.5 horizontally and vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="-400" x="-400" fill="green" transform="scale(-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-011.xht
new file mode 100644
index 00000000000..daff39c4c61
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-011.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -2 with only one parameter specified</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element and if the second parameter of the scale function is not provided, it is takes a value equal to the first. The green rect in this test flipped rightward and downard into view and scaled up 2 to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" y="-100" x="-100" fill="green" transform="scale(-2)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-012.xht
new file mode 100644
index 00000000000..e492a711baf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-012.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 with parameters separated by commas + no whitespace</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element and parameters to the scale function can be separated by commas with no whitespace. The green rect in this test should be flipped downward and rightward into view right scaled down 0.5 to to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="-400" x="-400" fill="green" transform="scale(-0.5,-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-013.xht
new file mode 100644
index 00000000000..4abf400fd8f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-013.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -0.5 and vertically -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled down horizontally and up vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="-133.333" x="-400" fill="green" transform="scale(-0.5, -1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-014.xht
new file mode 100644
index 00000000000..48c5f6cdb23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-014.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -1.5 and vertically -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward and rightward into view and scaled up horizontally and down vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="133.333" y="-400" x="-133.333" fill="green" transform="scale(-1.5, -0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-015.xht
new file mode 100644
index 00000000000..5be3398a61d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-015.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally -0.5 and vertically 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled down horizontally and up vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="0" x="-400" fill="green" transform="scale(-0.5, 1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-016.xht
new file mode 100644
index 00000000000..1d964cafbb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-016.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale horizontally 1.5 and vertically -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and scaled up horizontally and down vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="133.333" y="-400" x="0" fill="green" transform="scale(1.5, -0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-017.xht
new file mode 100644
index 00000000000..d9597a68a43
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scale-017.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale -0.5 on the g element</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The group containing the green rect in this test should be flipped downard and rightward into view and scaled down horizontally and vertically to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <g transform="scale(-0.5)">
+ <rect y="-400" width="400" fill="green" x="-400" height="400"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-001.xht
new file mode 100644
index 00000000000..cdc119d9975
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red rect in this test should be horizontally scaled down 0.5 to be hidden behind the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="298" y="1" x="1" fill="red" transform="scaleX(0.5)" height="148"></rect>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-002.xht
new file mode 100644
index 00000000000..986ee7d9fd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in this test should be horizontally scaled up 1.5 to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" fill="green" transform="scaleX(1.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-003.xht
new file mode 100644
index 00000000000..307ca11bad6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-003.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX with percent argument - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The scaleX transform function does not support percentage values. The green rect in this test should not be scaled so the red background is not visible." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" fill="green" transform="scaleX(50%)" height="200"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-004.xht
new file mode 100644
index 00000000000..41bf53d7647
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and scaled horizontally down 0.5 to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="400" y="0" x="-400" fill="green" transform="scaleX(-0.5)" height="200"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-005.xht
new file mode 100644
index 00000000000..4e70f6988b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scalex-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped rightward into view and horizontally scaled up 1.5 to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="100" y="0" x="-100" fill="green" transform="scaleX(-1.5)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-001.xht
new file mode 100644
index 00000000000..e9ce560a70e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY 0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red rect in this test should be vertically scaled down 0.5 to be completely hidden by the green rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="148" y="1" x="1" fill="red" transform="scaleY(0.5)" height="298"></rect>
+ <rect width="150" fill="green" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-002.xht
new file mode 100644
index 00000000000..d1e5030f6b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY 1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should be vertically scaled up 1.5 to 150x150" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scaleY(1.5)" height="100"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-003.xht
new file mode 100644
index 00000000000..361aab69c3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY with percent argument - not supported</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The scaleY transform function does not support percentage values. The green rect in this test should not be scaled and should completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="148" fill="red" x="1" height="148"></rect>
+ <rect width="150" fill="green" transform="scaleY(50%)" height="150"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-004.xht
new file mode 100644
index 00000000000..84c1fe82ef4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and and scaleY -0.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green in this test should be flipped downward into view and vertically scaled down to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" y="-400" x="0" fill="green" transform="scaleY(-0.5)" height="400"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-005.xht
new file mode 100644
index 00000000000..70c5c135253
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-scaley-005.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY -1.5</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <link href="reference/svg-scale-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Scaling by a negative value should flip the element. The green rect in this test should be flipped downward into view and vertically scaled up 1.5 to completely cover the red background." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if you see a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="200" y="-133.333" x="0" fill="green" transform="scaleY(-1.5)" height="133.333"></rect>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-001.xht
new file mode 100644
index 00000000000..ec9a78a530d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support unit less arguments for angle. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-002.xht
new file mode 100644
index 00000000000..3f692659231
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style></head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-003.xht
new file mode 100644
index 00000000000..94471b455a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-004.xht
new file mode 100644
index 00000000000..c5ea66215ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-005.xht
new file mode 100644
index 00000000000..b93a002c32b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on skewX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.785398163rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-006.xht
new file mode 100644
index 00000000000..bf57420edd6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-006.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative, unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-007.xht
new file mode 100644
index 00000000000..627b5408345
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-008.xht
new file mode 100644
index 00000000000..7f56e3f5117
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-009.xht
new file mode 100644
index 00000000000..1a409f27e42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-5.497787144rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-010.xht
new file mode 100644
index 00000000000..55d7fed0e0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-011.xht
new file mode 100644
index 00000000000..af291d19fb9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-011.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-012.xht
new file mode 100644
index 00000000000..074c50cec8e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-013.xht
new file mode 100644
index 00000000000..3b67772c12a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-014.xht
new file mode 100644
index 00000000000..a9820d73ba8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(7.068583471rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-015.xht
new file mode 100644
index 00000000000..bf12956bea0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewX with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-016.xht
new file mode 100644
index 00000000000..c54e6174eee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-017.xht
new file mode 100644
index 00000000000..5922317ed8e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-017.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-018.xht
new file mode 100644
index 00000000000..b51796f4b29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-018.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(5.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-019.xht
new file mode 100644
index 00000000000..849f78609d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-019.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(.0785398163e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-020.xht
new file mode 100644
index 00000000000..5f0a9aece3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-020.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(0.0125e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-021.xht
new file mode 100644
index 00000000000..f763b44f654
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-021.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-022.xht
new file mode 100644
index 00000000000..1c06a751d28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-022.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-023.xht
new file mode 100644
index 00000000000..bfe25d03a81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-023.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-024.xht
new file mode 100644
index 00000000000..03a7c695138
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-024.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(7.85398163e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-025.xht
new file mode 100644
index 00000000000..3ffc8190510
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewx-025.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewx-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewX transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed horizontally 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 250px;
+ width: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 101,99 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-001.xht
new file mode 100644
index 00000000000..e44c16bc98f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with skewX and skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewxy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in this test should be skewed horizontally 45 degrees and vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 4,3 101,99 296,197 200,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45) skewY(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-002.xht
new file mode 100644
index 00000000000..b8176125149
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewxy-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with skewX and skewY with different units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewx" rel="help" />
+ <link href="reference/svg-skewxy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The green rect in this test should completely cover the red path by being skewed horizontally 45 degrees and vertically 45 degrees specified in different units in each function" name="assert" />
+ <style type="text/css">
+ svg {
+ height: 300px;
+ width: 300px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 4,3 101,99 296,197 200,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewX(45deg) skewY(50grad) " height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-001.xht
new file mode 100644
index 00000000000..748d61156e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument without unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support unit less arguments for angle. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-002.xht
new file mode 100644
index 00000000000..0a84c056776
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with degree unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'degree' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(45deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-003.xht
new file mode 100644
index 00000000000..49c2b962137
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with grad unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'grad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(50grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-004.xht
new file mode 100644
index 00000000000..81482d2e041
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with turn unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'turn' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-005.xht
new file mode 100644
index 00000000000..84f9f7ba13c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and angle argument with radian unit on skewY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support the unit 'rad' on angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.785398163rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-006.xht
new file mode 100644
index 00000000000..8d04a634e4d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-006.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative, unit less turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative, unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-315)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-007.xht
new file mode 100644
index 00000000000..eb664a2b612
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative degrees</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative, 'degree' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-315deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-008.xht
new file mode 100644
index 00000000000..3ea67a10d80
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative gradians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative 'grad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-350grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-009.xht
new file mode 100644
index 00000000000..b5db704e065
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative radians</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative 'rad' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-5.49778714rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-010.xht
new file mode 100644
index 00000000000..bde35e910a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with negative turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support negative 'turn' angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(-0.875turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-011.xht
new file mode 100644
index 00000000000..d5fcd7d1fce
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-011.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with unit less angle</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(405)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-012.xht
new file mode 100644
index 00000000000..78a2f3f08e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(405deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-013.xht
new file mode 100644
index 00000000000..eef5300f724
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-014.xht
new file mode 100644
index 00000000000..678c020dd72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(7.06858347rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-015.xht
new file mode 100644
index 00000000000..d3fc3be7d96
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and more than full circle skewY with angle in turn</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support 'modulo whole circle' for arguments in turn. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(1.125turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-016.xht
new file mode 100644
index 00000000000..c744929ac20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(4.5e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-017.xht
new file mode 100644
index 00000000000..e35127e5784
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-017.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on unit less angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(4.5e1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-018.xht
new file mode 100644
index 00000000000..1bee8627225
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-018.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on gradian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in gradians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(5.0e1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-019.xht
new file mode 100644
index 00000000000..06a64f1c3a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-019.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on radian angles</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in radians. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.0785398163e1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-020.xht
new file mode 100644
index 00000000000..5c46be78499
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-020.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers on turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers for angle arguments in turns. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(0.0125e1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-021.xht
new file mode 100644
index 00000000000..caf1eaabdeb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-021.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for unit less arguments</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for unit less angle arguments. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-022.xht
new file mode 100644
index 00000000000..665fcf1c9eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-022.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in degree</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in degree. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(450e-1deg)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-023.xht
new file mode 100644
index 00000000000..732e87ab3bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-023.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in gradian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in gradian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(500e-1grad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-024.xht
new file mode 100644
index 00000000000..1973910c82e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-024.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY and scientific numbers with negative exponents for arguments in radian</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(7.85398163e-1rad)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-025.xht
new file mode 100644
index 00000000000..6ce7b138ac8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-skewy-025.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY with scientific numbers with negative exponents for arguments in turns</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-skewy" rel="help" />
+ <link href="reference/svg-skewy-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The skewY transform function must support scientific numbers with negative exponents for angle arguments in radian. The green rect in this test should be skewed vertically 45 degrees to completely cover the red path." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 2,99 99,197 99,101 Z" fill="red"></path>
+ <rect width="100" fill="green" transform="skewY(1.25e-1turn)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-001.xht
new file mode 100644
index 00000000000..6c3ce6bd4b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated, therefore the child element should be translated to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(40 40)">
+ <rect width="80" fill="green" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-002.xht
new file mode 100644
index 00000000000..df8593b3d35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated horizontally, therefore the child element should be translated horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(40px)">
+ <rect y="40" width="80" fill="green" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-003.xht
new file mode 100644
index 00000000000..39373a07603
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be translated vertically, therefore the child element should be translated vertically to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateY(40)">
+ <rect width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-004.xht
new file mode 100644
index 00000000000..18d94b02e65
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scale on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled, therefore the child element should be scaled to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scale(2)">
+ <rect y="20" width="40" fill="green" x="20" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-005.xht
new file mode 100644
index 00000000000..3ad61f5ce87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled horizontally, therefore the child element should be scaled horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect y="40" width="40" fill="green" x="20" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-006.xht
new file mode 100644
index 00000000000..ae4145edb9d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and scaleY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be scaled vertically, therefore the child element should be scaled vertically to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect y="20" width="80" fill="green" x="40" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-007.xht
new file mode 100644
index 00000000000..6d47c086f48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated, therefore the child element should be rotated. The green rect in this test should be rotated by 90 degrees clockwise to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90)">
+ <rect y="-120" width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-008.xht
new file mode 100644
index 00000000000..94d43137b0b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewX on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed horizontally, therefore the child element should be skewed horizontally to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(45)">
+ <rect width="100" fill="green" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-009.xht
new file mode 100644
index 00000000000..127c0e63ed8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and skewY on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be skewed vertically, therefore the child element should be skewed vertically to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 1,100 99,198 99,100 Z" fill="red"></path>
+ <g transform="skewY(45)">
+ <rect width="100" fill="green" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-010.xht
new file mode 100644
index 00000000000..9d1d053c347
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-010.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and matrix on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should have the transform matrix applied, therefore the child element should be scaled and translated to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-2 0 0 -2 120 120)">
+ <rect width="40" fill="green" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-011.xht
new file mode 100644
index 00000000000..8f82e3d58fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-group-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and rotate with three arguments on group</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to a child element. The group of elements should be rotated and translated, therefore the child element should be rotated and translated. The green rect in this test should be rotated by 90 degrees clockwise after the transform origin is translated by 20 pixels in both the vertical and horizontal directions to completely cover the red rect." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90deg,20px,20px)">
+ <rect y="-80" width="80" fill="green" x="40" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-001.xht
new file mode 100644
index 00000000000..db2d8d3b9fb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-001.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: No separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with no separation between the 3 transform functions in the list" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200)translateY(100)rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-002.xht
new file mode 100644
index 00000000000..ed35f87e21d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-002.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Comma + no whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with no whitespace." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),translateY(100),rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-003.xht
new file mode 100644
index 00000000000..0450457284a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-003.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Comma + whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200), translateY(100), rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-004.xht
new file mode 100644
index 00000000000..789ca21fb5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-004.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Whitespace separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by whitespace." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) translateY(100) rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-005.xht
new file mode 100644
index 00000000000..fec3257b410
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-005.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Comma, whitespace, and no separations between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list delimited by a comma, whitespace, and nothing." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),translateY(100) rotate(45)rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-006.xht
new file mode 100644
index 00000000000..47c5959bf62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-006.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Multiple spaces between transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 4 transform functions in the list with multiple spaces between them" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) translateY(100) rotate(45) rotate(45)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-007.xht
new file mode 100644
index 00000000000..b101635c96a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-007.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Multiple spaces before and after transform functions on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with multiple spaces before and after the transform function list" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform=" translateX(200),translateY(100) rotate(45)rotate(45) " height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-008.xht
new file mode 100644
index 00000000000..fe4ead8af7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-008.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by commas separations with multiple spaces before the commas on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) ,translateY(100) ,rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-009.xht
new file mode 100644
index 00000000000..1a86a06fd47
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-009.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by commas separations with spaces before and after the commas on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas with whitespace before the commas." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200) , translateY(100) , rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-010.xht
new file mode 100644
index 00000000000..f392a358037
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-010.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by newlines on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by newlines" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200)
+ translateY(100)
+ rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-011.xht
new file mode 100644
index 00000000000..4241c76173c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-list-separations-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: Transform functions separated by commas and newlines on SVG presentation attribute</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-list" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-functional-notation" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <link href="reference/svg-transform-list-separations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The rect in the test should have an x offset of 100, a y offset of 100, and should be rotated 90 degrees clockwise with 3 transform functions in the list delimited by commas and newlines" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a vertical orange stripe to the left of a vertical fuchsia stripe.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <!-- Fill with Gradient to avoid false positive. -->
+ <defs>
+ <linearGradient x2="0%" y1="0%" x1="0%" y2="100%" id="grad">
+ <stop stop-color="fuchsia" offset="50%"></stop>
+ <stop stop-color="orange" offset="50%"></stop>
+ </linearGradient>
+ </defs>
+ <rect width="100" fill="url(#grad)" transform="translateX(200),
+ translateY(100),
+ rotate(90)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-001.xht
new file mode 100644
index 00000000000..47842b51f86
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate on group, translate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(20 20)">
+ <rect width="80" fill="green" transform="translate(20 20)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-002.xht
new file mode 100644
index 00000000000..14d083a8fef
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, translateX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be translated horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(20px)">
+ <rect y="40" width="80" fill="green" transform="translateX(20px)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-003.xht
new file mode 100644
index 00000000000..974408c9a7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, translateY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be translated vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateY(20)">
+ <rect width="80" height="80" fill="green" transform="translateY(20)" x="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-004.xht
new file mode 100644
index 00000000000..6a9f31da214
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, scale on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scale(2)">
+ <rect width="20" y="10" x="10" fill="green" transform="scale(2)" height="20"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-005.xht
new file mode 100644
index 00000000000..bdbdd77fdf0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="20" y="40" x="10" fill="green" transform="scaleX(2)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-006.xht
new file mode 100644
index 00000000000..9ab41fd7dc7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, scaleY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect width="80" y="10" x="40" fill="green" transform="scaleY(2)" height="20"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-007.xht
new file mode 100644
index 00000000000..1370ae82048
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, rotate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(45)">
+ <rect width="80" y="-120" x="40" fill="green" transform="rotate(45)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-008.xht
new file mode 100644
index 00000000000..6b5e052af35
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-008.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewX on group, skewX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be skewed horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 99,1 196,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(27)">
+ <rect width="100" fill="green" transform="skewX(26)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-009.xht
new file mode 100644
index 00000000000..46ed017a53f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-009.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewY on group, skewY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be skewed vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 1,99 99,197 99,100 Z" fill="red"></path>
+ <g transform="skewY(27)">
+ <rect width="100" fill="green" transform="skewY(26)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-010.xht
new file mode 100644
index 00000000000..5bb3599e0a5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-010.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, matrix on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled and translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-0.25 0 0 -0.25 50 50)">
+ <rect width="160" fill="green" transform="matrix(2 0 0 2 -280 -280)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-011.xht
new file mode 100644
index 00000000000..2b88ee0ed88
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-011.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translate on group, scale on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated. Additionally, the child rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translate(40 40)">
+ <rect width="40" fill="green" transform="scale(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-012.xht
new file mode 100644
index 00000000000..3fcb6834666
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-012.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, scaleY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated horizontally. Additionally, the child rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="translateX(40px)">
+ <rect y="20" width="80" fill="green" transform="scaleY(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-013.xht
new file mode 100644
index 00000000000..92a65dbc2ae
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, skewX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be translated vertically. Additionally, the child rect should be skewed horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,26 100,26 198,124 100,124 Z" fill="red"></path>
+ <g transform="translateY(25)">
+ <rect width="100" fill="green" transform="skewX(45)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-014.xht
new file mode 100644
index 00000000000..68b51ff4517
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, skewY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled. Additionally, the child rect should be skewed vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 1,2 1,100 99,198 99,100 Z" fill="red"></path>
+ <g transform="scale(0.5)">
+ <rect width="200" fill="green" transform="skewY(45)" height="200"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-015.xht
new file mode 100644
index 00000000000..d6a02d93695
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-015.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, rotate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="80" y="-60" x="40" fill="green" transform="rotate(90)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-016.xht
new file mode 100644
index 00000000000..f75ffb91176
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-016.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, translateX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled vertically. Additionally, the child rect should be translated horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleY(2)">
+ <rect y="20" width="80" fill="green" transform="translateX(40)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-017.xht
new file mode 100644
index 00000000000..10389ef6126
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-017.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, translateY on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be rotated. Additionally, the child rect should be translated vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="rotate(90)">
+ <rect width="80" y="-160" x="40" fill="green" transform="translateY(40)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-018.xht
new file mode 100644
index 00000000000..a969b57062f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewX on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed horizontally. Additionally, the child rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 2,1 100,1 198,99 100,99 Z" fill="red"></path>
+ <g transform="skewX(45)">
+ <rect width="200" fill="green" transform="scaleX(0.5)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-019.xht
new file mode 100644
index 00000000000..12016e7d18b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, skewY on group, translate on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-250x250-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be skewed vertically. Additionally, the child rect should be translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 250px;
+ height: 250px;
+ background: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 21,42 21,140 119,238 119,140 Z" fill="red"></path>
+ <g transform="skewY(45)">
+ <rect width="100" fill="green" transform="translate(20 20)" height="100"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-020.xht
new file mode 100644
index 00000000000..91361d4414e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-020.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, scaleX on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled and translated. Additionally, the child rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="matrix(-1 0 0 -2 120 120)">
+ <rect width="40" fill="green" transform="scaleX(2)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-021.xht
new file mode 100644
index 00000000000..e758828737c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translate on group, scaleY on child1, rotate on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated. Additionally, the first rect should be scaled vertically and the second rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translate(20 20)">
+ <rect width="78" y="42" x="21" fill="red" transform="scaleY(0.5)" height="156"></rect> <!-- false positive if scaleY is negative; need to fix -->
+ <rect width="80" y="-100" x="20" fill="green" transform="rotate(90)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-022.xht
new file mode 100644
index 00000000000..646a196686b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateX on group, scaleX on child1, matrix on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated horizontally. Additionally, the first rect should be scaled horizontally and the second rect should have the transform matrix applied." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translateX(20)">
+ <rect width="156" y="41" x="42" fill="red" transform="scaleX(0.5)" height="78"></rect> <!-- false positive if scaleX is negative -->
+ <rect width="40" fill="green" transform="matrix(-2 0 0 -2 100 120)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-023.xht
new file mode 100644
index 00000000000..74b4b1f48f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, translateY on group, translate on child1, scale on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be translated vertically. Additionally, the first rect should be translated and the second rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="translateY(25px)">
+ <rect width="78" y="1" x="1" fill="red" transform="translate(40px 15px)" height="78"></rect>
+ <rect width="160" y="30" x="80" fill="green" transform="scale(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-024.xht
new file mode 100644
index 00000000000..a640328a8b4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-024.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scale on group, translateX on child1, scaleX on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled. Additionally, the first rect should be translated horizontally and the second rect should be scaled horizontally." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scale(0.5)">
+ <rect width="156" y="82" x="62" fill="red" transform="translateX(20)" height="156"></rect>
+ <rect width="320" y="80" x="160" fill="green" transform="scaleX(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-025.xht
new file mode 100644
index 00000000000..c227c4e448d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, translateY on child1, scale on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled horizontally. Additionally, the first rect should be translated vertically and the second rect should be scaled." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scaleX(0.5)">
+ <rect width="156" y="21" x="82" fill="red" transform="translateY(20)" height="78"></rect>
+ <rect width="320" y="80" x="160" fill="green" transform="scale(0.5)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-026.xht
new file mode 100644
index 00000000000..a9056be5055
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-026.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleY on group, translate on child1, rotate on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be scaled vertically. Additionally, the first rect should be translated and the second rect should be rotated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="scaleY(0.5)"> <!-- false positive if scaleY is negative; need to fix -->
+ <rect width="78" y="42" x="21" fill="red" transform="translate(20 40)" height="156"></rect>
+ <rect width="160" y="-120" x="80" fill="green" transform="rotate(90)" height="80"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-027.xht
new file mode 100644
index 00000000000..af741630286
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-027.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, rotate on group, translateX on child1, scaleY on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should be rotated. Additionally, the first rect should be translated horizontally and the second rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="rotate(90)">
+ <rect width="80" y="-120" x="20" fill="green" transform="translateX(20)" height="80"></rect>
+ <rect width="80" y="-240" x="40" fill="green" transform="scaleY(0.5)" height="160"></rect> <!-- false positive if scaleY is negative; need to fix -->
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-028.xht
new file mode 100644
index 00000000000..2329fe3a9ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-028.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, matrix on group, scaleY on child1, translateY on child2</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on parent elements should be pre-multiplied to transforms on child elements. The group of elements should have the transform matrix applied. Additionally, the first rect should be translated vertically and the second rect should be scaled vertically." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect> <!-- this rect is outside the group to catch failures of the group transform -->
+ <g transform="matrix(-0.5 0 0 -0.5 120 90)">
+ <rect width="156" y="-116" x="2" fill="red" transform="scaleY(0.5)" height="312"></rect> <!-- false positive if scaleY is between 0.4 and -0.3 -->
+ <rect width="160" fill="green" transform="translateY(-60)" height="160"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-029.xht
new file mode 100644
index 00000000000..5163e639b1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-transform-nested-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute, scaleX on group, rotate with three arguments on child</title>
+ <link href="mailto:dalcala@adobe.com" rel="author" title="David Alcala" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-functions" rel="help" />
+ <link href="reference/svg-green-square-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="Transforms on a parent element should be pre-multiplied to transforms on a child element. The group of elements should be scaled horizontally. Additionally, the child rect should be rotated after the transform origin is translated." name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 200px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="78" fill="red" x="41" height="78"></rect>
+ <g transform="scaleX(2)">
+ <rect width="80" y="-20" x="40" fill="green" transform="rotate(90deg,20px,20px)" height="40"></rect>
+ </g>
+ </svg>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-001.xht
new file mode 100644
index 00000000000..3142e6f324d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value arguments without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50 50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-002.xht
new file mode 100644
index 00000000000..690fc45e359
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-003.xht
new file mode 100644
index 00000000000..8189609fdb6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(37.5pt 37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-004.xht
new file mode 100644
index 00000000000..7c266980125
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(3.125pc 3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-005.xht
new file mode 100644
index 00000000000..33cbce39803
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(13.229166667mm 13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-006.xht
new file mode 100644
index 00000000000..d18774d7be4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1.322916667cm 1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-007.xht
new file mode 100644
index 00000000000..a605ff608c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.520833333in 0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-008.xht
new file mode 100644
index 00000000000..6402efb8c94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(2.5em 2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-009.xht
new file mode 100644
index 00000000000..79774cf8ef2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value and unit less arguments in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.0e1 5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-010.xht
new file mode 100644
index 00000000000..0f155e64c01
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.0e1px 5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-011.xht
new file mode 100644
index 00000000000..f1253c86478
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(3.75e1pt 3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-012.xht
new file mode 100644
index 00000000000..4c7744b48a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.3125e1pc 0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-013.xht
new file mode 100644
index 00000000000..28894c9873e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1.3229166667e1mm 1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-014.xht
new file mode 100644
index 00000000000..a44c27f6d2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.1322916667e1cm 0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-015.xht
new file mode 100644
index 00000000000..7d6a0b0f8db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.0520833333e1in 0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-016.xht
new file mode 100644
index 00000000000..482c6c0df60
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.25e1em 0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-017.xht
new file mode 100644
index 00000000000..b71b449269a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value unit less arguments in scientific notation with negative exponents</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(500e-1 500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-018.xht
new file mode 100644
index 00000000000..db54752b168
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pixel units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(500.0e-1px 500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-019.xht
new file mode 100644
index 00000000000..09602b14d22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with point units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(375e-1pt 375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-020.xht
new file mode 100644
index 00000000000..3042001b704
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-020.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with pica units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(31.25e-1pc 31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-021.xht
new file mode 100644
index 00000000000..f6ce678674d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with millimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(132.29166667e-1mm 132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-022.xht
new file mode 100644
index 00000000000..b33a2b17b37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with centimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(13.22916667e-1cm 13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-023.xht
new file mode 100644
index 00000000000..c659ab83c0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with inch units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(5.20833333e-1in 5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-024.xht
new file mode 100644
index 00000000000..ed36c50591b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with em units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(25e-1em 25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-025.xht
new file mode 100644
index 00000000000..6766027ab95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with negative translation-value arguments without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-50 -50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-026.xht
new file mode 100644
index 00000000000..d1692290b14
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-026.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative pixel units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-50px -50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-027.xht
new file mode 100644
index 00000000000..6342904ab50
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-027.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative point units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-37.5pt -37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-028.xht
new file mode 100644
index 00000000000..2d4f796e72b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-028.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative pica units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-3.125pc -3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-029.xht
new file mode 100644
index 00000000000..1ab80920fd5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative millimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-13.229166667mm -13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-030.xht
new file mode 100644
index 00000000000..1495e2906dc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-030.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative centimeter units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-1.322916667cm -1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-031.xht
new file mode 100644
index 00000000000..0a96a595bf5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-031.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative inch units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.520833333in -0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-032.xht
new file mode 100644
index 00000000000..e4bcfe9ce48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-032.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative em units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-2.5em -2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-033.xht
new file mode 100644
index 00000000000..fc136920771
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-033.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value and negative unit less arguments in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.0e1 -5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-034.xht
new file mode 100644
index 00000000000..21c7b823ee4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-034.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.0e1px -5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-035.xht
new file mode 100644
index 00000000000..424e0835c23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-035.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with point units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-3.75e1pt -3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-036.xht
new file mode 100644
index 00000000000..d1a7709fe3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-036.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pica units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.3125e1pc -0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-037.xht
new file mode 100644
index 00000000000..5764f07a40d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-037.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-1.3229166667e1mm -1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-038.xht
new file mode 100644
index 00000000000..8de5be0e1a8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-038.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.1322916667e1cm -0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-039.xht
new file mode 100644
index 00000000000..c0eab0eb346
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-039.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.0520833333e1in -0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-040.xht
new file mode 100644
index 00000000000..f1142e4f634
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-040.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with em units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-0.25e1em -0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-041.xht
new file mode 100644
index 00000000000..0e1ad2d0f92
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-041.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with translation-value unit less negative arguments in scientific notation with negative exponents</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-500e-1 -500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-042.xht
new file mode 100644
index 00000000000..a3b7aaf0d4f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-042.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pixel units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-500.0e-1px -500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-043.xht
new file mode 100644
index 00000000000..c406f3a81a6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-043.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with point units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-375e-1pt -375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-044.xht
new file mode 100644
index 00000000000..3a01603c532
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-044.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with pica units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-31.25e-1pc -31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-045.xht
new file mode 100644
index 00000000000..014b861764d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-045.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with millimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-132.29166667e-1mm -132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-046.xht
new file mode 100644
index 00000000000..50579b75696
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-046.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with centimeter units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-13.22916667e-1cm -13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-047.xht
new file mode 100644
index 00000000000..6c2e59f7ff9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-047.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with inch units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-5.20833333e-1in -5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-048.xht
new file mode 100644
index 00000000000..df797533b38
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-048.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with em units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="100" x="100" fill="green" transform="translate(-25e-1em -25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-049.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-049.xht
new file mode 100644
index 00000000000..d7c26e8f1b2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-049.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with one translation-value argument</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect y="50" width="100" fill="green" transform="translate(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-050.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-050.xht
new file mode 100644
index 00000000000..eb7b1cd2a07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-050.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with one negative translation-value argument</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function takes tx as the first translation-value parameter and ty is the optional second translation-value parameter. If ty is not provided, ty has zero as a value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" y="50" x="100" fill="green" transform="translate(-50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-051.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-051.xht
new file mode 100644
index 00000000000..39c4150aea7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-051.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with no spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with no spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px,50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-052.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-052.xht
new file mode 100644
index 00000000000..4528db088d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-052.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with a space in between</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with a space in between. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px, 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-053.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-053.xht
new file mode 100644
index 00000000000..46a50c7b32b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-053.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with arguments separated by multiple spaces</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can multiple spaces. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-054.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-054.xht
new file mode 100644
index 00000000000..d2c5d809a02
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-054.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with multiple spaces before the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with multiple spaces before the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px ,50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-055.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-055.xht
new file mode 100644
index 00000000000..09168c771cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-055.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translate with comma delimited arguments with multiple spaces before and after the comma</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function arguments can be separated by an optional comma with multiple spaces before and after the comma. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(50px , 50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-001.xht
new file mode 100644
index 00000000000..128238dbf42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in px, y unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(100px 50)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-002.xht
new file mode 100644
index 00000000000..c49aa9151b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x unit less, y in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(100 50px)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-003.xht
new file mode 100644
index 00000000000..89aba6db737
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in cm, y in mm</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(2.645833333cm 13.229166667mm)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-004.xht
new file mode 100644
index 00000000000..c756cba18aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with different absolute units on translate - x in pc, y in pt</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" fill="green" transform="translate(6.25pc 37.5pt)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-005.xht
new file mode 100644
index 00000000000..2ce8584bd28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x negative in inches, y positive in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect width="75" height="75" fill="green" transform="translate(-1.041666667in 50px)" x="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-006.xht
new file mode 100644
index 00000000000..a506a7884aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-abs-unit-combinations-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and positive and negative translation-value arguments different absolute units on translate - x positive in px, y negative in cm</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-abs-unit-combinations-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support different absoulute units on translation-value arguments. The rect in the test should be moved 100 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="73" fill="red" x="101" height="73"></rect>
+ <rect y="100" width="75" fill="green" transform="translate(100px -1.322916667cm)" height="75"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-001.xht
new file mode 100644
index 00000000000..988beea6154
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41px" width="98" fill="red" x="41px" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(1ex 1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-002.xht
new file mode 100644
index 00000000000..7568ee0816d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(0.1e1ex 0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-003.xht
new file mode 100644
index 00000000000..af24169386b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-003.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with ex units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translate(10e-1ex 10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-004.xht
new file mode 100644
index 00000000000..4de70f7c113
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative ex units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-1ex -1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-005.xht
new file mode 100644
index 00000000000..edf537aaf6f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with ex units in scientific notation on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-0.1e1ex -0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-006.xht
new file mode 100644
index 00000000000..dd96da2bc52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-ex-unit-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative arguments with ex units in scientific notation with negative exponents on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translate transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction and 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" y="80" x="80" fill="green" transform="translate(-10e-1ex -10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-001.xht
new file mode 100644
index 00000000000..c92916ca9b9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be called multiple times on the same element. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="76" width="148" fill="red" x="51" height="148"></rect>
+ <rect width="150" fill="green" transform="translate(25px 25px) translate(25px 50px)" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-002.xht
new file mode 100644
index 00000000000..264d056974c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be applied multiple times and in both directions. The rect in the test should be moved 50 pixels in the X direction and 75 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="76" width="148" fill="red" x="51" height="148"></rect>
+ <rect width="150" fill="green" transform="translate(150 150) translate(-100 -75)" height="150"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-001.xht
new file mode 100644
index 00000000000..03df43ae1a2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be called multiple times on the same element with relative and absolute values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="198" fill="red" x="51" height="98"></rect>
+ <rect width="200" fill="green" transform="translate(25px 25px) translate(12.5% 75%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-002.xht
new file mode 100644
index 00000000000..66a82d50ebe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-multiple-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with translate applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-multiple-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can be called multiple times in relative translation-values. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="198" fill="red" x="51" height="98"></rect>
+ <rect width="200" fill="green" transform="translate(10% 25%) translate(15% 75%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-001.xht
new file mode 100644
index 00000000000..10484edb718
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with percentage units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-002.xht
new file mode 100644
index 00000000000..040f4f26d97
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value arguments with negative percentage units on translate</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" y="200" x="100" fill="green" transform="translate(-50% -50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-003.xht
new file mode 100644
index 00000000000..e29386abf41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - with tx in px, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-004.xht
new file mode 100644
index 00000000000..4b088e5d2ca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty in px</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 100px)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-005.xht
new file mode 100644
index 00000000000..39878776cca
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-005.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx unit less, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50 50%)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-006.xht
new file mode 100644
index 00000000000..52f81bce28d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-006.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - tx in %, ty unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50% 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-007.xht
new file mode 100644
index 00000000000..f1f959a47c7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-007.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative width, tx in %, ty unit less</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 100 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 200px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="50%" fill="green" transform="translate(50% 100)" height="200"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-008.xht
new file mode 100644
index 00000000000..cb2c1ed5ec3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translate-relative-008.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute with relative and absolute combined translation-value arguments for translate - relative height, tx in px, ty in %</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <link href="reference/svg-translate-relative-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translate transform function can have combinations of relative and absolute arguments and can be applied to relative sized shapes. The rect in the test should be moved 50 pixels in the X direction and 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 400px;
+ height: 400px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="101" width="98" fill="red" x="51" height="198"></rect>
+ <rect width="100" fill="green" transform="translate(50px 50%)" height="50%"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-001.xht
new file mode 100644
index 00000000000..7e27836012a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect width="100" fill="green" transform="translateX(50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-002.xht
new file mode 100644
index 00000000000..c5198c78a2a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-003.xht
new file mode 100644
index 00000000000..185cfcdb4fe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-004.xht
new file mode 100644
index 00000000000..bf380391c44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-005.xht
new file mode 100644
index 00000000000..b33f0271c29
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-006.xht
new file mode 100644
index 00000000000..96d771b4eba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-007.xht
new file mode 100644
index 00000000000..c62e661a386
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-008.xht
new file mode 100644
index 00000000000..925e7e2996e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-009.xht
new file mode 100644
index 00000000000..46352873efa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-010.xht
new file mode 100644
index 00000000000..e4e41b2b584
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-011.xht
new file mode 100644
index 00000000000..33581c18c79
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-012.xht
new file mode 100644
index 00000000000..ca110b37bb5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-013.xht
new file mode 100644
index 00000000000..171a9e2545e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-014.xht
new file mode 100644
index 00000000000..1d013f596bc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-015.xht
new file mode 100644
index 00000000000..0bb48ee388c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-016.xht
new file mode 100644
index 00000000000..c9313d8316c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-017.xht
new file mode 100644
index 00000000000..0b6fb3368d8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-018.xht
new file mode 100644
index 00000000000..a77ee84a257
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-019.xht
new file mode 100644
index 00000000000..cb53060ad87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-020.xht
new file mode 100644
index 00000000000..b2daa0729bb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-020.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-021.xht
new file mode 100644
index 00000000000..0fa91bf7d95
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-022.xht
new file mode 100644
index 00000000000..7269351cfd0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-023.xht
new file mode 100644
index 00000000000..5b8d2ef9133
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-024.xht
new file mode 100644
index 00000000000..b0867f4623c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-025.xht
new file mode 100644
index 00000000000..b93782e34be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-026.xht
new file mode 100644
index 00000000000..f352947bd3b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-026.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pixel unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-027.xht
new file mode 100644
index 00000000000..3af9df52f59
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-027.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative point unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-37.5pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-028.xht
new file mode 100644
index 00000000000..649f77c25e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-028.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pica unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-3.125pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-029.xht
new file mode 100644
index 00000000000..5a8b2987db5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative millimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-13.229166667mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-030.xht
new file mode 100644
index 00000000000..79b3611611f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-030.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative centimeter unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1.322916667cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-031.xht
new file mode 100644
index 00000000000..28a17f39eb7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-031.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative inch unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.520833333in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-032.xht
new file mode 100644
index 00000000000..60e747c3499
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-032.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative em unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-2.5em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-033.xht
new file mode 100644
index 00000000000..f73edddb9d0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-033.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.0e1)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-034.xht
new file mode 100644
index 00000000000..159fe3dbb2c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-034.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.0e1px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-035.xht
new file mode 100644
index 00000000000..e6ec8858c62
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-035.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-3.75e1pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-036.xht
new file mode 100644
index 00000000000..d05a2acc509
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-036.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.3125e1pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-037.xht
new file mode 100644
index 00000000000..1ab2adb5677
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-037.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1.3229166667e1mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-038.xht
new file mode 100644
index 00000000000..b73d86b4e49
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-038.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.1322916667e1cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-039.xht
new file mode 100644
index 00000000000..eec6f1177c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-039.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.0520833333e1in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-040.xht
new file mode 100644
index 00000000000..c84c59836ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-040.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.25e1em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-041.xht
new file mode 100644
index 00000000000..5035f19907a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-041.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateX with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-500e-1)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-042.xht
new file mode 100644
index 00000000000..9f9c8823cfe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-042.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-500.0e-1px)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-043.xht
new file mode 100644
index 00000000000..cd49adffd5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-043.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-375e-1pt)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-044.xht
new file mode 100644
index 00000000000..3298ef0ddb3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-044.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-31.25e-1pc)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-045.xht
new file mode 100644
index 00000000000..8ec6d3769e8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-045.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-132.29166667e-1mm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-046.xht
new file mode 100644
index 00000000000..d460e5850aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-046.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-13.22916667e-1cm)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-047.xht
new file mode 100644
index 00000000000..1e3169f1252
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-047.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-5.20833333e-1in)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-048.xht
new file mode 100644
index 00000000000..cbfe803d3e6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-048.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-25e-1em)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-001.xht
new file mode 100644
index 00000000000..3ce13964b74
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25px) translateX(25px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-002.xht
new file mode 100644
index 00000000000..82014ae8ac9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25px) translateX(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-003.xht
new file mode 100644
index 00000000000..a9b302c4a48
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(25%) translateX(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-004.xht
new file mode 100644
index 00000000000..313b07f6060
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-combination-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateX applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(150) translateX(-100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-001.xht
new file mode 100644
index 00000000000..95ba187bc84
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-002.xht
new file mode 100644
index 00000000000..52e49876ecf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-003.xht
new file mode 100644
index 00000000000..bba5900bba0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-003.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-004.xht
new file mode 100644
index 00000000000..71a64482075
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative ex unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-005.xht
new file mode 100644
index 00000000000..b43acaceca2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-0.1e1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-006.xht
new file mode 100644
index 00000000000..b1757def063
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-ex-unit-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateX transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="41" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-10e-1ex)" x="80"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-001.xht
new file mode 100644
index 00000000000..66d96ce9ef7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with percentage unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" fill="green" transform="translateX(50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-002.xht
new file mode 100644
index 00000000000..02f3598f402
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatex-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative percentage unit on translateX</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <link href="reference/svg-translatex-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateX transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the X direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="1" width="98" fill="red" x="51" height="98"></rect>
+ <rect width="100" height="100" fill="green" transform="translateX(-50%)" x="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-001.xht
new file mode 100644
index 00000000000..5e88df9b988
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-002.xht
new file mode 100644
index 00000000000..c59ed2a32d5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-003.xht
new file mode 100644
index 00000000000..203caa19b1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-004.xht
new file mode 100644
index 00000000000..c1dca634cd1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-005.xht
new file mode 100644
index 00000000000..2384899444f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-006.xht
new file mode 100644
index 00000000000..fcd36ed32be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-007.xht
new file mode 100644
index 00000000000..64b37a7adc4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-008.xht
new file mode 100644
index 00000000000..1ae71e1d112
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-008.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-009.xht
new file mode 100644
index 00000000000..62dfb3a73a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value and a unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-010.xht
new file mode 100644
index 00000000000..83d2a491a7c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-010.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-011.xht
new file mode 100644
index 00000000000..b317012b25d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-012.xht
new file mode 100644
index 00000000000..ab4f990985f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-013.xht
new file mode 100644
index 00000000000..104e6239f44
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-014.xht
new file mode 100644
index 00000000000..9357fb71ea0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-015.xht
new file mode 100644
index 00000000000..bb7e0f6703f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-016.xht
new file mode 100644
index 00000000000..9281786b78f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-017.xht
new file mode 100644
index 00000000000..15681ae004c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-017.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value unit less argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments in scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-018.xht
new file mode 100644
index 00000000000..e3a76545bf6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pixel unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-019.xht
new file mode 100644
index 00000000000..05a4bd6c432
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with point unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-020.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-020.xht
new file mode 100644
index 00000000000..58d4e23bbe5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-020.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with pica unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-021.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-021.xht
new file mode 100644
index 00000000000..d408caec477
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-021.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with millimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-022.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-022.xht
new file mode 100644
index 00000000000..972919cfe1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-022.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with centimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-023.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-023.xht
new file mode 100644
index 00000000000..79c992b5593
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-023.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with inch unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-024.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-024.xht
new file mode 100644
index 00000000000..1578f192744
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with em unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-025.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-025.xht
new file mode 100644
index 00000000000..b56f0730c81
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-025.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with a negative translation-value argument without unit</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative unit less arguments for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-026.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-026.xht
new file mode 100644
index 00000000000..55fc0bd2c85
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-026.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pixel unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'px' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-027.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-027.xht
new file mode 100644
index 00000000000..b3abd192b22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-027.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative point unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'pt' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-37.5pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-028.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-028.xht
new file mode 100644
index 00000000000..72782fffd06
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-028.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative pica unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'pc' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-3.125pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-029.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-029.xht
new file mode 100644
index 00000000000..e5f10c4a8c9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-029.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative millimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'mm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-13.229166667mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-030.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-030.xht
new file mode 100644
index 00000000000..d35a3fef5ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-030.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative centimeter unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'cm' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-1.322916667cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-031.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-031.xht
new file mode 100644
index 00000000000..c53886b1d77
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-031.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative inch unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the absolute length unit 'in' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.520833333in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-032.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-032.xht
new file mode 100644
index 00000000000..a8e0567ada0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-032.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative em unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the relative length unit 'em' on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-2.5em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-033.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-033.xht
new file mode 100644
index 00000000000..c2d916633df
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-033.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value and a negative unit less argument in scientific notation</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative unit less arguments in scientific numbers for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.0e1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-034.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-034.xht
new file mode 100644
index 00000000000..f2cd1a801f5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-034.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.0e1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-035.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-035.xht
new file mode 100644
index 00000000000..a64d3641a91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-035.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-3.75e1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-036.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-036.xht
new file mode 100644
index 00000000000..3a44c23e728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-036.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.3125e1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-037.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-037.xht
new file mode 100644
index 00000000000..48fad4869fd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-037.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-1.3229166667e1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-038.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-038.xht
new file mode 100644
index 00000000000..36598267d23
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-038.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.1322916667e1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-039.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-039.xht
new file mode 100644
index 00000000000..1729cfb308b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-039.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.0520833333e1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-040.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-040.xht
new file mode 100644
index 00000000000..ccf0ee4c01f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-040.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-0.25e1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-041.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-041.xht
new file mode 100644
index 00000000000..1af9a7ba2db
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-041.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translateY with translation-value unit less negative argument in scientific notation with a negative exponent</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform-value" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support unit less arguments in negative scientific numbers with negative exponents for translation-value. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-500e-1)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-042.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-042.xht
new file mode 100644
index 00000000000..27ee83a8e3d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-042.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pixel unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'px' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-500.0e-1px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-043.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-043.xht
new file mode 100644
index 00000000000..c3e87a21c04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-043.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with point unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pt' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-375e-1pt)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-044.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-044.xht
new file mode 100644
index 00000000000..e401fb41a0b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-044.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with pica unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'pc' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-31.25e-1pc)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-045.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-045.xht
new file mode 100644
index 00000000000..ba18152f7de
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-045.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with millimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'mm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-132.29166667e-1mm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-046.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-046.xht
new file mode 100644
index 00000000000..21c54fd2bbd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-046.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with centimeter unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'cm' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-13.22916667e-1cm)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-047.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-047.xht
new file mode 100644
index 00000000000..2d65647c979
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-047.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with inch unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support the absolute length unit 'in' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-5.20833333e-1in)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-048.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-048.xht
new file mode 100644
index 00000000000..d8313d56cb1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-048.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with em unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'em' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 20px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-25e-1em)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-001.xht
new file mode 100644
index 00000000000..7979da3e757
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied twice</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be called twice on the same element. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25px) translateY(25px)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-002.xht
new file mode 100644
index 00000000000..6a388bed605
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied once in pixels and once in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be called twice on the same element with different translation-value units. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25px) translateY(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-003.xht
new file mode 100644
index 00000000000..c6dc592e3eb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied twice in percentage units</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be called twice in percentage units. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(25%) translateY(25%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-004.xht
new file mode 100644
index 00000000000..7a146b47e0b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-combination-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with translateY applied in both directions</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function can be applied in both directions. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(150) translateY(-100)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-001.xht
new file mode 100644
index 00000000000..25d89c84bd2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-002.xht
new file mode 100644
index 00000000000..b100e5f6e83
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-003.xht
new file mode 100644
index 00000000000..3106587b785
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-003.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with ex unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-004.xht
new file mode 100644
index 00000000000..38152406d83
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-004.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative ex unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support negative numbers in the relative length unit 'ex' on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-005.xht
new file mode 100644
index 00000000000..cf9faf5bc43
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in negative scientific numbers on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-0.1e1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-006.xht
new file mode 100644
index 00000000000..6fd64a07995
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-ex-unit-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value negative argument with ex unit in scientific notation with a negative exponent on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-number" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ex-unit-ref.xht" rel="match" />
+ <meta content="svg ahem" name="flags" />
+ <meta content="The translateY transform function must support the relative length unit 'ex' in negative scientific numbers with negative exponents on translation-value arguments. The rect in the test should be moved 40 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ line-height: 1;
+ font: 50px Ahem;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="41" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="80" width="100" fill="green" transform="translateY(-10e-1ex)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-001.xht
new file mode 100644
index 00000000000..3fcaaf7abab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with percentage unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect width="100" fill="green" transform="translateY(50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-002.xht
new file mode 100644
index 00000000000..8e000c50ab1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/svg-translatey-relative-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: SVG presentation attribute and translation-value argument with negative percentage unit on translateY</title>
+ <link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#svg-transform" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <link href="reference/svg-translatey-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The translateY transform function must support negative percentage units on translation-value arguments. The rect in the test should be moved 50 pixels in the Y direction" name="assert" />
+ <style type="text/css">
+ svg {
+ width: 300px;
+ height: 300px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <rect y="51" width="98" fill="red" x="1" height="98"></rect>
+ <rect y="100" width="100" fill="green" transform="translateY(-50%)" height="100"></rect>
+ </svg>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/toc.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/toc.xht
new file mode 100644
index 00000000000..1c48e768141
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/toc.xht
@@ -0,0 +1,129 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Transforms Module Level 1 CR Test Suite</title>
+ <style type="text/css">
+ @import "http://www.w3.org/StyleSheets/TR/base.css";
+ @import "../indices.css";
+ </style>
+ </head>
+<body>
+ <h1>CSS Transforms Module Level 1 CR Test Suite By Chapter</h1>
+
+ <p>This index contains both
+ <a href="http://wiki.csswg.org/test/selftest">self-describing tests</a>
+ and reftests.
+ A separate <a href="reftest-toc.xht">alphabetical reftest index</a>
+ is provided for tests in <a href="http://wiki.csswg.org/test/reftest">reftest
+ format</a> along with the <a href="reftest.list">reftest manifest</a>.</p>
+
+ <table>
+ <tbody id="s1">
+ <tr><th><a href="chapter-1.xht">Chapter 1 -
+ Introduction</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s2">
+ <tr><th><a href="chapter-2.xht">Chapter 2 -
+ Module Interactions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s3">
+ <tr><th><a href="chapter-3.xht">Chapter 3 -
+ CSS Values</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s4">
+ <tr><th><a href="chapter-4.xht">Chapter 4 -
+ Terminology</a></th>
+ <td>(5 Tests)</td></tr>
+ </tbody>
+ <tbody id="s5">
+ <tr><th><a href="chapter-5.xht">Chapter 5 -
+ Two Dimensional Subset</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s6">
+ <tr><th><a href="chapter-6.xht">Chapter 6 -
+ The Transform Rendering Model</a></th>
+ <td>(48 Tests)</td></tr>
+ </tbody>
+ <tbody id="s7">
+ <tr><th><a href="chapter-7.xht">Chapter 7 -
+ The transform Property</a></th>
+ <td>(102 Tests)</td></tr>
+ </tbody>
+ <tbody id="s8">
+ <tr><th><a href="chapter-8.xht">Chapter 8 -
+ The transform-origin Property</a></th>
+ <td>(117 Tests)</td></tr>
+ </tbody>
+ <tbody id="s9">
+ <tr><th><a href="chapter-9.xht">Chapter 9 -
+ The transform-style Property</a></th>
+ <td>(26 Tests)</td></tr>
+ </tbody>
+ <tbody id="s10">
+ <tr><th><a href="chapter-10.xht">Chapter 10 -
+ The perspective Property</a></th>
+ <td>(17 Tests)</td></tr>
+ </tbody>
+ <tbody id="s11">
+ <tr><th><a href="chapter-11.xht">Chapter 11 -
+ The perspective-origin Property</a></th>
+ <td>(11 Tests)</td></tr>
+ </tbody>
+ <tbody id="s12">
+ <tr><th><a href="chapter-12.xht">Chapter 12 -
+ The backface-visibility Property</a></th>
+ <td>(8 Tests)</td></tr>
+ </tbody>
+ <tbody id="s13">
+ <tr><th><a href="chapter-13.xht">Chapter 13 -
+ The SVG transform Attribute</a></th>
+ <td>(703 Tests)</td></tr>
+ </tbody>
+ <tbody id="s14">
+ <tr><th><a href="chapter-14.xht">Chapter 14 -
+ SVG Animation</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s15">
+ <tr><th><a href="chapter-15.xht">Chapter 15 -
+ The Transform Functions</a></th>
+ <td>(691 Tests)</td></tr>
+ </tbody>
+ <tbody id="s16">
+ <tr><th><a href="chapter-16.xht">Chapter 16 -
+ The Transform Function Lists</a></th>
+ <td>(13 Tests)</td></tr>
+ </tbody>
+ <tbody id="s17">
+ <tr><th><a href="chapter-17.xht">Chapter 17 -
+ Interpolation of Transforms</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s18">
+ <tr><th><a href="chapter-18.xht">Chapter 18 -
+ Transform function primitives and derivatives</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s19">
+ <tr><th><a href="chapter-19.xht">Chapter 19 -
+ Interpolation of primitives and derived transform functions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s20">
+ <tr><th><a href="chapter-20.xht">Chapter 20 -
+ Interpolation of Matrices</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ <tbody id="s21">
+ <tr><th><a href="chapter-21.xht">Chapter 21 -
+ Mathematical Description of Transform Functions</a></th>
+ <td>(0 Tests)</td></tr>
+ </tbody>
+ </table>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-2d-getComputedStyle-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-2d-getComputedStyle-001.xht
new file mode 100644
index 00000000000..bf0a27a03c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-2d-getComputedStyle-001.xht
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="mailto:youremail@address.com" rel="author" title="Your Name" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="CSS 2D transforms correctly report their matrix via getComputedStyle()" name="assert" />
+ <style type="text/css">
+ .block {
+ display: block;
+ width: 50px;
+ height: 50px;
+ background-color: green;
+ }
+ #translate {
+ transform: translate(10px, 20px);
+ }
+ #translateX {
+ transform: translateX(10px);
+ }
+ #translateY {
+ transform: translateY(20px);
+ }
+ #rotate {
+ transform: rotate(90deg);
+ }
+ #scale {
+ transform: scale(2.0);
+ }
+ #scaleX {
+ transform: scaleX(0.5);
+ }
+ #scaleY {
+ transform: scaleY(1.5);
+ }
+ #skewX {
+ transform: skewX(45deg);
+ }
+ #skewY {
+ transform: skewY(45deg);
+ }
+ #matrix {
+ transform: matrix(1, 2, 3, 4, 5, 6);
+ }
+ </style>
+ <script id="metadata_cache">/*
+ {
+ "Matrix for translation transforms": {},
+ "Matrix for rotate": {},
+ "Matrix for scaling": {},
+ "Matrix for skew": {},
+ "Matrix for general transform": {}
+ }
+ */</script>
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="log"></div>
+
+ <div class="block" id="translate"></div>
+ <div class="block" id="translateX"></div>
+ <div class="block" id="translateY"></div>
+ <div class="block" id="rotate"></div>
+ <div class="block" id="scale"></div>
+ <div class="block" id="scaleX"></div>
+ <div class="block" id="scaleY"></div>
+ <div class="block" id="skewX"></div>
+ <div class="block" id="skewY"></div>
+ <div class="block" id="matrix"></div>
+ <script type="text/javascript">
+ function getTransformFor(id) {
+ return window.getComputedStyle(document.getElementById(id)).getPropertyValue("transform");
+ }
+ function clear(id) {
+ document.getElementById(id).style.display = 'none';
+ }
+
+ test(function() {
+ assert_equals(getTransformFor("translate"), "matrix(1, 0, 0, 1, 10, 20)", "Incorrect matrix for translate()");
+ clear("translate");
+ assert_equals(getTransformFor("translateX"), "matrix(1, 0, 0, 1, 10, 0)", "Incorrect matrix for translateX()");
+ clear("translateX");
+ assert_equals(getTransformFor("translateY"), "matrix(1, 0, 0, 1, 0, 20)", "Incorrect matrix for translateY()");
+ clear("translateY");
+ }, "Matrix for translation transforms");
+
+ test(function() {
+ assert_equals(getTransformFor("rotate"), "matrix(0, 1, -1, 0, 0, 0)", "Incorrect matrix for rotate()");
+ clear("rotate");
+ }, "Matrix for rotate");
+
+ test(function() {
+ assert_equals(getTransformFor("scale"), "matrix(2, 0, 0, 2, 0, 0)", "Incorrect matrix for scale()");
+ clear("scale");
+ assert_equals(getTransformFor("scaleX"), "matrix(0.5, 0, 0, 1, 0, 0)", "Incorrect matrix for scaleX()");
+ clear("scaleX");
+ assert_equals(getTransformFor("scaleY"), "matrix(1, 0, 0, 1.5, 0, 0)", "Incorrect matrix for scaleY()");
+ clear("scaleY");
+ }, "Matrix for scaling");
+
+ test(function() {
+ assert_equals(getTransformFor("skewX"), "matrix(1, 0, 1, 1, 0, 0)", "Incorrect matrix for skewX()");
+ clear("skewX");
+ assert_equals(getTransformFor("skewY"), "matrix(1, 1, 0, 1, 0, 0)", "Incorrect matrix for skewY()");
+ clear("skewY");
+ }, "Matrix for skew");
+
+ test(function() {
+ assert_equals(getTransformFor("matrix"), "matrix(1, 2, 3, 4, 5, 6)", "Incorrect matrix for matrix()");
+ clear("matrix");
+ }, "Matrix for general transform");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-above-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-above-001.xht
new file mode 100644
index 00000000000..c20277f1154
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-above-001.xht
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test transform-3d-rotatey-stair-above-001"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" />
+ <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.xht" />
+ <meta name="flags" content="" />
+ <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid." />
+ <style type="text/css"><![CDATA[
+div {
+ height: 150px;
+ width: 150px;
+}
+.background {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+.container {
+ position: absolute;
+ top: 20px;
+ left: 0;
+ perspective: 500px;
+}
+.transformed {
+ background-color: red;
+ transform: rotateY(50deg);
+}
+.stair {
+ background-color: green;
+ position: absolute;
+}
+#one {
+ width: 33px;
+ height: 170px;
+ top: 10px;
+ left: 20px;
+}
+#two {
+ width: 33px;
+ height: 158px;
+ top: 16px;
+ left: 53px;
+}
+#three {
+ width: 33px;
+ height: 147px;
+ top: 21px;
+ left: 86px;
+}
+.stairs {
+ height: 180px;
+}
+ ]]></style>
+ </head>
+ <body>
+<div class="background">
+<div class="container">
+ <div class="transformed"></div>
+</div>
+<div class="stairs">
+ <div id="one" class="stair"></div>
+ <div id="two" class="stair"></div>
+ <div id="three" class="stair"></div>
+</div>
+</div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-below-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-below-001.xht
new file mode 100644
index 00000000000..6066aabc137
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-3d-rotateY-stair-below-001.xht
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: rotateY with perspective produces a trapezoid</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test transform-3d-rotatey-stair-below-001"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" />
+ <link rel="match" href="reference/transform-3d-rotateY-stair-above-ref-001.xht" />
+ <meta name="flags" content="" />
+ <meta name="assert" content="A rotateY transform with perspective should result in a trapezoid." />
+ <style type="text/css"><![CDATA[
+div {
+ height: 150px;
+ width: 150px;
+}
+.background {
+ background-color: green;
+ height: 200px;
+ width: 200px;
+}
+.container {
+ position: absolute;
+ top: 20px;
+ left: 0;
+ perspective: 500px;
+}
+.transformed {
+ background-color: green;
+ transform: rotateY(50deg);
+}
+.stair {
+ background-color: red;
+ position: absolute;
+}
+#one {
+ width: 32px;
+ height: 158px;
+ top: 16px;
+ left: 21px;
+}
+#two {
+ width: 33px;
+ height: 146px;
+ top: 22px;
+ left: 53px;
+}
+#three {
+ width: 33px;
+ height: 134px;
+ top: 28px;
+ left: 85px;
+}
+.stairs {
+ height: 180px;
+}
+ ]]></style>
+ </head>
+ <body>
+<div class="background">
+<div class="stairs">
+ <div id="one" class="stair"></div>
+ <div id="two" class="stair"></div>
+ <div id="three" class="stair"></div>
+</div>
+<div class="container">
+ <div class="transformed"></div>
+</div>
+</div>
+<p>You should see a green box. There should be no red.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-001.xht
new file mode 100644
index 00000000000..a236ff45008
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-001.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (left/top)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-002.xht
new file mode 100644
index 00000000000..84cf5159e28
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-002.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (left/top offsets)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-003.xht
new file mode 100644
index 00000000000..dc1eceee8d4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-003.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (right/bottom offsets)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport. (This test
+ differs from the previous in that it uses right/bottom properties for
+ positioning instead of left/top.)" name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ right: -150px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-004.xht
new file mode 100644
index 00000000000..1558a16b926
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-004.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (bottom/right)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer author" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. This test differs from transform-abspos-001.html in that it uses the
+ right/bottom properties for positioning instead of top/left." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ right: -150px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-005.xht
new file mode 100644
index 00000000000..ae19df20c98
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-005.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (bottom/right)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. Therefore, this test should be offset by one pixel from the
+ reference." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="mismatch" />
+ <style>
+ body &gt; div {
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ right: -160px;
+ bottom: 0;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-006.xht
new file mode 100644
index 00000000000..ef8a730dffa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-006.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Absolute Positioning (table)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block.&quot; This means absolutely positioned elements need to be
+ rooted at a transformed ancestor, just as though it had non-static
+ position. This test differs from transform-abspos-001.html in that the outer div is a
+ table, which might cause buggy rendering engines to treat it differently." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ display: table;
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: absolute;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-007.xht
new file mode 100644
index 00000000000..2e137ae71e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-abspos-007.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Containing Block for Fixed Positioning (inline-table)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;In the HTML namespace, any value other than
+ 'none' for the transform results in the creation of . . . a
+ containing block. The object acts as a containing block for fixed
+ positioned descendants.&quot; This means fixed-position elements need to be
+ rooted at a transformed ancestor, rather than the viewport. This test
+ differs from transform-abspos-002.html in that the outer div has display:
+ inline-table, which might cause it to render differently in buggy UAs." name="assert" />
+ <link href="reference/transform-abspos-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ display: inline-table;
+ width: 100px;
+ height: 200px;
+ transform: translate(50px, 50px);
+ background: gold;
+ }
+ body &gt; div &gt; div {
+ width: 200px;
+ height: 100px;
+ position: fixed;
+ left: 50px;
+ top: 100px;
+ background: navy;
+ color: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ <div>
+ 0 1 2 3 4 5 6 7 8 9
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-001.xht
new file mode 100644
index 00000000000..2f4522c1ea7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-001.xht
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: transform applied to elements with 'display' set to 'block'</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test transform-applies-to-001"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property" />
+ <link rel="match" href="reference/transform-applies-to-001-ref.xht" />
+ <meta name="flags" content="" />
+ <meta name="assert" content="The 'transform' property applies to elements with 'display' set to 'block'." />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ }
+ div p {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ }
+ #red {
+ width: 50px;
+ height: 100px;
+ background-color: green;
+ border-right: red solid 50px;
+ }
+ #test {
+ width: 100px;
+ height: 50px;
+ background-color: transparent;
+ border-top: green solid 50px;
+ transform: rotate(90deg);
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>You should see a green box. There should be no red.</p>
+ <div>
+ <p id="red"></p>
+ <p id="test"></p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-002.xht
new file mode 100644
index 00000000000..11b5b9711b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-applies-to-002.xht
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>CSS Test: Transform does not apply to non-replaced inline elements</title>
+ <style type="text/css">
+ @page { font: italic 8pt sans-serif; color: gray;
+ margin: 7%;
+ counter-increment: page;
+ @top-left { content: "CSS Transforms Module Level 1 CR Test Suite"; }
+ @top-right { content: "Test transform-applies-to-002"; }
+ @bottom-right { content: counter(page); }
+ }
+</style>
+ <link rel="author" title="Apple Inc." href="http://www.apple.com/" />
+ <link rel="help" href="http://www.w3.org/TR/css-transforms-1/#transform-property" />
+ <link rel="match" href="reference/transform-applies-to-002-ref.xht" />
+ <meta name="flags" content="ahem" />
+ <meta name="assert" content="The 'transform' property does not apply to non-replaced inline elements." />
+ <style type="text/css"><![CDATA[
+ div {
+ position: relative;
+ color: green;
+ }
+ div p {
+ width: 10em;
+ font-family: Ahem;
+ position: absolute;
+ top: 0;
+ left: 0;
+ line-height: 2;
+ }
+ #red span {
+ color: red;
+ }
+ #test span {
+ transform: rotate(90deg);
+ }
+ ]]></style>
+ </head>
+ <body>
+ <p>
+ You should see two lines of 5 green boxes each. You should see no
+ red.
+ </p>
+ <div>
+ <p id="red">X X <span>X X X X X X</span> X X</p>
+ <p id="test">X X <span>X X X X X X</span> X X</p>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-001.xht
new file mode 100644
index 00000000000..ef323b16db4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (rotate right)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ background: url(support/transform-triangle-left.svg);
+ transform: translate(50px, -50px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-002.xht
new file mode 100644
index 00000000000..18c27753e4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (rotate left)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ background: url(support/transform-triangle-right.svg);
+ transform: translate(50px, -50px) rotate(270deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-003.xht
new file mode 100644
index 00000000000..e1489394b1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (flip)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ background: url(support/transform-triangle-down.svg);
+ transform: scale(-1);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-004.xht
new file mode 100644
index 00000000000..c09d4268c1e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (nested flip)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="mailto:dschulze@adobe.com" rel="reviewer" title="Dirk Schulze" /> <!-- 2012-04-17 -->
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. This file tests
+ that a transform on the parent works correctly, not just on the element
+ itself." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-1.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ }
+ body &gt; div {
+ transform: scale(-1);
+ }
+ body &gt; div &gt; div {
+ background: url(support/transform-triangle-down.svg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-005.xht
new file mode 100644
index 00000000000..1d71470bae3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-005.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (non-propagated body)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. In this case the
+ scale is applied to the root element, and the background is on the body.
+ The white background on the root element prevents the body's background
+ from propagating to the canvas, so it's just a regular background." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <style>
+ html, body {
+ width: 100%;
+ height: 100%;
+ }
+ html {
+ background: white;
+ transform: scale(-1);
+ }
+ body {
+ background: url(support/transform-triangle-down.svg) bottom right;
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-006.xht
new file mode 100644
index 00000000000..11b3ee7024b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (propagated body)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="Background images fall within the element's
+ border box, so they need to be transformed along with it. In this case the
+ transform is applied to the body element, but the root element's background
+ is transparent, so the background is actually on the root element instead
+ of the body. Therefore, the transform must not affect the background." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <link href="reference/transform-background-006-notref.xht" rel="mismatch" />
+ <style>
+ body {
+ background: url(support/transform-triangle-up.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-007.xht
new file mode 100644
index 00000000000..6cf96963fab
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-007.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (propagated body with root element transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="&quot;If the root element is transformed, the
+ transformation applies to the entire canvas, including any background
+ specified for the root element. Since the background painting area for the
+ root element is the entire canvas, which is infinite, the transformation
+ might cause parts of the background that were originally off-screen to
+ appear. For example, if the root element's background were repeating
+ dots, and a transformation of 'scale(0.5)' were specified on the
+ root element, the dots would shrink to half their size, but there will be
+ twice as many, so they still cover the whole viewport.&quot; In this case, the
+ background is specified on the body but propagates to the root element.
+ The transform is on the root element, so it needs to affect the background.
+ The rotation 90 degrees clockwise means that most of the screen will be
+ filled with triangles that were originally above the top of the viewport;
+ the original top row of triangles will now be on the left." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <style>
+ html {
+ overflow: hidden;
+ transform: rotate(90deg);
+ transform-origin: 50px 50px;
+ }
+ body {
+ background: url(support/transform-triangle-left.svg);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-008.xht
new file mode 100644
index 00000000000..99c8e7ad4e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-background-008.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform of Background Image (root element background and transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="This is exactly the same as
+ transform-background-007.html, except that the background is specified directly on the
+ root element instead of being specified on the body and propagating to the
+ root." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-background-ref-2.xht" rel="match" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ overflow: hidden;
+ transform: rotate(90deg);
+ transform-origin: 50px 50px;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-compound-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-compound-001.xht
new file mode 100644
index 00000000000..386a8d78adb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-compound-001.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Compound Transforms</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:robert@ocallahan.org" rel="author" title="Robert O'Callahan" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Tests that applying multiple transforms to an
+ element is the same as applying the transforms in the same order to nested
+ elements." name="assert" />
+ <link href="reference/transform-compound-ref.xht" rel="match" />
+ <link href="reference/transform-compound-notref-1.xht" rel="mismatch" />
+ <link href="reference/transform-compound-notref-2.xht" rel="mismatch" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ transform-origin: top left;
+ }
+ body &gt; div {
+ position: relative;
+ left: 200px;
+ top: 0;
+ }
+ body &gt; div &gt; div {
+ background-color: gold;
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: translate(100px) scale(2) rotate(90deg) skewX(15deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-descendant-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-descendant-001.xht
new file mode 100644
index 00000000000..6bb66b57e9c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-descendant-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform Affects Descendant</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This just tests that a transform on a
+ container div moves its contents, not just the div itself." name="assert" />
+ <link href="reference/transform-descendant-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+ span {
+ background: yellow;
+ }
+ body &gt; div &gt; div {
+ transform: translate(20px, 150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div><span>span 1</span></div>
+ </div>
+ <span>span 2</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-001.xht
new file mode 100644
index 00000000000..cc789b07676
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inline-Block</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="Inline-blocks are atomic inline-level
+ elements, so should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: inline-block;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-002.xht
new file mode 100644
index 00000000000..aa249f9d9e7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="Inline-blocks are block-level elements, so
+ should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-003.xht
new file mode 100644
index 00000000000..7aaff706d3f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-003.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="Inline-tables are atomic inline-level
+ elements, so should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: inline-table;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-004.xht
new file mode 100644
index 00000000000..f3c8226602d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-display-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): List-Item</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="List-items are block-level elements, so
+ should transform the same as blocks." name="assert" />
+ <link href="reference/transform-display-ref.xht" rel="match" />
+ <link href="reference/transform-display-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ transform: rotate(180deg);
+ display: list-item;
+ list-style-type: none;
+ }
+ </style>
+ </head>
+ <body>
+ <div>This is some rotated text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-001.xht
new file mode 100644
index 00000000000..e8b0594c181
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;Fixed backgrounds are affected by any
+ transform specified for the root element, and not by any other transforms.&quot;
+ Thus if we have a div that's 100px square aligned at the top left of
+ the page, giving it a fixed background and translating it 50px down and
+ right should be the same as giving it a non-fixed background that's
+ translated 50px down and right." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-002.xht
new file mode 100644
index 00000000000..581a0733eeb
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (with scrolling)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='"Fixed backgrounds are affected by any
+ transform specified for the root element, and not by any other transforms."
+ Here we translate the div 150px down instead of 50px, and also scroll down
+ 100px. This should be the same as the previous test because the background
+ image is 100px square.' name="assert" />
+ <meta content="svg dom" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ height: 5000px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+ <script>scroll(0, 100)</script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-003.xht
new file mode 100644
index 00000000000..c47afb30d30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-003.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (with rotation)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is the same as transform-fixed-bg-001,
+ except that we also test that a rotation on a non-root element doesn't
+ affect fixed backgrounds." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 50px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-004.xht
new file mode 100644
index 00000000000..99f1cf0fd1f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (with rotation and scrolling)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is the same as transform-fixed-bg-002,
+ except that we also test that a rotation on a non-root element doesn't
+ affect fixed backgrounds." name="assert" />
+ <meta content="svg dom" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ height: 5000px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ transform: translate(50px, 150px) rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+ <script>scroll(0, 100)</script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-005.xht
new file mode 100644
index 00000000000..8390b2217a3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (no-op transform)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This affects that adding a no-op transform to
+ an element with a fixed background doesn't affect rendering." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ transform: translate(0);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-006.xht
new file mode 100644
index 00000000000..4c3175f51f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (transform of intermediate)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This tests that adding a rotation to a
+ non-root element doesn't affect rendering of fixed backgrounds on its
+ descendants." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ body {
+ margin: 0;
+ transform: rotate(90deg);
+ transform-origin: 100px 100px;
+ overflow: hidden;
+ }
+ div {
+ background: url(support/transform-triangle-left.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-007.xht
new file mode 100644
index 00000000000..e3e3926d028
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-fixed-bg-007.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Fixed Background (transform on root)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This tests that a transform on the root
+ element *does* affect the rendering of fixed backgrounds on its
+ descendants." name="assert" />
+ <meta content="svg" name="flags" />
+ <link href="reference/transform-fixed-bg-ref.xht" rel="match" />
+ <style>
+ html {
+ transform: rotate(-90deg);
+ transform-origin: 100px 100px;
+ overflow: hidden;
+ }
+ body {
+ margin: 0;
+ }
+ div {
+ background: url(support/transform-triangle-up.svg) fixed;
+ width: 100px;
+ height: 100px;
+ position: relative;
+ left: 50px;
+ top: 50px;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-001.xht
new file mode 100644
index 00000000000..e4422c63706
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Generated Content (block)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Transforms need to work on boxes of generated
+ content just as on any other boxes. This file tests a generated block
+ box." name="assert" />
+ <link href="reference/transform-generated-001-ref.xht" rel="match" />
+ <link href="reference/transform-generated-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ float: left;
+ }
+ div::before {
+ transform: rotate(180deg);
+ float: left;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <div>def</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-002.xht
new file mode 100644
index 00000000000..dca301801cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-generated-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Generated Content (inline)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Transforms need to work on boxes of generated
+ content just as on any other boxes. This file tests a generated inline
+ box." name="assert" />
+ <link href="reference/transform-generated-002-ref.xht" rel="match" />
+ <link href="reference/transform-generated-002-notref.xht" rel="mismatch" />
+ <style>
+ span::before {
+ transform: rotate(180deg);
+ transform-origin: left;
+ display: block;
+ content: 'abc';
+ }
+ </style>
+ </head>
+ <body>
+ <span>def</span>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-iframe-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-iframe-001.xht
new file mode 100644
index 00000000000..06b510dd791
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-iframe-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Iframe</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This test ensures that transforms cannot move
+ the contents of an iframe onto the parent page. The iframe here contains a
+ red box shifted 500px down and to the right, outside the iframe's
+ visible area. overflow: hidden ensures that scrollbars are not tested." name="assert" />
+ <link href="reference/transform-iframe-ref.xht" rel="match" />
+ <style>
+ iframe {
+ overflow: hidden;
+ height: 200px;
+ width: 300px;
+ }
+ </style>
+ </head><body><iframe src="support/transform-iframe-001-contents.html"></iframe>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-image-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-image-001.xht
new file mode 100644
index 00000000000..7472378bb19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-image-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformed &lt;img&gt;</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transformable-element" rel="help" />
+ <meta content="An &lt;img> is a transformable element, so
+ transforms should work on it the same as any image. This test compares an
+ img element with a 90deg rotation transform applied to a different image
+ that was pre-rotated by 90 degrees." name="assert" />
+ <link href="reference/transform-image-ref.xht" rel="match" />
+ <style>
+ img {
+ transform: rotate(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <img src="support/transform-triangle-up.svg" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-001.xht
new file mode 100644
index 00000000000..28db4152730
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-001.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'inherit' and em</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The 'transform' property's
+ computed value (which is what's inherited if 'inherit' is
+ specified) is defined as &quot;As specified, but with relative lengths converted
+ into absolute lengths.&quot; In this test, a parent element has a transform of
+ 1em with a font-size of 25px, and the child has &quot;transform: inherit&quot;.
+ Since the relative length of 1em is converted to an absolute length of 25px
+ before inheritance, the child should be translated by a further 25px, for a
+ total of 50px, even though its font-size is 100px. An implementation that
+ incorrectly inherited 1em without converting it to an absolute length first
+ would translate by 125px." name="assert" />
+ <link href="reference/transform-inherit-ref.xht" rel="match" />
+ <style>
+ body {
+ font-size: 25px;
+ transform: translate(1em, 1em);
+ overflow: hidden;
+ }
+ div {
+ font-size: 100px;
+ transform: inherit;
+ height: 100px;
+ width: 100px;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-002.xht
new file mode 100644
index 00000000000..b084cc8632b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-002.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'inherit' and percentages</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The 'transform' property's
+ computed value (which is what's inherited if 'inherit' is
+ specified) is defined as &quot;As specified, but with relative lengths converted
+ into absolute lengths.&quot; In this test, a parent element has a transform of
+ 10% with a height/width of 400px, and the child has &quot;transform: inherit&quot;
+ and a height/width of 100px. Since percentages are not relative lengths
+ and are inherited as specified, the parent should be translated by 40px and
+ then the child by only 10px, for a total of 50px. An implementation that
+ incorrectly converted the parent's 10% transform into 40px before
+ inheritance would translate the child by a further 40px, for a total of
+ 80px." name="assert" />
+ <link href="reference/transform-inherit-ref.xht" rel="match" />
+ <style>
+ body {
+ height: 400px;
+ width: 400px;
+ transform: translate(10%, 10%);
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ transform: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-001.xht
new file mode 100644
index 00000000000..34325d31217
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-001.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): "transform-origin: inherit" and em</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="The 'transform-origin'
+ property's computed value (which is what's inherited if
+ 'inherit' is specified) is defined as &quot;For &lt;length> the
+ absolute value, otherwise a percentage.&quot; In this test, a parent element
+ has a transform-origin of '5em 10em' with a font-size of 10px, and
+ the child has &quot;transform-origin: inherit&quot;. Since the relative length of
+ 5em is converted to an absolute length before inheritance, the
+ transform-origin should be at the bottom of the child, 50px 100px. The
+ 180deg rotation should thus effectively move the child down 100px. An
+ implementation that incorrectly inherited the transform-origin value before
+ converting to an absolute length would treat it as 100px 200px, since the
+ child has a font-size of 20px, so it would effectively translate the child
+ 100px right and 300px down." name="assert" />
+ <link href="reference/transform-inherit-origin-ref.xht" rel="match" />
+ <style>
+ body {
+ font-size: 10px;
+ transform-origin: 5em 10em;
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ font-size: 20px;
+ transform: rotate(180deg);
+ transform-origin: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-002.xht
new file mode 100644
index 00000000000..a710cdcb130
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inherit-origin-002.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): "transform-origin: inherit" and percentages</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="The 'transform-origin'
+ property's computed value (which is what's inherited if
+ 'inherit' is specified) is defined as &quot;For &lt;length> the
+ absolute value, otherwise a percentage.&quot; In this test, a parent element
+ has a transform-origin of '50% 100%' with a height/width of 50px,
+ and the child has &quot;transform-origin: inherit&quot; with a height/width of 100px.
+ Since the transform-origin is a percentage, it's inherited before it
+ gets resolved to a length. This means it works out to 50px 100px on the
+ child, at its center, so the 180deg rotation should translate the child
+ down by 100px. An implementation that incorrectly resolved the
+ transform-origin to 25px 50px before inheritance would instead display the
+ child box translated left 75px." name="assert" />
+ <link href="reference/transform-inherit-origin-ref.xht" rel="match" />
+ <style>
+ body {
+ height: 50px;
+ width: 50px;
+ transform-origin: 50% 100%;
+ }
+ div {
+ height: 100px;
+ width: 100px;
+ transform: rotate(180deg);
+ transform-origin: inherit;
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inline-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inline-001.xht
new file mode 100644
index 00000000000..26f57804109
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-inline-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformed Inline</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The definition of &quot;transformable element&quot;
+ includes atomic inline-level elements, such as images, but not regular
+ inline-level elements, such as spans. The 'transform' property
+ only applies to transformable elements, so it should have no effect on a
+ span." name="assert" />
+ <link href="reference/transform-inline-ref.xht" rel="match" />
+ <link href="reference/transform-inline-notref.xht" rel="mismatch" />
+ <style>
+ span, p + p {
+ transform: rotate(180deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>This is some <span>text<br />that is</span> not transformed</p>
+ <p>This is some text that is transformed</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-001.xht
new file mode 100644
index 00000000000..5a48af762fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-001.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=text)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-001-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=text</p>
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+ <input value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-002.xht
new file mode 100644
index 00000000000..c43fdeb4574
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-002.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=file)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-002-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=file</p>
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+ <input type="file" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-003.xht
new file mode 100644
index 00000000000..59d5ff4c0c8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-003.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=search)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-003-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=search</p>
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+ <input type="search" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-004.xht
new file mode 100644
index 00000000000..8f4e6d987b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-004.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=tel)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-004-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=tel</p>
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+ <input type="tel" value="555-5555" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-005.xht
new file mode 100644
index 00000000000..e878d37f7be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-005.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=url)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-005-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=url</p>
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+ <input type="url" value="http://www.w3.org/" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-006.xht
new file mode 100644
index 00000000000..433f37c678a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-006.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=email)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-006-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=email</p>
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+ <input type="email" value="foo@example.org" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-007.xht
new file mode 100644
index 00000000000..987dc571db2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-007.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=password)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-007-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=password</p>
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+ <input type="password" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-008.xht
new file mode 100644
index 00000000000..27d3c5277e2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-008.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=datetime)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-008-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime</p>
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+ <input type="datetime" value="2012-02-01 17:28Z" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-009.xht
new file mode 100644
index 00000000000..5e375e0716d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-009.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=date)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-009-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=date</p>
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+ <input type="date" value="2012-02-01" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-010.xht
new file mode 100644
index 00000000000..1d7cf8c0ed0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-010.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=month)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-010-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=month</p>
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+ <input type="month" value="2012-02" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-011.xht
new file mode 100644
index 00000000000..a944d79c382
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-011.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=week)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-011-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=week</p>
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+ <input type="week" value="2012-W5" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-012.xht
new file mode 100644
index 00000000000..cccb89ccca9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-012.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=time)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-012-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=time</p>
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+ <input type="time" value="17:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-013.xht
new file mode 100644
index 00000000000..158f1507e02
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-013.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=datetime-local)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-013-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=datetime-local</p>
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+ <input type="datetime-local" value="2012-02-01 12:28" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-014.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-014.xht
new file mode 100644
index 00000000000..d271266b748
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-014.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=number)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-014-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=number</p>
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+ <input max="1000" step="1" type="number" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-015.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-015.xht
new file mode 100644
index 00000000000..b23dac719ee
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-015.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=range)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-015-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=range</p>
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+ <input max="1000" type="range" value="613" min="0" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-016.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-016.xht
new file mode 100644
index 00000000000..95e459b113c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-016.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=color)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-016-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=color</p>
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+ <input type="color" value="#0000ff" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-017.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-017.xht
new file mode 100644
index 00000000000..b3f02415a5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-017.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=checkbox)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-017-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=checkbox</p>
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+ <input type="checkbox" />
+ <input checked="" type="checkbox" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-018.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-018.xht
new file mode 100644
index 00000000000..2d012a85581
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-018.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=radio)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-018-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=radio</p>
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+ <input type="radio" />
+ <input checked="" type="radio" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-019.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-019.xht
new file mode 100644
index 00000000000..1056d565728
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-input-019.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Input (type=submit)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.apple.com" rel="reviewer" title="Apple Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="The input element is an atomic inline element,
+ so it falls under the definition of transformable and should be affected by
+ transformations as usual. This is one in a series of tests that verify
+ that a few simple transforms have the expected effect on various types of
+ inputs. (They only test a few very specific transforms because it would be
+ difficult to construct a correct reference file for more complex
+ transforms.)" name="assert" />
+ <link href="reference/transform-input-019-ref.xht" rel="match" />
+ <style>
+ input {
+ /* Margin to avoid overlap of translated inputs */
+ margin: 10px;
+ }
+ p + input {
+ transform: rotate(360deg);
+ }
+ p + input + input {
+ transform: translateX(-10px);
+ }
+ p + input + input + input {
+ transform: translateX(10px);
+ }
+ p + input + input + input + input {
+ transform: translateY(-10px);
+ }
+ p + input + input + input + input + input {
+ transform: translateY(10px);
+ }
+ </style>
+ </head>
+ <body>
+ <p>type=submit</p>
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+ <input type="submit" value="abc" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-001.xht
new file mode 100644
index 00000000000..4c523de2646
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateX()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateX() has the same
+ effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-001-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 100, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-002.xht
new file mode 100644
index 00000000000..49228b0364a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateY()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateY() has the same
+ effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-002-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 0, 100);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-003.xht
new file mode 100644
index 00000000000..5a618bcd6cd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-003.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateX(%)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateX() with a percentage
+ argument has the same effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-003-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 47, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-004.xht
new file mode 100644
index 00000000000..7baef400e66
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/translateY(%)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that translateY() with a percentage
+ argument has the same effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-004-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(1, 0, 0, 1, 0, 23);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-005.xht
new file mode 100644
index 00000000000..aff58049ab9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-005.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/skewX()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that skewX() has the same effect as
+ an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-005-ref.xht" rel="match" />
+ <link href="reference/transform-matrix-005-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: matrix(1, 0, 1, 1, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-006.xht
new file mode 100644
index 00000000000..a38c3915dc2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/skewY()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that skewY() has the same effect as
+ an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-006-ref.xht" rel="match" />
+ <link href="reference/transform-matrix-005-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: matrix(1, 1, 0, 1, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-007.xht
new file mode 100644
index 00000000000..dc4e02f7a3a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-007.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix()/scale()</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that scale() has the same
+ effect as an equivalent matrix()." name="assert" />
+ <link href="reference/transform-matrix-007-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: matrix(2, 0, 0, 4, 0, 0);
+ width: 100px;
+ height: 100px;
+ background: gold;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-008.xht
new file mode 100644
index 00000000000..1ccbec99e58
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-matrix-008.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix() with non-numeric args</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix" rel="help" />
+ <meta content="This tests that providing length or percentage
+ values as arguments to matrix() is a syntax error." name="assert" />
+ <link href="reference/transform-matrix-008-ref.xht" rel="match" />
+ <link href="reference/transform-matrix-008-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ }
+ body &gt; div {
+ transform: matrix(1, 0, 0, 1, 50px, 0);
+ }
+ body &gt; div &gt; div {
+ transform: matrix(1, 0, 0, 1, 50%, 0);
+ }
+ body &gt; div &gt; div &gt; div {
+ background: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-001.xht
new file mode 100644
index 00000000000..9fcbfca075d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Default transform-origin not top left</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 0% 0% must not result in
+ the same rendering as the default of 50% 50%, if a 45-degree rotation is
+ applied." name="assert" />
+ <link href="reference/transform-origin-ref-1.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 0% 0%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-002.xht
new file mode 100644
index 00000000000..02af1da477c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Default transform-origin not center right</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 100% 50% must not result
+ in the same rendering as the default of 50% 50%, if a 45-degree rotation is
+ applied." name="assert" />
+ <link href="reference/transform-origin-ref-1.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 100% 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-003.xht
new file mode 100644
index 00000000000..6c6e99585e0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-003.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 1</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 101px 51px must result
+ in the same rendering as the default of 50% 50% in this case. The content
+ box is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 101px 51px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-004.xht
new file mode 100644
index 00000000000..6703871faa1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-004.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 2</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 101px 50% must result
+ in the same rendering as the default of 50% 50% in this case. The content
+ box is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 101px 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-005.xht
new file mode 100644
index 00000000000..61c98d9370d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 3</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="A transform-origin of 50% 51px must result in
+ the same rendering as the default of 50% 50% in this case. The content box
+ is 200x100px, so with a 1px border, the border box is 202x102px.
+ transform-origin is computed relative to the border box. (Note: an
+ implementation that incorrectly computes transform-origin percentages
+ relative to the content box would fail this test by only a few pixels, so
+ care is needed in checking that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ div {
+ width: 200px;
+ height: 100px;
+ border: 1px solid black;
+ transform: rotate(45deg);
+ transform-origin: 50% 51px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ Some text!
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-006.xht
new file mode 100644
index 00000000000..66f101fdce8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-006.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin percentages 4</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="Percentages in transform-origin refer to the
+ size of the element's border box. This tests that they don't
+ refer to the content, padding, or margin box by applying nonzero margin,
+ border, and padding. (Note: an implementation that resolves percentages
+ relative to the incorrect box might fail this test by only a few pixels, so
+ it's important to check that the test and reference renderings match
+ exactly.)" name="assert" />
+ <link href="reference/transform-origin-ref-2.xht" rel="match" />
+ <style>
+ body &gt; div {
+ width: 190px;
+ height: 90px;
+ padding: 5px;
+ border: 1px solid black;
+ margin: 5px;
+ transform: rotate(45deg);
+ transform-origin: 50% 50%;
+ position: relative;
+ right: 5px;
+ }
+ body &gt; div &gt; div {
+ margin: -5px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>Some text!</div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-007.xht
new file mode 100644
index 00000000000..12eef2521cf
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-007.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - 50% bottom('bottom' computes to '100%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'bottom' computes to 100% for the vertical position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 0px 50px 100px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% bottom;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 0px 50px 100px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% 100%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-008.xht
new file mode 100644
index 00000000000..c614e443ffc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-008.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - center 0%('center' computes to '50%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'center' computes to 50%(left 50%) for the horizontal position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 50px 0px 50px;
+ transform: rotate(180deg);
+ transform-origin: center 0%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 50px 0px 50px;
+ transform: rotate(180deg);
+ transform-origin: 50% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-009.xht
new file mode 100644
index 00000000000..967233339e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-009.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - 0% center('center' computes to '50%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'center' computes to 50%(top 50%) for the vertical position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 50px 0px 50px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% center;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 50px 0px 50px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 50%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-01.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-01.xht
new file mode 100644
index 00000000000..31ef459a700
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-01.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: SVG Transform using transform-origin</title>
+ <link href="mailto:gammon@adobe.com" rel="author" title="CJ Gammon" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="reference/transform-origin-01-ref.xht" rel="match" />
+ <meta content="If only one value is specified, the second value is assumed to be ‘center’" name="assert" />
+ <style type="text/css">
+ #container{
+ position: relative;
+ }
+
+ .square{
+ position: absolute;
+ }
+
+ #blue{
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: blue;
+ }
+
+ #red{
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform-origin: left center;
+ transform: rotate(90deg);
+ }
+
+ #green{
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform-origin: left;
+ transform: rotate(90deg);
+ }
+
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red or blue square.</p>
+ <div id="container">
+ <div class="square" id="blue"></div>
+ <div class="square" id="red"></div>
+ <div class="square" id="green"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-010.xht
new file mode 100644
index 00000000000..c68b20f0e21
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-010.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - left 0%('left' computes to '0%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'left' computes to 0% for the horizontal position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: left 0%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-011.xht
new file mode 100644
index 00000000000..b4ada170220
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-011.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - right 100%('right' computes to '100%' in horizontal position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'right' computes to 100% for the horizontal position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 0px 100px 100px 0px;
+ transform: rotate(180deg);
+ transform-origin: right 100%;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 0px 100px 100px 0px;
+ transform: rotate(180deg);
+ transform-origin: 100% 100%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-012.xht
new file mode 100644
index 00000000000..b6bed2ed37e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-012.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
+<title>CSS Transforms Test: transform-origin - 0% top('top' computes to '0%' in vertical position)</title>
+<link href="http://www.intel.com" rel="author" title="Intel" />
+<link href="mailto:jieqiongx.cui@intel.com" rel="author" title="Jieqiong Cui" />
+<link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" title="8. The 'transform-origin' Property" />
+<link href="reference/transform-origin-007-ref.xht" rel="match" />
+<meta content="" name="flags" />
+<meta content="The 'transform-origin' property set 'top' computes to 0% for the vertical position." name="assert" />
+<style>
+ .div1 {
+ height: 150px;
+ position: absolute;
+ width: 150px;
+ }
+ .div2 {
+ background-color: gray;
+ }
+ #test {
+ background-color: red;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% top;
+ width: 50px;
+ }
+ #ref {
+ background-color: green;
+ height: 50px;
+ margin: 100px 0px 0px 100px;
+ transform: rotate(180deg);
+ transform-origin: 0% 0%;
+ width: 50px;
+ }
+</style>
+</head><body>
+ <p>Test passes if there is a filled green square in the <strong>center</strong> of the gray square and no red.</p>
+ <div class="div1 div2"><div id="test"></div></div>
+ <div class="div1"><div id="ref"></div></div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-001.xht
new file mode 100644
index 00000000000..3cae4310bdd
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top left</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin: top
+ left' is the same as 'transform-origin: 0% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-1.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top left;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-002.xht
new file mode 100644
index 00000000000..f823c966946
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: left top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin: left
+ top' is the same as 'transform-origin: 0% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-1.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: left top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-003.xht
new file mode 100644
index 00000000000..cb43daf3427
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ top' is the same as 'transform-origin: 50% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-2.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-004.xht
new file mode 100644
index 00000000000..4ea303c3426
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top center</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ top center' is the same as 'transform-origin: 50% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-2.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top center;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-005.xht
new file mode 100644
index 00000000000..81003103911
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: center top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ center top' is the same as 'transform-origin: 50% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-2.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: center top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-006.xht
new file mode 100644
index 00000000000..ebdf1989d38
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: top right</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ top right' is the same as 'transform-origin: 100% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-3.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: top right;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-007.xht
new file mode 100644
index 00000000000..778b776e1aa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin-name-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): transform-origin: right top</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <meta content="This tests that 'transform-origin:
+ right top' is the same as 'transform-origin: 100% 0%'." name="assert" />
+ <link href="reference/transform-origin-name-ref-3.xht" rel="match" />
+ <link href="reference/transform-origin-name-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ margin: 300px 0 0 300px;
+ width: 100px;
+ height: 200px;
+ background: #202040;
+ transform: rotate(45deg);
+ transform-origin: right top;
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin.xht
new file mode 100644
index 00000000000..e98f244557d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-origin.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform-origin</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-transform-origin" rel="help" />
+ <link href="reference/transform-origin-ref.xht" rel="match" />
+ <meta content="The transform should change the transform-origin to the bottom right and rotate 180 degrees" name="assert" />
+ <style type="text/css">
+ body {margin:0}
+ #greenSquare {
+ position: absolute;
+ top: 0px;
+ left: -100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform-origin: right bottom;
+ transform:rotate(90deg);
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ #redSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ }
+ </style>
+
+</head>
+<body>
+
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div id="redSquare"></div>
+ <div id="greenSquare"></div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-001.xht
new file mode 100644
index 00000000000..910d148922d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): overflow: auto</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;. . . if the value of the 'overflow' property
+ is 'scroll' or 'auto', scrollbars will appear as needed to see content that
+ is transformed outside the visible area.&quot; This tests that the effect
+ of overflow: auto for a translation is the same as for an equivalent
+ relative positioning." name="assert" />
+ <link href="reference/transform-overflow-001-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: auto;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: translate(150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-002.xht
new file mode 100644
index 00000000000..3e9ab979c1b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-overflow-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): overflow: scroll</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="&quot;. . . if the value of the 'overflow' property
+ is 'scroll' or 'auto', scrollbars will appear as needed to see content that
+ is transformed outside the visible area.&quot; This tests that the effect
+ of overflow: scroll for a translation is the same as for an equivalent
+ relative positioning." name="assert" />
+ <link href="reference/transform-overflow-002-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ height: 200px;
+ width: 200px;
+ overflow: scroll;
+ }
+ body &gt; div &gt; div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: translate(150px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-001.xht
new file mode 100644
index 00000000000..e4384fd3c90
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-002.xht
new file mode 100644
index 00000000000..3ca8fcdbfd9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateY)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-003.xht
new file mode 100644
index 00000000000..44ac72c8ef2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-003.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(50px) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-004.xht
new file mode 100644
index 00000000000..7659aed31fa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-004.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translateY)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-005.xht
new file mode 100644
index 00000000000..889fd5d1641
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translateY and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-006.xht
new file mode 100644
index 00000000000..3f7b5878079
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateX and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-007.xht
new file mode 100644
index 00000000000..fadd86b3b0e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-007.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (translateY and translate)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 50px;
+ background: gold;
+ position: absolute;
+ left: 100px;
+ top: 100px;
+ transform: rotate(10deg) translatex(50px) rotate(10deg)
+ translatey(100%) skewx(10deg) translate(25%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-008.xht
new file mode 100644
index 00000000000..eea7b432968
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-percent-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Percentages (border box)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that percentages in 'transform' values are evaluated relative to the
+ transformed element's border box. This test adds a thicker border plus
+ margin and padding to make any discrepancies more evident." name="assert" />
+ <link href="reference/transform-percent-ref.xht" rel="match" />
+ <link href="reference/transform-percent-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 60px;
+ height: 10px;
+ padding: 10px;
+ border: 10px solid gold;
+ margin: 10px;
+ background: gold;
+ position: absolute;
+ left: 90px;
+ top: 90px;
+ transform: rotate(10deg) translatex(50%) rotate(10deg) translatey(100%)
+ skewx(10deg) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-propagate-inherit-boolean-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-propagate-inherit-boolean-001.xht
new file mode 100644
index 00000000000..ffcaa3dc54d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-propagate-inherit-boolean-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): em on Multiple Elements</title>
+ <link href="http://dbaron.org/" rel="author" title="L. David Baron" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that when a 'transform' rule using
+ em affects two elements with different font-sizes, it affects each
+ according to its respective font-size, rather than using the same length
+ for both. See: https://bugzilla.mozilla.org/show_bug.cgi?id=460440" name="assert" />
+ <link href="reference/transform-propagate-inherit-boolean-ref.xht" rel="match" />
+ <style>
+ p {
+ font-size: 20px;
+ margin: 0;
+ height: 0;
+ width: 100px;
+ transform: translateX(4em);
+ }
+ p + p {
+ font-size: 40px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>One</p>
+ <p>Two</p>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-001.xht
new file mode 100644
index 00000000000..42ce8ec3a99
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-001.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(-1) on Root Element With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="The background here extends to the whole
+ canvas, and a transform on the root element must transform the whole
+ canvas, background included. Thus the entire tiled background of
+ left-pointing triangles needs to be rotated 180 degrees (same as scale(-1))
+ around the top center of the viewport, which is the default
+ transform-origin of 50% 50% in this case. An implementation that doesn't
+ draw the background on parts of the canvas outside the viewport might
+ incorrectly display nothing, because the part of the background that's
+ supposed to be rotated into view was initially above the visible part of
+ the canvas." name="assert" />
+ <link href="reference/transform-root-bg-001-ref.xht" rel="match" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(-1);
+ }
+ body {
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-002.xht
new file mode 100644
index 00000000000..6768c290166
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-002.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(-1) on Root Element With Background On Body</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="Identical to transform-root-bg-001.html,
+ except that the background property is put on the body rather than the root
+ element. This should make no difference, because the body's background
+ propagates up to the canvas if there's no root element background." name="assert" />
+ <link href="reference/transform-root-bg-001-ref.xht" rel="match" />
+ <style>
+ html {
+ transform: scale(-1);
+ }
+ body {
+ background: url(support/transform-triangle-left.svg);
+ /* The default 8px margin makes the background not line up exactly */
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-003.xht
new file mode 100644
index 00000000000..7533c32335d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-003.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(0.5) on Root Element With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is the same as
+ transform-root-bg-001.html, except that it uses scale(0.5) instead of
+ scale(-1). It also specifies a transform-origin, because the default of
+ 50% 50% wouldn't work well with the way the reference image is constructed." name="assert" />
+ <link href="reference/transform-root-bg-003-ref.xht" rel="match" />
+ <style>
+ html {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(0.5);
+ /**
+ * The transform-origin here has to fall between two triangles, i.e.,
+ * at a multiple of 100px. Otherwise after the transform, the shrunken
+ * images won't line up with the left edge of the body, and it won't
+ * match the ref (since the background here is positioned at the left).
+ * We deliberately make it an odd multiple of the number of images so
+ * it catches an IE bug; it shouldn't matter per spec
+ */
+ transform-origin: 300px 0;
+ }
+ body {
+ margin: 0;
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-004.xht
new file mode 100644
index 00000000000..5ef6c2b8b83
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-root-bg-004.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(-1) On Body With Background</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This is like transform-root-bg-002.html,
+ except that the transform is specified on the body element, not just the
+ background. The background gets lifted to the root element, but the
+ transform does not, so the transform has no effect." name="assert" />
+ <link href="reference/transform-root-bg-004-ref.xht" rel="match" />
+ <style>
+ body {
+ background: url(support/transform-triangle-left.svg);
+ transform: scale(-1);
+ }
+ </style>
+ </head>
+ <body>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-001.xht
new file mode 100644
index 00000000000..4cde350dc41
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(360deg);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-002.xht
new file mode 100644
index 00000000000..20aa9acf725
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-002.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(400grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(400grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-003.xht
new file mode 100644
index 00000000000..99b0699c5f6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(100deg) rotate(80deg)
+ rotate(200grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(100deg) rotate(80deg) rotate(200grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-004.xht
new file mode 100644
index 00000000000..c5d36e6d1c5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(-45deg) rotate(100grad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(-45deg) rotate(100grad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-005.xht
new file mode 100644
index 00000000000..9fe145363c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(-135deg)
+ rotate(3.1415926535897932384626433rad)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(-135deg) rotate(3.1415926535897932384626433rad);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-006.xht
new file mode 100644
index 00000000000..63dca3866a4
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-006.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate(45deg) rotate(1turn)</title>
+ <link href="mailto:bzbarsky@mit.edu" rel="author" title="Boris Zbarsky" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This is part of a series of tests that check
+ that various combinations of rotate() with different units are equivalent
+ to rotate(45deg)." name="assert" />
+ <link href="reference/transform-rotate-001-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: rotate(45deg) rotate(0.125turn);
+ width: 100px;
+ height: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-007.xht
new file mode 100644
index 00000000000..da654e17c04
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rotate-007.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Rotated Simple Box</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate" rel="help" />
+ <meta content="This tests that rotating a simple rectangle by
+ 90 degrees produces another rectangle of the appropriate dimensions." name="assert" />
+ <link href="reference/transform-rotate-007-ref.xht" rel="match" />
+ <link href="reference/transform-rotate-007-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ width: 100px;
+ height: 200px;
+ border: 1px solid black;
+ transform: translate(50px, -50px) rotate(-90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rounding-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rounding-001.xht
new file mode 100644
index 00000000000..2361a85cb37
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-rounding-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Rounding</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that the implementation does not
+ round intermediate matrices to the extent that it significantly distorts
+ the final result. (No requirement in the specification places any specific
+ constraints on rounding, but simple cases like this should not deviate
+ dramatically from the mathematically precise result.)" name="assert" />
+ <link href="reference/transform-rounding-ref.xht" rel="match" />
+ <style>
+ div {
+ height: 100px;
+ width: 100px;
+ background: blue;
+ transform: scale(100000) translate(0.001px) scale(0.00001);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-001.xht
new file mode 100644
index 00000000000..ac397d0b624
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(0.5, 0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <meta content="This tests that scale(0.5, 0.5) scales down a
+ box by a factor of one-half." name="assert" />
+ <link href="reference/transform-scale-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(0.5, 0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-002.xht
new file mode 100644
index 00000000000..751f82a25e9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <meta content="This tests that scale(0.5) scales down a box
+ by a factor of one-half." name="assert" />
+ <link href="reference/transform-scale-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-percent-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-percent-001.xht
new file mode 100644
index 00000000000..3c3b568738f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-percent-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale(50%, 50%)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale" rel="help" />
+ <meta content="This tests that scale(50%, 50%) does nothing,
+ because scale() is defined to take numbers and not percentages." name="assert" />
+ <link href="reference/transform-scale-percent-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scale(50%, 50%);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-test.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-test.xht
new file mode 100644
index 00000000000..60ac09756f3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scale-test.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function.</title>
+ <link href="mailto:oleg@the-incredible.me" rel="author" title="Oleg Janeiko" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transform-scale-test-ref.xht" rel="match" />
+ <meta content="This transform shrinks a container by calling scale(.33). It also sets transform-origin to top left in order to visually align with the second green square." name="assert" />
+ <style type="text/css">
+ div {
+ background-color: green;
+ float: left;
+ margin: 50px;
+ }
+ .greenSquare {
+ width: 100px;
+ height: 100px;
+ -webkit-transform: scale(.33);
+ -webkit-transform-origin: top left;
+ }
+ .greenSquareTwo {
+ width: 33px;
+ height: 33px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green squares of the same size.</p>
+ <div class="greenSquareTwo"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scalex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scalex-001.xht
new file mode 100644
index 00000000000..e79ef3327cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scalex-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scaleX(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scalex" rel="help" />
+ <meta content="This tests that scaleX(0.5) scales down a
+ box's width by a factor of one-half." name="assert" />
+ <link href="reference/transform-scalex-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scaleX(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scaley-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scaley-001.xht
new file mode 100644
index 00000000000..d66f2c2a22b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-scaley-001.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scaleY(0.5)</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scaley" rel="help" />
+ <meta content="This tests that scaleY(0.5) scales down a
+ box's width by a factor of one-half." name="assert" />
+ <link href="reference/transform-scaley-ref.xht" rel="match" />
+ <style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ transform: scaleY(0.5);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-singular-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-singular-001.xht
new file mode 100644
index 00000000000..d810cf1150c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-singular-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix(1, 1, 1, 1, 0, 0)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <meta content='"If a transform function causes the current
+ transformation matrix (CTM) of an object to be non-invertible, the object
+ and its content do not get displayed." The matrix (1, 1, 1, 1) has
+ determinant 1*1 - 1*1 = 0 and therefore is not invertible, so nothing
+ should display.' name="assert" />
+ <link href="reference/transform-singular-ref.xht" rel="match" />
+ <style>
+ div {
+ width: 100px;
+ height: 100px;
+ background: red;
+ transform: matrix(1, 1, 1, 1, 0, 0);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ This shouldn't be visible.
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-001.xht
new file mode 100644
index 00000000000..45bee14758e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-001.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, transform: scale(1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content="This tests that specifying the identity
+ transform on an element still causes it to create a new stacking context
+ (unlike transform: none)." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: scale(1);
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: red;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-002.xht
new file mode 100644
index 00000000000..92e85fa79e8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-002.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, transform: none</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='This tests that "transform: none" does not
+ create a new stacking context -- it should have no effect at all.' name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: none;
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-003.xht
new file mode 100644
index 00000000000..221c59005b1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-003.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, invalid transform value</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='This tests that specifying the transform
+ property with an invalid value does not create a new stacking context -- it
+ should have no effect at all, same as "transform: none".' name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: quasit;
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-004.xht
new file mode 100644
index 00000000000..aa77d1b8fc7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stacking-004.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Stacking, inherited transform: none</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-rendering" rel="help" />
+ <meta content='This tests that specifying "transform:
+ inherit" (when the parent has no transform) does not create a new stacking
+ context -- it should have no effect at all, same as "transform: none".' name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ body &gt; div:first-child {
+ transform: inherit;
+ }
+ body &gt; div:first-child &gt; div {
+ height: 100px;
+ width: 100px;
+ background: lime;
+ z-index: 1;
+ position: relative;
+ }
+ body &gt; div:last-child {
+ height: 100px;
+ width: 100px;
+ background: red;
+ position: relative;
+ bottom: 100px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div></div>
+ </div>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stresstest-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stresstest-001.xht
new file mode 100644
index 00000000000..b4e9a3c8d0c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-stresstest-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inversion Stress Test</title>
+ <link href="mailto:ctalbert@mozilla.com" rel="author" title="Clint Talbert" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="This simply applies and then inverts a large
+ number of 2D transform functions, and expects the result to be no transform
+ at all. One extra translateX(100px) is added at the end to ensure that the
+ lack of transform isn't just because the UA parsed it incorrectly, or
+ doesn't support transforms at all." name="assert" />
+ <link href="reference/transform-stresstest-ref.xht" rel="match" />
+ <style>
+ div {
+ height: 200px;
+ width: 200px;
+ background: gold;
+ transform: skewx(45deg)
+ translate(50px, 50px)
+ rotate(45deg)
+ translatex(50px)
+ scale(2.0, 4.0)
+ scale(0.5, 0.25)
+ translatex(-50px)
+ rotate(-45deg)
+ translate(-50px, -50px)
+ skewx(135deg)
+ translateX(100px);
+ }
+ </style>
+ </head>
+ <body>
+ <div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-001.xht
new file mode 100644
index 00000000000..2e4b095e186
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that an appropriately-crafted
+ transform applied to a table works the same as if was applied to a wrapper
+ div." name="assert" />
+ <link href="reference/transform-table-001-ref.xht" rel="match" />
+ <link href="reference/transform-table-001-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-002.xht
new file mode 100644
index 00000000000..38288e56a05
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-002.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that an appropriately-crafted
+ transform applied to an inline-table works the same as if was applied to a
+ wrapper div." name="assert" />
+ <link href="reference/transform-table-001-ref.xht" rel="match" />
+ <link href="reference/transform-table-002-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ display: inline-table;
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-003.xht
new file mode 100644
index 00000000000..88e7f277669
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that another appropriately-crafted
+ transform applied to a table works the same as if was applied to a wrapper
+ div." name="assert" />
+ <link href="reference/transform-table-001-ref.xht" rel="match" />
+ <link href="reference/transform-table-001-notref.xht" rel="mismatch" />
+ <style>
+ div {
+ transform: translateX(200px) rotate(180deg) translateY(-100%);
+ transform-origin: left;
+ }
+ table {
+ transform: translateY(100%);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <caption>Hello</caption>
+ <tbody><tr><td>there!</td></tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-004.xht
new file mode 100644
index 00000000000..e6b09e71f03
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-004.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table with caption-side: bottom</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is the same as transform-table-001.html,
+ except the caption has caption-side: bottom." name="assert" />
+ <link href="reference/transform-table-004-ref.xht" rel="match" />
+ <link href="reference/transform-table-004-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-005.xht
new file mode 100644
index 00000000000..671bd227e19
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-005.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transform on Table with caption-side: bottom</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This is the same as transform-table-002.html,
+ except the caption has caption-side: bottom." name="assert" />
+ <link href="reference/transform-table-004-ref.xht" rel="match" />
+ <link href="reference/transform-table-005-notref.xht" rel="mismatch" />
+ <style>
+ table {
+ display: inline-table;
+ transform: translate(200px) rotate(180deg);
+ transform-origin: left;
+ }
+ caption {
+ caption-side: bottom;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <caption>there!</caption>
+ <tbody><tr><td>Hello</td></tr>
+ </tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-006.xht
new file mode 100644
index 00000000000..11f04cca087
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-006.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 1</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This has preserve-3d applied to the outer
+ wrapper of a table, but not the inner wrapper containing its contents.
+ Therefore, the contents should be rotated 90 degrees and vanish, and the
+ 90-degree rotation on the outer wrapper shouldn't restore them. An
+ implementation that incorrectly propagated preserve-3d to table descendants
+ might cause the text to appear, but mirrored." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ td &gt; div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div>
+ <table>
+ <tbody><tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody></table>
+
+
+</div></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-007.xht
new file mode 100644
index 00000000000..374ab4d6054
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-007.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="In this case, preserve-3d is applied to every
+ element that's explicitly specified in the source code. However, the HTML
+ parser will insert an extra &lt;tbody> element around the &lt;tr>,
+ which will not have preserve-3d specified, so the contents should again
+ vainsh. An implementation that incorrectly propagated preserve-3d to table
+ descendants might cause the text to appear, but mirrored." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ }
+ td &gt; div {
+ transform: rotateX(90deg);
+ }
+ body &gt; div, table, tr, td {
+ transform-style: preserve-3d;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div>
+ <table>
+ <tbody><tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody></table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-008.xht
new file mode 100644
index 00000000000..d924c9c0e1a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-008.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table Without Preserve-3D 3</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is essentially the same as
+ transform-table-006.html, except using divs with 'display' specified
+ instead of actual table elements." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div {
+ display: table;
+ }
+ body &gt; div &gt; div &gt; div {
+ display: table-row;
+ }
+ body &gt; div &gt; div &gt; div &gt; div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div &gt; div &gt; div {
+ transform: rotateX(90deg);
+ }
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;p&gt;Nothing should appear except this sentence.&lt;/p&gt;
+ &lt;div&gt;
+ &lt;div&gt;
+ &lt;div&gt;
+ &lt;div&gt;
+ &lt;div&gt;Some text&lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/div&gt;
+ &lt;/body&gt;
+&lt;/html&gt;
+</style></head><body></body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-009.xht
new file mode 100644
index 00000000000..14bd7b51947
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-009.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 1</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the same as transform-table-007.html,
+ except that transform-style is also explicitly applied to the intervening
+ &lt;tbody>, so nothing should vanish." name="assert" />
+ <link href="reference/transform-table-009-ref.xht" rel="match" />
+ <link href="reference/transform-table-009-notref.xht" rel="mismatch" />
+ <style>
+ table, tbody, tr, td {
+ margin: 0;
+ padding: 0;
+ border-spacing: 0;
+ }
+ div {
+ transform: rotateX(90deg);
+ }
+ body &gt; div, table, tbody, tr, td {
+ transform-style: preserve-3d;
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <table>
+ <tbody>
+ <tr>
+ <td>
+ <div>Some text</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-010.xht
new file mode 100644
index 00000000000..c9a4ce87063
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-010.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 2</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the same as transform-table-007.html,
+ except that now divs are used instead of actual table elements. This means
+ that the parser doesn't create an implicit intervening &lt;tbody>, so
+ preserve-3d is applied to all intervening elements, and the text should
+ display (mirrored)." name="assert" />
+ <link href="reference/transform-table-009-ref.xht" rel="match" />
+ <link href="reference/transform-table-010-notref.xht" rel="mismatch" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div {
+ display: table;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div {
+ display: table-row;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div &gt; div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div &gt; div &gt; div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-011.xht
new file mode 100644
index 00000000000..82cdfa68246
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-table-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Table With Preserve-3D 3</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is an even more extreme example of
+ transform-table-010.html. CSS will create several anonymous table boxes
+ wrapping the div with display: table-cell, but none of these have
+ corresponding elements. Every actual element in the DOM still has
+ preserve-3d specified, so the text should not vanish." name="assert" />
+ <link href="reference/transform-table-009-ref.xht" rel="match" />
+ <link href="reference/transform-table-011-notref.xht" rel="mismatch" />
+ <style>
+ body &gt; div {
+ transform: rotateX(90deg);
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div {
+ display: table-cell;
+ transform-style: preserve-3d;
+ }
+ body &gt; div &gt; div &gt; div {
+ transform: rotateX(90deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>
+ <div>
+ <div>Some text</div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-block.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-block.xht
new file mode 100644
index 00000000000..8e5bf2ebe94
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-block.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Inline-Block</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on an
+ inline-block work as expected." name="assert" />
+ <link href="reference/transform-transformable-inline-block-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: inline-block;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-table.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-table.xht
new file mode 100644
index 00000000000..7d1111ac40e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-inline-table.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Inline-Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on an
+ inline-table work as expected." name="assert" />
+ <link href="reference/transform-transformable-inline-table-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: inline-table;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-list-item.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-list-item.xht
new file mode 100644
index 00000000000..f04c9256b46
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-list-item.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of List-Item</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ list-item work as expected." name="assert" />
+ <link href="reference/transform-transformable-list-item-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: list-item;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-caption.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-caption.xht
new file mode 100644
index 00000000000..cf3f1a35496
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-caption.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Caption</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-caption work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-caption-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-caption;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-cell.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-cell.xht
new file mode 100644
index 00000000000..65f48a66048
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-cell.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Cell</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-cell work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-cell-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-cell;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-footer-group.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-footer-group.xht
new file mode 100644
index 00000000000..cea6f6a2daa
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-footer-group.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Footer-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-footer-group work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-footer-group-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-footer-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-header-group.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-header-group.xht
new file mode 100644
index 00000000000..e6d2680bf68
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-header-group.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Header-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-header-group work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-header-group-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-header-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row-group.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row-group.xht
new file mode 100644
index 00000000000..60bb0023060
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row-group.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Row-Group</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-row-group work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-row-group-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-row-group;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row.xht
new file mode 100644
index 00000000000..6546d93b794
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table-row.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table-Row</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table-row work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-row-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table-row;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table.xht
new file mode 100644
index 00000000000..d92c3517b71
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-transformable-table.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Transformability of Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <meta content="This tests that transforms specified on a
+ table work as expected." name="assert" />
+ <link href="reference/transform-transformable-table-ref.xht" rel="match" />
+ <style>
+ body {
+ overflow: hidden;
+ }
+ div {
+ display: table;
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Some text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-001.xht
new file mode 100644
index 00000000000..73ba8e67f07
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate(50px, 50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(50px, 50px) is the same as
+ relative positioning by 50px toward the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(50px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-002.xht
new file mode 100644
index 00000000000..aef1af5429f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate(50px, 50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(50px, 50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(50px, 50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-003.xht
new file mode 100644
index 00000000000..2a37e33f9af
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate(25px, 25px) translate(25px, 25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(25px, 25px)
+ translate(25px, 25px) is the same as relative positioning by 50px toward
+ the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(25px, 25px) translate(25px, 25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-004.xht
new file mode 100644
index 00000000000..50bd07550be
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-004.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that translate(25px, 25px)
+ plus relative positioning 25px to the bottom right is the same as relative
+ positioning by 50px toward the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(25px, 25px);
+ position: relative;
+ top: 25px;
+ left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-005.xht
new file mode 100644
index 00000000000..454abbfad20
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translate-005.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Several Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate" rel="help" />
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the bottom right." name="assert" />
+ <link href="reference/transform-translate-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translate(50px) translate(-100px) translate(150px)
+ translate(-50px) translate(0px, 50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-001.xht
new file mode 100644
index 00000000000..106e66e0a76
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex(50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(50px) is the same
+ as relative positioning by 50px toward the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-002.xht
new file mode 100644
index 00000000000..35a208ec918
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex(50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-003.xht
new file mode 100644
index 00000000000..c78c9ea4b4e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex(25px) translatex(25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(25px)
+ translatex(25px) is the same as relative positioning by 50px toward
+ the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(25px) translatex(25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-004.xht
new file mode 100644
index 00000000000..e908e3cb9e5
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatex() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that translatex(25px)
+ plus relative positioning 25px to the right is the same as relative
+ positioning by 50px toward the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(25px);
+ position: relative;
+ left: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-005.xht
new file mode 100644
index 00000000000..940bbdfaaf1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-005.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Several X-Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatex" rel="help" />
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the right." name="assert" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatex(50px) translatex(-100px) translatex(150px)
+ translatex(-50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-006.xht
new file mode 100644
index 00000000000..6e38c74492a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatex-006.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with translateX function</title>
+ <link href="mailto:serena@codeforamerica.org" rel="author" title="Serena Wales" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transform-translatex-ref.xht" rel="match" />
+ <meta content="This tests that translateX(50px) translates a box by 50 pixels in the X direction." name="assert" />
+ <style type="text/css">
+ /* Positioned container allows for the self-describing statement to still
+ be visible in the case of failure */
+ .container {
+ position: absolute;
+ }
+ .greenSquare {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+ transform: translateX(50px);
+ /* Add CSS transform here */
+ }
+ /* This div should only be visible if the test fails */
+ .redSquare {
+ position: absolute;
+ /* It is approximately the same size as the test div, but with a 1px margin */
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ top: 0px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="container">
+ <!-- This is the square that should not be visible if the test passes -->
+ <div class="redSquare"></div>
+ <!-- This is the square being tested with the transform -->
+ <div class="greenSquare"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-001.xht
new file mode 100644
index 00000000000..bb9308fbf5d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey(50px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(50px) is the same
+ as relative positioning by 50px toward the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-002.xht
new file mode 100644
index 00000000000..f2c06c750b6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey(50px) rotate(360deg)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(50px)
+ rotate(360deg) is the same as relative positioning by 50px toward the
+ bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(50px) rotate(360deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-003.xht
new file mode 100644
index 00000000000..e4999ec0cbe
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey(25px) translatey(25px)</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(25px)
+ translatey(25px) is the same as relative positioning by 50px toward
+ the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(25px) translatey(25px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-004.xht
new file mode 100644
index 00000000000..da63bbbf913
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatey() plus relative positioning</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that translatey(25px)
+ plus relative positioning 25px to the bottom is the same as relative
+ positioning by 50px toward the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(25px);
+ position: relative;
+ top: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-005.xht
new file mode 100644
index 00000000000..c0cb740c872
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform-translatey-005.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Several Y-Translations Combined</title>
+ <link href="mailto:keith@keithschwarz.com" rel="author" title="Keith Schwarz" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatey" rel="help" />
+ <meta content="This tests that a sequence of positive and
+ negative translations is the same as relative positioning by 50px toward
+ the bottom." name="assert" />
+ <link href="reference/transform-translatey-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: translatey(50px) translatey(-100px) translatey(150px)
+ translatey(-50px);
+ }
+ </style>
+ </head>
+ <body>
+ <div>Test Text</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-001.xht
new file mode 100644
index 00000000000..08aa032ae9a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, rotatex(180deg)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that a very simple case of
+ backface-visibility causes the element to disappear: rotateX(180deg) is
+ specified on the same element that has backface-visibility: hidden." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { height: 100px; width: 100px }</style>
+ </head>
+ <body>
+ <div style="background:lime">
+ <div style="background:red;transform:rotatex(180deg);
+ backface-visibility:hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-002.xht
new file mode 100644
index 00000000000..a7f9bfa5c27
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ and Child in Different Rendering Contexts</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that if an element has
+ 'backface-visibility: hidden' and is rotated 180deg, so it would normally
+ disappear, it doesn't reappear just because its parent also has a 180deg
+ rotation. The rotations don't cancel, since the parent doesn't have
+ 'transform-style: preserve-3d' and is in a different rendering context." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime;
+ transform:rotatex(180deg)">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(180deg);backface-visibility:hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-003.xht
new file mode 100644
index 00000000000..4bcee0287b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-003.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, rotatex(180deg) on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This is identical to
+ transform3d-backface-visibility-001.html, except that display: table is
+ specified too. This is motivated by a real-world UA bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=724750>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(180deg);backface-visibility:hidden;display:table">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-004.xht
new file mode 100644
index 00000000000..3ff9b214217
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-004.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Same Rendering Context, Split Transform</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that if a parent and child are in
+ the same 3D rendering context, and a 60deg rotation on the parent combines
+ with a 60deg rotation on the child to make a 120deg rotation, the child
+ will disappear if 'backface-visibility: hidden' is specified, just like if
+ the 120deg rotation were specified on the child to start with." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height:100px;width:100px;background:lime">
+ <div style="transform:rotatex(60deg);transform-style:preserve-3d">
+ <div style="height:100px;width:100px;background:red;
+ transform:rotatex(60deg);backface-visibility:hidden">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-005.xht
new file mode 100644
index 00000000000..0ccbb47800f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-005.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Different Rendering Context</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This tests that if an element is not
+ transformed, but its parent is rotated 180deg in a different rendering
+ context, the child's 'backface-visibility: hidden' does not make it
+ disappear. Only transforms that affect the child itself are relevant to
+ 'backface-visibility'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { width: 100px; height: 100px }</style>
+ </head>
+ <body>
+ <div style="transform: rotateX(180deg); background: red">
+ <div style="backface-visibility: hidden; background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-006.xht
new file mode 100644
index 00000000000..788e213523f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-006.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Backface-Visibility With Transformed Parent
+ in Same Rendering Context</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This is the same as
+ transform3d-backface-visibility-005.html, except that the parent has
+ 'transform-style: preserve-3d'. Thus the child is affected by the parent's
+ transform and should not be visible." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { width: 100px; height: 100px }</style>
+ </head>
+ <body>
+ <div style="transform: rotateX(180deg); transform-style: preserve-3d;
+ background: lime">
+ <div style="backface-visibility: hidden; background: red">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-007.xht
new file mode 100644
index 00000000000..a0290769f42
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-backface-visibility-007.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Backface-Visibility, scalez(-1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility" rel="help" />
+ <meta content="This is the same as
+ transform3d-backface-visibility-001.html, except it uses scalez(-1) instead
+ of rotatex(180deg). scalez(-1) has no visible effect when applied by
+ itself to a box, since the box's Z-coordinates are all 0, but it still
+ causes it to be affected by 'backface-visibility'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>div { height: 100px; width: 100px }</style>
+ </head>
+ <body>
+ <div style="background: lime">
+ <div style="background: red; backface-visibility: hidden;
+ transform: scalez(-1)">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-001.xht
new file mode 100644
index 00000000000..974242d3846
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-001.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d() on a Bitmap</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that applying a simple 3D transform
+ to a bitmap image works properly. This is motivated by a real-world
+ implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=735373>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <img width="50" style="transform: scale3d(2, 2, 2); transform-origin: 0 0" height="50" src="support/transform-lime-square.png" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-002.xht
new file mode 100644
index 00000000000..d85b8d03bb7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-image-scale-002.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d() on an SVG</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This is the same as
+ transform3d-image-scale-001.html, but using an SVG image instead of a
+ bitmap." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <img width="50" style="transform: scale3d(2, 2, 2); transform-origin: 0 0" height="50" src="support/transform-lime-square.svg" />
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-001.xht
new file mode 100644
index 00000000000..903e06de623
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: matrix3d(1,2,0,0, 3,4,0,0, 0,0,1,0, 5,6,0,1);
+ width: 100px; height: 100px; background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-002.xht
new file mode 100644
index 00000000000..ea8a9ce4fad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-002.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-002-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: matrix3d(1,0,0,0, 0,2,0,0, 0,0,3,0, 4,5,6,1);
+ width: 100px; height: 100px; background:lime">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-003.xht
new file mode 100644
index 00000000000..70f84a84fd7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-003.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-003-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: matrix3d(1,0,0,-0.005, 0,1,0,0, 0,0,1,0, 0,0,0,1);
+ transform-origin: right"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-004.xht
new file mode 100644
index 00000000000..7242f45d50e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-004.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-004-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: matrix3d(1,0,0,0, 0,1,0,-0.005, 0,0,1,0, 0,0,0,1);
+ transform-origin: bottom"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-005.xht
new file mode 100644
index 00000000000..9f2deda86b3
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-matrix3d-005.xht
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-matrix3d" rel="help" />
+ <meta content="This is part of a series that tests that
+ various matrix3d()s are equivalent to other transform functions." name="assert" />
+ <link href="reference/transform3d-matrix3d-005-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: gold;
+ transform: matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,2)"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-001.xht
new file mode 100644
index 00000000000..b412e8775c0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-001.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): perspective()</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that the perspective() transform
+ works the same as an equivalent 'perspective' property." name="assert" />
+ <link href="reference/transform3d-perspective-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: translatey(50%) perspective(1000px) translatey(-50%)
+ rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-002.xht
new file mode 100644
index 00000000000..3ad86878795
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-002.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Inherited Perspective</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective: inherit' works
+ the same as specifying that perspective to start with." name="assert" />
+ <link href="reference/transform3d-perspective-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: inherit; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-003.xht
new file mode 100644
index 00000000000..9af4b15329c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-003.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Perspective on Grandparent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective' affects only the
+ element's children, not its grandchildren." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-004.xht
new file mode 100644
index 00000000000..ad20f48ca1b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-004.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective: 1000px' on Grandparent and
+ 'perspective: none' on Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective: none' actually
+ results in no perspective being applied to children, even if the
+ grandparent has perspective." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: none">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-005.xht
new file mode 100644
index 00000000000..5c3e08bb3a1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-005.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective: 1000px' on Grandparent and
+ 'perspective: 0px' on Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective: 0px' behaves the
+ same as no perspective being specified at all (it's a parse error)." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="perspective: 0px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-006.xht
new file mode 100644
index 00000000000..0cd27536c30
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-006.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Perspective</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests the 'perspective' property in a
+ very simple case, such that the reference can be constructed without using
+ CSS transforms." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="padding: 25px">
+ <div style="height: 50px; width: 50px; background: lime;
+ transform: perspective(100px) translatez(50px)">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-007.xht
new file mode 100644
index 00000000000..1c5bb80ae87
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-007.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Perspective on Table Parent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that tables are correctly affected
+ by perspective on their parent. It's motivated by a real-world
+ implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601>." name="assert" />
+ <link href="reference/transform3d-perspective-001-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 50px 50px">
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top;
+ display: table">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-008.xht
new file mode 100644
index 00000000000..5628e9705ff
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-008.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Perspective on Table</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that perspective on a table only
+ affects its children, not the table itself. It's motivated by a real-world
+ implementation bug: &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=726601>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: rotatex(45deg) scaley(1.41421356); transform-origin: top;
+ display: table; perspective: 1000px">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-009.xht
new file mode 100644
index 00000000000..8d1be1fda3e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-009.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective-origin' and translate()</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <meta content="This tests that 'perspective' and
+ 'perspective-origin' have the same effect as an appropriately calculated
+ sequence of translate() and perspective(). The reference file's body has
+ a width of 400px and a height of 100px, so the perspective-origin should be
+ (200, 50). The transform-origin is 'top', which works out to (50, 0).
+ Thus we translate by (150, 50) to get the right origin." name="assert" />
+ <link href="reference/transform3d-perspective-009-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="height: 100px; width: 100px; background: lime;
+ transform: translate(150px, 50px) perspective(1000px) translate(-150px, -50px)
+ rotatex(45deg) scaley(1.41421356); transform-origin: top">
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-origin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-origin-001.xht
new file mode 100644
index 00000000000..14a0a08a631
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-perspective-origin-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): perspective-origin</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin" rel="help" />
+ <meta content="This tests that 'perspective-origin: 0 0' is
+ the same as 'perspective-origin: top left', different from no
+ 'perspective-origin', and different from no perspective or no transform." name="assert" />
+ <link href="reference/transform3d-perspective-origin-ref.xht" rel="match" />
+ <link href="transform3d-rotatex-perspective-001.xht" rel="mismatch" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="mismatch" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px; perspective-origin: 0 0;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-001.xht
new file mode 100644
index 00000000000..b3fbc093fa7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Preserve-3D</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that if preserve-3d is specified,
+ four 45deg rotations equal one 180deg rotation." name="assert" />
+ <link href="reference/transform3d-preserve3d-001-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); transform-style: preserve-3d;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-002.xht
new file mode 100644
index 00000000000..28c43c14dad
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 1</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the first in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; margin-left: 200px">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-003.xht
new file mode 100644
index 00000000000..21f889f52ea
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-003.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 2</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the second in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="transform-style: preserve-3d; margin-left: 200px">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-004.xht
new file mode 100644
index 00000000000..9ab7554f162
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-004.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Margins 3</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the third in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatex(-200px); margin-left: 200px">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-005.xht
new file mode 100644
index 00000000000..01c6c6ff427
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-005.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With Transformed Grandparent and
+ Grandchild</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is the fourth in a series of four tests
+ that test that translations work correctly when combined with margins or
+ translations on various elements, when preserve-3d is enabled. They test
+ for a real-world implementation bug:
+ &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=691864>." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px; transform-style: preserve-3d;
+ transform: translatex(200%)">
+ <div style="transform-style: preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime; transform:
+ translatex(-200px)">
+ </div></div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-006.xht
new file mode 100644
index 00000000000..4c655472d2f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-006.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Two rotatex(), No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="rotatex(45deg) or rotatex(-45deg), by itself,
+ should both just scale down the element by a factor of sqrt(2) (and perhaps
+ shift it, depending on 'transform-origin'). Without 'transform-style:
+ preserve-3d', the rotations on parent and child shouldn't cancel, so its
+ height should be halved with no other effect." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-007.xht
new file mode 100644
index 00000000000..5e962a7f79a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-007.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Two rotatey(), No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-006.html, except with rotatey() instead of
+ rotatex()." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg); transform-origin: left">
+ <div style="transform: rotatey(-45deg); transform-origin: left;
+ height: 100px; width: 200px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-008.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-008.xht
new file mode 100644
index 00000000000..c21305c662c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-008.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: hidden'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-006.html, except that it has 'transform-style:
+ preserve-3d; overflow: hidden' specified on the parent element.
+ 'transform-style: preserve-3d' would normally make the result different,
+ but 'overflow: hidden' overrides its effect and causes it to work the same
+ as 'transform-style: flat'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: hidden">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-009.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-009.xht
new file mode 100644
index 00000000000..334cbd58264
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-009.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: auto'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-008.html, except with 'overflow: auto' instead of
+ 'hidden'." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: auto">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-010.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-010.xht
new file mode 100644
index 00000000000..a9a957ce1ba
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-010.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex() With Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that two rotations of 22.5deg
+ properly add when preserve-3d is used. The result, a 45deg rotation around
+ the X-axis, should be equivalent to shrinking the height by a factor of
+ sqrt(2), i.e., 1.41421356...." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ <style>
+ div {
+ transform: rotatex(22.5deg);
+ transform-origin: top;
+ }
+ </style>
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="height: 141.421356px; width: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-011.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-011.xht
new file mode 100644
index 00000000000..8332b817c72
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-011.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D With 90-Degree Rotation</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that when preserve-3d is specified,
+ a 90-degree rotation on the parent plus a 90-degree rotation on the child
+ cancel out, adding to a 180-degree rotation (which has no visible effect on
+ a lime square). scale(2) is added to ensure that the test doesn't pass if
+ the transforms are just ignored." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body style="padding:25px">
+ <div style="transform: rotatex(90deg); transform-style: preserve-3d">
+ <div style="transform: rotatex(90deg) scale(2); width: 50px; height: 50px;
+ background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-012.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-012.xht
new file mode 100644
index 00000000000..b9ff2810763
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-012.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 90-Degree Rotations Without Preserve-3D</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This tests that two 90-degree rotations with
+ the default 'transform-style: flat' do not add together to form a
+ 180-degree rotation. Instead, the first causes the contents to vanish and
+ the second does not restore them." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div style="transform: rotatex(90deg);">
+ <div style="transform: rotatex(90deg); width: 100px; height: 100px;">
+ Test Text
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-013.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-013.xht
new file mode 100644
index 00000000000..1577784dbd7
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-preserve3d-013.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Preserve-3D with 'overflow: scroll'</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <meta content="This is identical to
+ transform3d-preserve3d-008.html, except with 'overflow: scroll' instead of
+ 'hidden'. (Note that the ref is nontrivial, because the scrollbar has to
+ be scaled appropriately.)" name="assert" />
+ <link href="reference/transform3d-preserve3d-013-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg); transform-origin: top;
+ transform-style: preserve-3d; overflow: scroll">
+ <div style="transform: rotatex(-45deg); transform-origin: top;
+ height: 200px; width: 100px; background: lime">
+ </div></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-001.xht
new file mode 100644
index 00000000000..056a414a077
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-001.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate3d(1, 0, 0, 45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d" rel="help" />
+ <meta content="This tests that rotate3d(1, 0, 0, 45deg) is
+ the same as rotatex(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotate3d(1, 0, 0, 45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-002.xht
new file mode 100644
index 00000000000..8691f13987d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotate3d-002.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotate3d(0, 1, 0, 45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotate3d" rel="help" />
+ <meta content="This tests that rotate3d(0, 1, 0, 45deg) is
+ the same as rotatey(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatey-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotate3d(0, 1, 0, 45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-001.xht
new file mode 100644
index 00000000000..7c17b108a6b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex(45deg) rotatey(360deg)
+ rotatex(360deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <meta content="This tests that rotatex(45deg) rotatey(360deg)
+ rotatex(360deg) is the same as rotatex(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatex(45deg) rotatey(360deg) rotatex(360deg);
+ width: 100px; height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-001.xht
new file mode 100644
index 00000000000..fe5724bdc3a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): perspective(1000px) rotatex(45deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-perspective" rel="help" />
+ <meta content="This tests that perspective() has some effect
+ when combined with rotatex() (i.e., is not equivalent to simply omitting
+ the perspective)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="mismatch" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: perspective(1000px) rotatex(45deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-002.xht
new file mode 100644
index 00000000000..3ab3412f999
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-002.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex() and 'perspective'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests that 'perspective' has some effect
+ when combined with rotatex() (i.e., is not equivalent to simply omitting
+ the perspective)." name="assert" />
+ <link href="reference/transform3d-rotatex-ref.xht" rel="mismatch" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); width: 100px; height: 100px;
+ background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-003.xht
new file mode 100644
index 00000000000..f6ad9a82945
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-perspective-003.xht
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): 'perspective' and 'opacity'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#perspective-property" rel="help" />
+ <meta content="This tests for a real-world implementation
+ bug: see &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=707563>. The only
+ difference between the test and reference is 'opacity: 0.9999', which should
+ not affect anything in the test." name="assert" />
+ <link href="reference/transform3d-rotatex-perspective-ref.xht" rel="match" />
+ <link href="reference/transform3d-rotatex-perspective-notref.xht" rel="mismatch" />
+ <style>
+ #container {
+ position: relative;
+ height: 300px;
+ width: 300px;
+ margin: 50px 100px;
+ border: 2px solid blue;
+
+ perspective: 500px;
+ opacity: 0.9999;
+ }
+ #parent {
+ margin: 10px;
+ width: 280px;
+ height: 280px;
+ background-color: #844BCA;
+
+ transform: rotateY(40deg);
+ }
+ </style>
+ </head>
+ <body>
+ <div id="container">
+ <div id="parent"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-transformorigin-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-transformorigin-001.xht
new file mode 100644
index 00000000000..57b7070e8da
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatex-transformorigin-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX() with 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatex" rel="help" />
+ <meta content="This tests that rotateX(45deg) has the same
+ effect (with perspective) with a top left origin and a top right origin.
+ It should make no difference, because it doesn't change the axis of
+ rotation: it's still the top. (This doesn't actually test the perspective
+ property, since a UA that doesn't support perspective at all could still
+ pass.)" name="assert" />
+ <link href="reference/transform3d-rotatex-transformorigin-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px;">
+ <div style="transform: rotatex(45deg); transform-origin: top left;
+ width: 100px; height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatey-001.xht
new file mode 100644
index 00000000000..49ee5661c08
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-rotatey-001.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateY(45deg) rotateY(360deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-rotatey" rel="help" />
+ <meta content="This tests that rotateY(45deg) rotateY(360deg)
+ has the same effect as just rotateY(45deg)." name="assert" />
+ <link href="reference/transform3d-rotatey-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatey(45deg) rotatey(360deg); width: 100px;
+ height: 100px; background: lime"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-001.xht
new file mode 100644
index 00000000000..6d72edb7ef2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d(2, 2, 2)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that scale3d(2, 2, 2) on some text
+ has the same effect as scaleX(2) scaleY(2). The Z part should be
+ irrelevant, because the text is flat." name="assert" />
+ <link href="reference/transform3d-scale-001-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: scale3D(2,2,2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-002.xht
new file mode 100644
index 00000000000..93c9c6c4100
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-002.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotatex(90deg) scale3d(2, 1, 2)
+ rotatex(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that rotatex(90deg)
+ scale3d(2, 1, 2) rotatex(-90deg) is the same as scalex(2) scaley(2).
+ Conjugating by the rotation swaps the Y and Z coordinates for the scale." name="assert" />
+ <link href="reference/transform3d-scale-001-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scale3D(2,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-003.xht
new file mode 100644
index 00000000000..780069308f9
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-003.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scaleX(2) scaleY(2) scaleZ(2)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This is the same as
+ transform3d-scale-001.html, except that it uses scaleX(2) scaleY(2)
+ scaleZ(2) instead of scale3D(2, 2, 2)." name="assert" />
+ <link href="reference/transform3d-scale-001-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: scaleX(2) scaleY(2) scaleZ(2); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-004.xht
new file mode 100644
index 00000000000..b66ed7cfbc0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-004.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): scale3d(2, 2, 0)</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-function-lists" rel="help" />
+ <meta content="This tests that scale3d(2, 2, 0), being
+ singular, causes the contents not to display." name="assert" />
+ <link href="reference/transform-blank-ref.xht" rel="match" />
+ </head>
+ <body>
+ <p>Nothing should appear except this sentence.</p>
+ <div style="transform: scale3d(2, 2, 0); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-005.xht
new file mode 100644
index 00000000000..f789eab5b80
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-005.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX(90deg) scale3d(1, 1, 2)
+ rotateX(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This tests that rotateX(90deg)
+ scale3d(1, 1, 2) rotateX(-90deg) is the same as scaleY(2). Conjugating by
+ the rotation swaps the Y and Z coordinates for the scale." name="assert" />
+ <link href="reference/transform3d-scale-005-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scale3D(1,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-006.xht
new file mode 100644
index 00000000000..21b084f2aa2
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-006.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX(90deg) scaleZ(2)
+ rotateX(-90deg)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale3d" rel="help" />
+ <meta content="This is identical to
+ transform3d-scale-005-ref.html, except with scaleZ(2) instead of
+ scale3d(1, 1, 2)." name="assert" />
+ <link href="reference/transform3d-scale-005-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform: rotatex(90deg) scaleZ(2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-007.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-007.xht
new file mode 100644
index 00000000000..09b5cdbe33b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-scale-007.xht
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): rotateX(180deg) scaleZ(-1)</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <meta content="This tests that rotateX(180deg) scaleZ(-1) is
+ the same as scaleY(-1). (The scaleZ(-1) should have no effect here.)" name="assert" />
+ <link href="reference/transform3d-scale-007-ref.xht" rel="match" />
+ <link href="reference/transform3d-scale-001-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: rotatex(180deg) scaleZ(-1); width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-001.xht
new file mode 100644
index 00000000000..e9f9d5120b0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="The red box here is translated in the negative
+ Z-direction, so it should render beneath the lime box even though it comes
+ later in DOM order." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style:preserve-3d">
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(-10px) translatey(-100px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-002.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-002.xht
new file mode 100644
index 00000000000..08cb7f5f296
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting With Rotation</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="The red box here is translated to the same
+ extent as the lime box, so they should render in stacking context order:
+ the lime box is on top, because it's later in the DOM. But then we apply
+ rotatex(180deg) to the whole thing, so the lime box should wind up on top
+ in the end." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; transform: rotatex(180deg)">
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px) translatey(100px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(10px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-003.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-003.xht
new file mode 100644
index 00000000000..3cb18009b91
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-003.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting With No Preserve-3D</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="The red box here is translated to above the
+ lime box, but they aren't in the same 3D rendering context, so they should
+ be drawn in DOM order regardless: lime box on top." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(-10px) translatey(-100px)"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-004.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-004.xht
new file mode 100644
index 00000000000..f4985cd4510
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-004.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Simple Sorting With Preserve-3D on
+ Grandparent</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="This is the same as
+ transform3d-sorting-003.html, except with two wrapper divs.
+ 'transform-style: preserve-3d' only affects children, not grandchildren, so
+ the two divs with backgrounds are still in different rendering contexts and
+ the Z-position should still not affect stacking." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div>
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ <div style="width: 100px; height: 100px; background: lime;
+ transform: translatez(-10px) translatey(-100px)"></div>
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-005.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-005.xht
new file mode 100644
index 00000000000..6523931ce2d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-005.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Sorting With Background on Parent</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="This tests that if a parent has
+ 'transform-style: preserve-3d', it's in the same rendering context as its
+ children. Thus the translateZ(10px) puts the child above it, and the
+ rotateX(180deg) puts it below, so the lime parent is rendered on top." name="assert" />
+ <link href="reference/transform-lime-square-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d; transform: rotateX(180deg);
+ width: 100px; height: 100px; background: lime">
+ <div style="width: 100px; height: 100px; background: red;
+ transform: translatez(10px)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-006.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-006.xht
new file mode 100644
index 00000000000..e84d7f44c52
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-sorting-006.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): Sorting With Intersection</title>
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-style-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <meta content="This tests that when two boxes intersect in a
+ simple fashion, they're rendered according to Newell's algorithm." name="assert" />
+ <link href="reference/transform3d-sorting-006-ref.xht" rel="match" />
+ </head>
+ <body>
+ <div style="transform-style: preserve-3d">
+ <div style="height: 100px; width: 100px; background: red;
+ transform: rotateX(45deg) rotateY(45deg)"></div>
+ <div style="height: 100px; width: 100px; background: green;
+ transform: translateY(-100px) rotateX(45deg) rotateY(-45deg)"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translate3d-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translate3d-001.xht
new file mode 100644
index 00000000000..fc5bc89aca0
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translate3d-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translate3d() vs. 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translate3d" rel="help" />
+ <meta content="This tests that translate3d() before and after
+ rotatex() is the same as an equivalent 'transform-origin'." name="assert" />
+ <link href="reference/transform3d-translate3d-ref.xht" rel="match" />
+ <link href="reference/transform-lime-square-ref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="perspective: 1000px">
+ <div style="transform: translate3d(10px, 30px, -10px) rotatex(45deg)
+ translate3d(-10px, -30px, 10px); transform-origin: 0 0 0; width: 100px;
+ height: 100px; background: lime"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translatez-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translatez-001.xht
new file mode 100644
index 00000000000..adc74c59813
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform3d-translatez-001.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test (Transforms): translatez() vs. 'transform-origin'</title>
+ <link href="mailto:mwoodrow@mozilla.com" rel="author" title="Matt Woodrow" />
+ <link href="mailto:ayg@aryeh.name" rel="author" title="Aryeh Gregor" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-origin-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#three-d-transform-functions" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#funcdef-translatez" rel="help" />
+ <meta content="This tests that translatez(+-10px) before and
+ after rotatex() is the same as an equivalent 'transform-origin', and
+ different from translatez(+-20px)." name="assert" />
+ <link href="reference/transform3d-translatez-ref.xht" rel="match" />
+ <link href="reference/transform3d-translatez-notref.xht" rel="mismatch" />
+ </head>
+ <body>
+ <div style="transform: translatez(-10px) rotatex(45deg) translatez(10px); transform-origin: 0 0 0; width: 100px; height: 100px;">
+ Test Text
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_invalid_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_invalid_prefixed.xht
new file mode 100644
index 00000000000..e5a83b00ede
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_invalid_prefixed.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with invalid translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform sets translate(null, null) that an expection is to be thrown" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(null, null)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(null, null)";
+ document.getElementById("test").style.msTransform = "translate(null, null)";
+ document.getElementById("test").style.oTransform = "translate(null, null)";
+ document.getElementById("test").style.transform = "translate(null, null)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(null, null)")},
+ "transform_translate_null_null");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_max_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_max_prefixed.xht
new file mode 100644
index 00000000000..e4216df282b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_max_prefixed.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with maximum translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform sets translate(INFINITE, INFINITE) that an expection is to be thrown" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(INFINITE, INFINITE)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.msTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.oTransform = "translate(INFINITE, INFINITE)";
+ document.getElementById("test").style.transform = "translate(INFINITE, INFINITE)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(INFINITE, INFINITE)")},
+ "transform_translate_max");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_min_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_min_prefixed.xht
new file mode 100644
index 00000000000..2107dc14345
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_min_prefixed.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with minimum translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform sets translate(-INFINITE, -INFINITE) that an expection is to be thrown" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(-INFINITE, -INFINITE)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.msTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.oTransform = "translate(-INFINITE, -INFINITE)";
+ document.getElementById("test").style.transform = "translate(-INFINITE, -INFINITE)"; */
+
+ // Verify that the transform was set as expected
+ var result;
+ var value;
+ try {
+ value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+ result = false;
+ } catch (e) {
+ result = true;
+ value = e.message;
+ }
+
+ test(function() {assert_true(result,
+ "transform should be translate(-INFINITE, -INFINITE)")},
+ "transform_translate_min_prefixed");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_neg_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_neg_prefixed.xht
new file mode 100644
index 00000000000..bcb98c69b76
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_neg_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with negative translation value</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(-1px, -1px)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(-1px, -1px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.msTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.oTransform = "translate(-1px, -1px)";
+ document.getElementById("test").style.transform = "translate(-1px, -1px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(-1px, -1px)",
+ "transform should be translate(-1px, - 1px)")},
+ "transform_translate_-1px_-1px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_prefixed.xht
new file mode 100644
index 00000000000..0568a123331
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(100px, 100px)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(100px, 100px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.msTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.oTransform = "translate(100px, 100px)";
+ document.getElementById("test").style.transform = "translate(100px, 100px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(100px, 100px)",
+ "transform should be translate(100px, 100px)")},
+ "transform_translate_100px_100px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_second_omited_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_second_omited_prefixed.xht
new file mode 100644
index 00000000000..c9cc404a977
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_second_omited_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate with second translation value omited</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(100px)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(100px)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(100px)";
+ document.getElementById("test").style.msTransform = "translate(100px)";
+ document.getElementById("test").style.oTransform = "translate(100px)";
+ document.getElementById("test").style.transform = "translate(100px)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(100px)",
+ "transform should be translate(100px)")},
+ "transform_translate_100px");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_zero_prefixed.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_zero_prefixed.xht
new file mode 100644
index 00000000000..829ac07a06b
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transform_translate_zero_prefixed.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform translate</title>
+ <link href="http://www.intel.com" rel="author" title="Intel" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <meta content="dom" name="flags" />
+ <meta content="Check if transform supports translate(0, 0)" name="assert" />
+ <script src="/resources/testharness.js" type="text/javascript"></script>
+ <script src="/resources/testharnessreport.js" type="text/javascript"></script>
+</head>
+<body>
+ <div id="test"></div>
+ <div id="log"></div>
+ <script type="text/javascript">
+ // Set the transform
+ document.getElementById("test").style.webkitTransform = "translate(0, 0)";
+ /* document.getElementById("test").style.mozkitTransform = "translate(0, 0)";
+ document.getElementById("test").style.msTransform = "translate(0, 0)";
+ document.getElementById("test").style.oTransform = "translate(0, 0)";
+ document.getElementById("test").style.transform = "translate(0, 0)"; */
+
+ // Verify that the transform was set as expected
+ var value = document.getElementById("test").style.getPropertyCSSValue("-webkit-transform").cssText;
+ /* var value = document.getElementById("test").style.getPropertyCSSValue("-moz-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-ms-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("-0-transform").cssText;
+ var value = document.getElementById("test").style.getPropertyCSSValue("transform").cssText; */
+
+ test(function() {assert_equals(value,
+ "translate(0px, 0px)",
+ "transform should be translate(0px, 0px)")},
+ "transform_translate_0_0");
+ </script>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-degree-90.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-degree-90.xht
new file mode 100644
index 00000000000..9f03f70c13a
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-degree-90.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-rotate-degree-90-ref.xht" rel="match" />
+ <meta content="If the rotate with parameter not provided, greenRectangle will not cover redRectangle." name="assert" />
+ <style type="text/css">
+ .greenRectangle {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 100px;
+ background: green;
+ transform: rotate(90deg);
+ }
+
+ .redRectangl {
+ position: absolute;
+ top: 75px;
+ left: 125px;
+ width: 100px;
+ height: 150px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green rectangle and no red.</p>
+ <div class="redRectangl"></div>
+ <div class="greenRectangle"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-translate-scale.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-translate-scale.xht
new file mode 100644
index 00000000000..7668a90f9e1
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotate-translate-scale.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with scale function and rotate function with one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-rotate-translate-scale-ref.xht" rel="match" />
+ <meta content="If the rotate and scale with parameter not provided, greenSquare will not cover redSquare." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 50px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translate(75px, 75px) scale(1.5, 1.5) rotate(90deg) ;
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 150px;
+ height: 150px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotateY-degree-60.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotateY-degree-60.xht
new file mode 100644
index 00000000000..129bf922ecc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-rotateY-degree-60.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with rotate function and one parameter</title>
+ <link href="mailto:7jikai@gmail.com" rel="author" title="Ji Kai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-rotateY-degree-60-ref.xht" rel="match" />
+ <style>
+ div {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ height: 100px;
+ width: 100px;
+ }
+
+ .transformed {
+ background-color: white;
+ transform: rotateY(60deg);
+ }
+
+ .back {
+ background-color: green;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there are two green rectangles.</p>
+ <div class="back"></div>
+ <div class="transformed"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewX.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewX.xht
new file mode 100644
index 00000000000..0f14449b7cc
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewX.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for X axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-03 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-skewX-ref.xht" rel="match" />
+ <meta content="If the skew for X axis not provided, greenSquare will not cover redSquare." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: skew(45deg,0deg);
+ }
+
+ .redSquare {
+ position: absolute;
+ top: 125px;
+ left: 200px;
+ width: 25px;
+ height: 25px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a parallelogram and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewY.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewY.xht
new file mode 100644
index 00000000000..db969bde41f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transforms-skewY.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with skew function for Y axis.</title>
+ <link href="mailto:jinxin.bai@gmail.com" rel="author" title="Jacy-Bai" />
+ <link href="mailto:shendayang@baidu.com" rel="reviewer" title="Dayang Shen" /> <!-- 2013-09-04 -->
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/transforms-skewY-ref.xht" rel="match" />
+ <meta content="If the skew for Y axis not provided, greenSquare will not cover redSquare." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: skew(0deg,45deg);
+ }
+ .redSquare {
+ position: absolute;
+ top: 200px;
+ left: 175px;
+ width: 25px;
+ height: 25px;
+ background: red;
+ }
+ </style>
+ </head>
+ <body>
+ <p>The test passes if there is a green parallelogram and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate-optional-second-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate-optional-second-001.xht
new file mode 100644
index 00000000000..e58e5ede905
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate-optional-second-001.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms Test: transform property with translate function and one parameter</title>
+ <link href="mailto:jian.andy.zhang@gmail.com" rel="author" title="Jian Zhang" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/translate-optional-second-ref.xht" rel="match" />
+ <meta content=" If the second parameter is not provided, it has zero as a value. This transform moves the element by 100 pixels in X direction." name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 50px;
+ left: 0;
+ width: 100px;
+ height: 100px;
+ background: green;
+ transform: translate(100px);
+ }
+ .redSquare {
+ position: absolute;
+ top: 51px;
+ left: 101px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate.xht
new file mode 100644
index 00000000000..07335204f7e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/translate.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: test translate</title>
+ <link href="xiatian@ebay.com" rel="author" title="Ebay Inc." />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <link href="reference/translate-ref.xht" rel="match" />
+ <meta content="" name="flags" />
+ <meta content="translate x, y " name="assert" />
+ <style type="text/css">
+ .container {
+ border: 1px solid gray;
+ width: 300px;
+ height: 300px;
+ }
+
+ .inner {
+ z-index: 98;
+ position: relative;
+ width: 100px;
+ height: 100px;
+ background-color: green;
+
+ //-webkit-transform: translate(100px, 100px);
+
+ //-o-transform:translate(100px, 100px) ;
+
+
+ transform: translate(100px, 100px);
+ }
+
+ .hidden {
+ z-index: 67;
+ position: relative;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background-color: red;
+ }
+ </style>
+
+ </head>
+ <body>
+ <p style="margin-top:70px;">You should see only one green area, no red area</p>
+
+ <div class="container">
+
+ <div class="inner">
+ </div>
+ <div class="hidden">
+ </div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-preserve-3d-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-preserve-3d-1.xht
new file mode 100644
index 00000000000..975e983bb4c
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-preserve-3d-1.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform preserve-3d</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transofrmed-preserve-3d-1-ref.xht" rel="match" />
+ <meta content="The transformed div should establishe a 3D rendering context" name="assert" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: red;
+ }
+ .transformed {
+ height: 300px;
+ position: relative;
+ top: -150px;
+ transform-origin: bottom left;
+ transform-style: preserve-3d;
+ transform: rotateX(60deg);
+ background-color: green;
+ }
+ .child {
+ transform-origin: top left;
+ transform: rotateX(30deg);
+ background-color: red;
+ }
+ </style>
+</head>
+
+<body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed">
+ <div class="child">
+ </div>
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateX-3.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateX-3.xht
new file mode 100644
index 00000000000..939d3d4fb86
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateX-3.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateX</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transofrmed-rotateX-3-ref.xht" rel="match" />
+ <meta content="The transformed div should rotateX by 180 degrees" name="assert" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ background-color: red;
+ }
+ .transformed {
+ transform-origin: top left;
+ transform: rotateX(180deg);
+ background-color: green;
+ position: relative;
+ top: 150px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed">
+ </div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateY-1.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateY-1.xht
new file mode 100644
index 00000000000..084a08eb7d6
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/transofrmed-rotateY-1.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotateY</title>
+ <link href="mailto:ylzcylx@gmail.com" rel="author" title="loveky" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/transofrmed-rotateY-1-ref.xht" rel="match" />
+ <meta content="The transformed div should rotate 90 degrees" name="assert" />
+ <style>
+ div {
+ height: 150px;
+ width: 150px;
+ }
+ .container {
+ border: 1px solid black;
+ background-color: green;
+ }
+ .transformed {
+ transform: rotateY(90deg);
+ background-color: red;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>You should only see a GREEN box if this test passes!</p>
+ <div class="container">
+ <div class="transformed"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle-mismatch.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle-mismatch.xht
new file mode 100644
index 00000000000..7122b29f79f
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle-mismatch.xht
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <!-- See also: http://http://en.wikipedia.org/wiki/Newell's_algorithm -->
+ <link href="reference/ttwf-css-3d-polygon-cycle-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's." name="assert" />
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red0 {
+ background-color: red;
+ left: 6px;
+ width: 100px;
+ height: 50px;
+ }
+ #green0 {
+ background-color: green;
+ top: 6px;
+ width: 50px;
+ height: 100px;
+ }
+ #blue0 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ }
+ #red1 {
+ background-color: red;
+ width: 100px;
+ height: 50px;
+ }
+ #green1 {
+ background-color: green;
+ width: 50px;
+ height: 100px;
+ }
+ #blue1 {
+ background-color: blue;
+ width: 50px;
+ height: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="blue0" class="rect"></div>
+ <div id="green0" class="rect"></div>
+ <div id="red0" class="rect"></div>
+ <div id="red1" class="rect"></div>
+ <div id="green1" class="rect"></div>
+ <div id="blue1" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle.xht
new file mode 100644
index 00000000000..39621bf2c71
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-css-3d-polygon-cycle.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><!-- Submitted from TestTWF Paris --><head>
+ <title>CSS Transforms Test: 3d transform polygon cycle</title>
+ <link href="mailto:leo.ziegler@gmail.com" rel="author" title="Leo Ziegler" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#3d-transform-rendering" rel="help" />
+ <!-- See also: http://http://en.wikipedia.org/wiki/Newell's_algorithm -->
+ <link href="reference/ttwf-css-3d-polygon-cycle-ref.xht" rel="match" />
+ <meta content="svg" name="flags" />
+ <meta content="The red, green and blue rectangles are forming a cycle, which should be detected and rendered using Newell Algorithm's." name="assert" />
+ <style type="text/css">
+ #container {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ }
+ .rect {
+ position: absolute;
+ }
+ #red {
+ background-color: red;
+ width: 200px;
+ height: 50px;
+ transform: rotateY(20deg);
+ }
+ #green {
+ background-color: green;
+ width: 50px;
+ height: 200px;
+ transform: rotateX(20deg);
+ }
+ #blue {
+ background-color: blue;
+ width: 50px;
+ height: 200px;
+ transform: rotate(45deg) translate(50px, -50px) rotateX(-20deg);
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there red is over green, green is over blue and blue is over red.</p>
+ <div id="container">
+ <div id="red" class="rect"></div>
+ <div id="green" class="rect"></div>
+ <div id="blue" class="rect"></div>
+ </div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-reftest-rotate.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-reftest-rotate.xht
new file mode 100644
index 00000000000..f5f8961b5b8
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-reftest-rotate.xht
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transforms API Test: transform rotate</title>
+ <link href="mailto:miked782000@yahoo.com" rel="author" title="Michael Downey" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions" rel="help" />
+ <link href="reference/ttwf-reftest-rotate-ref.xht" rel="match" />
+ <meta content="The transform should rotate 180 degrees" name="assert" />
+ <style type="text/css">
+ body {margin:0}
+ #greenSquare {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ background: green;
+ }
+ #relativeContainer {
+ position: relative;
+ }
+ #redSquare {
+ position: absolute;
+ top: 0px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ background: red;
+ }
+ #rotateSquare {
+ position:absolute;
+ top: 0px;
+ left: -100px;
+ width: 200px;
+ height: 100px;
+ transform:rotate(180deg)
+ }
+ </style>
+
+</head>
+<body>
+
+<p>The test passes if there is a green square and no red.</p>
+<div id="relativeContainer">
+ <div id="rotateSquare">
+ <div id="redSquare"></div>
+ <div id="greenSquare"></div>
+ </div>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewx-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewx-001.xht
new file mode 100644
index 00000000000..e6432548e1d
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewx-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using skewX() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-skewx-001.xht" rel="match" />
+ <meta content="Test that the green shape is skew on X axis by 45 degrees" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: skewX(45deg);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 50px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div>
+ <div class="redSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="100px" width="200px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="200,100 100,100 0,0 100,0 " fill="red"></polygon>
+ </svg>
+ </div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewy-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewy-001.xht
new file mode 100644
index 00000000000..24850563847
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-skewy-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using skewY() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-skewy-001.xht" rel="match" />
+ <meta content="Test that the green shape is skew on Y axis by 45 degrees" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: skewY(45deg);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 50px;
+ left: 100px;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green shape and no red.</p>
+ <div>
+ <div class="redSquare">
+ <svg xmlns:space="preserve" xmlns:xlink="http://www.w3.org/1999/xlink" height="200px" width="100px" xmlns:xmlns="http://www.w3.org/2000/svg" version="1.1" y="0px" x="0px" viewBox="0 0 100 200" xmlns="http://www.w3.org/2000/svg">
+ <polygon points="100,200 0,99.999 0,0 100,100 " fill="red"></polygon>
+ </svg>
+ </div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatex-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatex-001.xht
new file mode 100644
index 00000000000..0d43feaf675
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatex-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using translateX() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-translatex-001.xht" rel="match" />
+ <meta content="CSS Transform" name="flags" />
+ <meta content="Test that the green square is moved on X axis 100px" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 0px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: translateX(100px);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatey-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatey-001.xht
new file mode 100644
index 00000000000..f86c9cb8c5e
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/ttwf-transform-translatey-001.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Transform Using translateY() function</title>
+ <link href="mailto:mcorlan@adobe.com" rel="author" title="Mihai Corlan" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-property" rel="help" />
+ <link href="reference/ttwf-reftest-transform-translatey-001.xht" rel="match" />
+ <meta content="CSS Transform" name="flags" />
+ <meta content="Test that the green square is moved on Y axis 100px" name="assert" />
+ <style type="text/css">
+ .greenSquare {
+ position: absolute;
+ top: 100px;
+ left: 100px;
+ width: 100px;
+ height: 100px;
+ -webkit-transform: translateY(100px);
+ background: green;
+ }
+ .redSquare {
+ position: absolute;
+ top: 200px;
+ left: 100px;
+ width: 98px;
+ height: 98px;
+ background: red;
+ }
+ </style>
+</head>
+<body>
+ <p>The test passes if there is a green square and no red.</p>
+ <div>
+ <div class="redSquare"></div>
+ <div class="greenSquare"></div>
+ </div>
+
+</body></html> \ No newline at end of file
diff --git a/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/video-001.xht b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/video-001.xht
new file mode 100644
index 00000000000..2e299279c22
--- /dev/null
+++ b/tests/wpt/css-tests/css-transforms-1_dev/xhtml1print/video-001.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Regions: flowing a video in a region</title>
+ <link href="mailto:mibalan@adobe.com" rel="author" title="Mihai Balan" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" rel="help" />
+ <link href="http://www.w3.org/TR/css3-regions/#the-flow-from-property" rel="help" />
+ <link href="http://www.w3.org/TR/css-transforms-1/#transform-functions" rel="help" />
+ <meta content="Test checks videos flowed in regions render smoothly and without artifacts." name="assert" />
+ <style>
+ .flow {
+ flow-into: f;
+ }
+
+ .region {
+ flow-from: f;
+ width: 400px;
+ height: 300px;
+ }
+ .region p {
+ background-color: red;
+ height: 50%;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if you see two identical videos playing smoothly.<br />
+ Test fails if you see a red rectangle or if videos are out of sync.</p>
+
+ <video width="432" muted="" autoplay="" class="flow" controls="" height="240">
+ <source src="support/big-buck-bunny-240p.mp4" type="video/mp4" />
+ <source src="support/big-buck-bunny-240p.webm" type="video/webm" />
+ <source src="support/big-buck-bunny-240p.ogv" type="video/ogg" />
+ </video>
+ <video width="432" height="240" controls="" autoplay="">
+ <source src="support/big-buck-bunny-240p.mp4" type="video/mp4" />
+ <source src="support/big-buck-bunny-240p.webm" type="video/webm" />
+ <source src="support/big-buck-bunny-240p.ogv" type="video/ogg" />
+ </video>
+ <div class="region">
+ <p>&#xA0;</p>
+ </div>
+
+</body></html> \ No newline at end of file